diff --git a/.azure-pipelines-preproduction/package-lock.json b/.azure-pipelines-preproduction/package-lock.json index a061928d9a9d..5a137fd25979 100644 --- a/.azure-pipelines-preproduction/package-lock.json +++ b/.azure-pipelines-preproduction/package-lock.json @@ -5,9 +5,9 @@ "requires": true, "dependencies": { "@azure/avocado": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@azure/avocado/-/avocado-0.6.3.tgz", - "integrity": "sha512-OOCdgdwwt/PEYVesm1z1WVCX7YMNySdZX4RFN/+JI6u0nRsi+n3JHfwkytNyhSrwGKBY/OqUEyQcNFQkTw4OFg==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@azure/avocado/-/avocado-0.6.4.tgz", + "integrity": "sha512-tED+rfWh8Rhqg3huM8hXGDiAube8zpai9il687+sd5lTs3Or1sTNdTR8EdZRAnw1EghDp0csXbp32U+LQJsdoQ==", "dev": true, "requires": { "@azure/openapi-markdown": "^0.9.1", @@ -24,13 +24,17 @@ } }, "@azure/oad": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@azure/oad/-/oad-0.7.1.tgz", - "integrity": "sha512-KTlb+aQRFyKbd4ezie9wA5bthI+9Cia+j59PfYRyt8AD0L1RjW7DNvTXbpK7hOxRYPJdd/+1alczXRnWr99Pbw==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@azure/oad/-/oad-0.8.1.tgz", + "integrity": "sha512-Xl5vTMkfPkv0wVUgbvfITpaV07o6RIPOWpyPcCiZgQpkpfc0vsSh4SK3K4JSJ44z4BXTOhCSmkYgv/Zvtq/vSQ==", "dev": true, "requires": { "@ts-common/fs": "^0.2.0", - "@ts-common/json-parser": "^0.7.0", + "@ts-common/iterator": "^0.3.6", + "@ts-common/json": "^0.3.1", + "@ts-common/json-parser": "^0.9.0", + "@ts-common/source-map": "^0.5.0", + "@ts-common/string-map": "^0.3.0", "autorest": "^2.0.4407", "glob": "^7.1.3", "js-yaml": "^3.13.1", @@ -44,12 +48,13 @@ }, "dependencies": { "@ts-common/json-parser": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@ts-common/json-parser/-/json-parser-0.7.2.tgz", - "integrity": "sha512-Rb0bA/maGzfjA7ZegDvfDABF+vz2norftJX80aTOLb88gLd2+SnD6gYVg3nZH9FpA5/34JXFDvMs4Fb5GuPoew==", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@ts-common/json-parser/-/json-parser-0.9.0.tgz", + "integrity": "sha512-how0z/Ak7Bay+feIYfJFVV8UMw8Ky2Czoo5XwN7QigCOlN4HyW6wSNup4zrZ7t6NUB0002tW/+IOKCH2lAVJOg==", "dev": true, "requires": { - "@ts-common/iterator": "^0.3.4", + "@ts-common/add-position": "0.0.2", + "@ts-common/iterator": "^0.3.5", "@ts-common/json": "^0.3.1", "@ts-common/source-map": "^0.5.0", "@ts-common/string-map": "^0.3.0", @@ -88,20 +93,21 @@ } }, "@azure/rest-api-specs-scripts": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@azure/rest-api-specs-scripts/-/rest-api-specs-scripts-0.9.0.tgz", - "integrity": "sha512-RqIxuqDzLswM+F/3AQyMDEmEVGnL9rY448AMxpCqj14kRSl8saAmC2gvS8N2uGS/d9OD5SjCYfgt6Umx9LvF9Q==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@azure/rest-api-specs-scripts/-/rest-api-specs-scripts-0.10.2.tgz", + "integrity": "sha512-g7W4eSvbn2q5wOF0FCj2lZ2yXuASfmIsZoib8ms4LXfixnA8CL2uW4XiVUvx2KzdW1RCCdjgh5n+LfCywLe4jw==", "dev": true, "requires": { "@azure/avocado": "^0.4.1", - "@azure/oad": "^0.7.0", + "@azure/oad": "^0.8.1", + "@azure/swagger-validation-common": "^0.0.2", "@octokit/rest": "^16.42.0", "@ts-common/string-map": "^0.3.0", "commonmark": "0.27.0", "fs-extra": "^7.0.1", "glob": "^7.1.3", "js-yaml": "^3.13.1", - "oav": "0.21.5", + "oav": "^0.21.6", "request": "^2.88.0" }, "dependencies": { @@ -152,6 +158,12 @@ } } }, + "@azure/swagger-validation-common": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@azure/swagger-validation-common/-/swagger-validation-common-0.0.2.tgz", + "integrity": "sha512-/OTgP3USqq2Cko6vzDgmODpqGjk9eTANYMBMXtgsTgh9RtR6b3HZdQTPe5dqkqes/YoIBW8IarJ0B0HucAv1+A==", + "dev": true + }, "@microsoft.azure/autorest-extension-base": { "version": "1.0.13", "resolved": "https://registry.npmjs.org/@microsoft.azure/autorest-extension-base/-/autorest-extension-base-1.0.13.tgz", @@ -178,21 +190,21 @@ "dev": true }, "@octokit/auth-token": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.0.tgz", - "integrity": "sha512-eoOVMjILna7FVQf96iWc3+ZtE/ZT6y8ob8ZzcqKY1ibSQCnu4O/B7pJvzMx5cyZ/RjAff6DAdEb0O0Cjcxidkg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.1.tgz", + "integrity": "sha512-NB81O5h39KfHYGtgfWr2booRxp2bWOJoqbWwbyUg2hw6h35ArWYlAST5B3XwAkbdcx13yt84hFXyFP5X0QToWA==", "dev": true, "requires": { - "@octokit/types": "^2.0.0" + "@octokit/types": "^4.0.1" } }, "@octokit/endpoint": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.1.tgz", - "integrity": "sha512-pOPHaSz57SFT/m3R5P8MUu4wLPszokn5pXcB/pzavLTQf2jbU+6iayTvzaY6/BiotuRS0qyEUkx3QglT4U958A==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.2.tgz", + "integrity": "sha512-xs1mmCEZ2y4shXCpFjNq3UbmNR+bLzxtZim2L0zfEtj9R6O6kc4qLDvYw66hvO6lUsYzPTM5hMkltbuNAbRAcQ==", "dev": true, "requires": { - "@octokit/types": "^2.11.1", + "@octokit/types": "^4.0.1", "is-plain-object": "^3.0.0", "universal-user-agent": "^5.0.0" }, @@ -215,6 +227,17 @@ "dev": true, "requires": { "@octokit/types": "^2.0.1" + }, + "dependencies": { + "@octokit/types": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", + "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", + "dev": true, + "requires": { + "@types/node": ">= 8" + } + } } }, "@octokit/plugin-request-log": { @@ -231,17 +254,28 @@ "requires": { "@octokit/types": "^2.0.1", "deprecation": "^2.3.1" + }, + "dependencies": { + "@octokit/types": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", + "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", + "dev": true, + "requires": { + "@types/node": ">= 8" + } + } } }, "@octokit/request": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.2.tgz", - "integrity": "sha512-zKdnGuQ2TQ2vFk9VU8awFT4+EYf92Z/v3OlzRaSh4RIP0H6cvW1BFPXq4XYvNez+TPQjqN+0uSkCYnMFFhcFrw==", + "version": "5.4.4", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.4.tgz", + "integrity": "sha512-vqv1lz41c6VTxUvF9nM+a6U+vvP3vGk7drDpr0DVQg4zyqlOiKVrY17DLD6de5okj+YLHKcoqaUZTBtlNZ1BtQ==", "dev": true, "requires": { "@octokit/endpoint": "^6.0.1", "@octokit/request-error": "^2.0.0", - "@octokit/types": "^2.11.1", + "@octokit/types": "^4.0.1", "deprecation": "^2.0.0", "is-plain-object": "^3.0.0", "node-fetch": "^2.3.0", @@ -250,12 +284,12 @@ }, "dependencies": { "@octokit/request-error": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.0.tgz", - "integrity": "sha512-rtYicB4Absc60rUv74Rjpzek84UbVHGHJRu4fNVlZ1mCcyUPPuzFfG9Rn6sjHrd95DEsmjSt1Axlc699ZlbDkw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.1.tgz", + "integrity": "sha512-5lqBDJ9/TOehK82VvomQ6zFiZjPeSom8fLkFVLuYL3sKiIb5RB8iN/lenLkY7oBmyQcGP7FBMGiIZTO8jufaRQ==", "dev": true, "requires": { - "@octokit/types": "^2.0.0", + "@octokit/types": "^4.0.1", "deprecation": "^2.0.0", "once": "^1.4.0" } @@ -280,6 +314,17 @@ "@octokit/types": "^2.0.0", "deprecation": "^2.0.0", "once": "^1.4.0" + }, + "dependencies": { + "@octokit/types": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", + "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", + "dev": true, + "requires": { + "@types/node": ">= 8" + } + } } }, "@octokit/rest": { @@ -307,9 +352,9 @@ } }, "@octokit/types": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.15.0.tgz", - "integrity": "sha512-0mnpenB8rLhBVu8VUklp38gWi+EatjvcEcLWcdProMKauSaQWWepOAybZ714sOGsEyhXPlIcHICggn8HUsCXVw==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-4.1.4.tgz", + "integrity": "sha512-W+aHUBA6pEZ8OC1fgfFW1/jrgtkaMVBhNr7jhhBErvbWQY4Ii9Hlf3LAurwcy5XXjz8EYluiCZjHhnQO4GSfNg==", "dev": true, "requires": { "@types/node": ">= 8" @@ -740,9 +785,9 @@ "dev": true }, "aws4": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", - "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", + "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==", "dev": true }, "balanced-match": { @@ -3715,9 +3760,9 @@ } }, "moment": { - "version": "2.25.3", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.25.3.tgz", - "integrity": "sha512-PuYv0PHxZvzc15Sp8ybUCoQ+xpyPWvjOuK72a5ovzp2LI32rJXOiIfyoFoYvG3s6EwwrdkMyWuRiEHSZRLJNdg==", + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.26.0.tgz", + "integrity": "sha512-oIixUO+OamkUkwjhAVE18rAMfRJNsNe/Stid/gwHSOfHrOtw9EhAY2AHvdKZ/k/MggcYELFCJz/Sn2pL8b8JMw==", "dev": true }, "ms": { @@ -3850,9 +3895,9 @@ "dev": true }, "oav": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/oav/-/oav-0.21.5.tgz", - "integrity": "sha512-UgF51hAZArAI9r4tSUCgJE8IYeh5Q3SLcCukwZ6jrWyG3Y8vXKl12Cs2ycGrbQg16Ygf2v2+Dkhx4RHh7uOyfw==", + "version": "0.21.6", + "resolved": "https://registry.npmjs.org/oav/-/oav-0.21.6.tgz", + "integrity": "sha512-zPLaeYuQh1aJND/e2BBLMXAy1qKvHVPido6byoC4K2wsM3MdIFrK0QePBMUXA9gZjNb6HO5oaRuM5uCEeFaxjg==", "dev": true, "requires": { "@azure/openapi-markdown": "^0.9.2", @@ -5056,9 +5101,9 @@ "dev": true }, "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -5072,9 +5117,9 @@ "dev": true }, "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, "requires": { "spdx-exceptions": "^2.1.0", @@ -5471,9 +5516,9 @@ "dev": true }, "uglify-js": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.9.2.tgz", - "integrity": "sha512-zGVwKslUAD/EeqOrD1nQaBmXIHl1Vw371we8cvS8I6mYK9rmgX5tv8AAeJdfsQ3Kk5mGax2SVV/AizxdNGhl7Q==", + "version": "3.9.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.9.4.tgz", + "integrity": "sha512-8RZBJq5smLOa7KslsNsVcSH+KOXf1uDU8yqLeNuVKwmT0T3FA0ZoXlinQfRad7SDcbZZRZE4ov+2v71EnxNyCA==", "dev": true, "optional": true, "requires": { diff --git a/.azure-pipelines-preproduction/package.json b/.azure-pipelines-preproduction/package.json index fb99f8c689a5..e7d2d90308ab 100644 --- a/.azure-pipelines-preproduction/package.json +++ b/.azure-pipelines-preproduction/package.json @@ -10,8 +10,8 @@ "description": "Tests for Azure REST API Specifications", "license": "MIT", "devDependencies": { - "@azure/avocado": "^0.6.3", - "@azure/rest-api-specs-scripts": "^0.9.0", + "@azure/avocado": "^0.6.4", + "@azure/rest-api-specs-scripts": "^0.10.2", "@ts-common/commonmark-to-markdown": "^1.2.0", "@ts-common/fs": "0.2.0", "@ts-common/iterator": "^0.3.6", diff --git a/.azure-pipelines/NetworkValidation.yml b/.azure-pipelines/NetworkValidation.yml index 17784464b8c9..8b3ed7dd40c0 100644 --- a/.azure-pipelines/NetworkValidation.yml +++ b/.azure-pipelines/NetworkValidation.yml @@ -18,7 +18,7 @@ jobs: displayName: Install Node.js - script: npm install autorest -g displayName: Install autorest - - script: git clone --depth 1 -- https://dev.azure.com/v-anevse/BuildScripts/_git/BuildScripts ..\BuildScripts + - script: git clone --depth 1 -- https://dev.azure.com/nrp-swagger/swagger-stack/_git/automation-scripts ..\BuildScripts displayName: Clone build tools - powershell: | $swgrPath = (Get-Item ".\").FullName diff --git a/.azure-pipelines/SDKAutomation.yml b/.azure-pipelines/SDKAutomation.yml index 6e481cdb9139..da696e39c823 100644 --- a/.azure-pipelines/SDKAutomation.yml +++ b/.azure-pipelines/SDKAutomation.yml @@ -23,6 +23,7 @@ jobs: BLOB_STORAGE_PREFIX: sdkautomation-pipeline SPEC_REPO: $(Build.Repository.Name) PR_NUMBER: $(System.PullRequest.PullRequestNumber) + BUILD_ID: $(Build.BuildId) strategy: matrix: Net: @@ -33,6 +34,8 @@ jobs: SDK_REPO_NAME: azure-sdk-for-js Python: SDK_REPO_NAME: azure-sdk-for-python + PythonT2: + SDK_REPO_NAME: azure-sdk-for-python-track2 Cliextension: SDK_REPO_NAME: azure-cli-extensions Go: @@ -69,6 +72,8 @@ jobs: -e SPEC_REPO \ -e PR_NUMBER \ -e SDK_REPO_NAME \ + -e AZURE_DEVOPS_EXT_PAT \ + -e BUILD_ID \ sdk-automation:latest npm start env: BLOB_STORAGE_NAME: $(blob-storage-name) @@ -76,4 +81,5 @@ jobs: GITHUB_COMMENT_AUTHOR_NAME: $(github-comment-author-name) GITHUBAPP_ID: $(githubapp-id) GITHUBAPP_PRIVATE_KEY: $(githubapp-private-key) + AZURE_DEVOPS_EXT_PAT: $(azure-devops-ext-pat) displayName: SDK Automation diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 408cffef6ef6..b8293d9af7b5 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -2,10 +2,10 @@ ### Contribution checklist: -- [ ] I have reviewed the [documentation](https://dev.azure.com/azure-sdk/internal/_wiki/wikis/internal.wiki/202/Overall-Process-of-AME-Onboarding) for the workflow. -- [ ] [Validation tools](https://dev.azure.com/azure-sdk/internal/_wiki/wikis/internal.wiki/84/Swagger-Validation-tools) were run on swagger spec(s) and have all been fixed in this PR. [How to fix?](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/ci-fix.md) +- [ ] 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) -If any further question about AME onboarding or validation tools, please view the [FAQ](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/FAQ.md). +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. @@ -17,4 +17,4 @@ If any further question about AME onboarding or validation tools, please view th 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 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://dev.azure.com/azure-sdk/internal/_wiki/wikis/internal.wiki/212/Swagger-PR-Review). +Please follow the link to find more details on [API review process](https://aka.ms/SwaggerPRReview). diff --git a/.github/issue_assignment.yml b/.github/issue_assignment.yml new file mode 100644 index 000000000000..a6bd179385b2 --- /dev/null +++ b/.github/issue_assignment.yml @@ -0,0 +1,22 @@ +--- +- rule: + booleanFilterExpression: "needs-triage" + assignees: + - yungezz + - zikalino + - erich-wang + - NullMDR + - raych1 + - lirenhe + - weidongxu-microsoft + - ArcturusZhang + - xccc-msft + - ChenTanyi + - fengzhou-msft + - njuCZ + - akning-ms + - markcowl + - leni-msft + - qianwens + - ruowan + - MyronFanQiu diff --git a/.github/pull_request_assignment.yml b/.github/pull_request_assignment.yml new file mode 100644 index 000000000000..e32d1ce22ba2 --- /dev/null +++ b/.github/pull_request_assignment.yml @@ -0,0 +1,154 @@ +--- +- 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/sla.yml b/.github/sla.yml index efba90d3224e..f0ce3592d482 100644 --- a/.github/sla.yml +++ b/.github/sla.yml @@ -20,7 +20,7 @@ trigger: - time args: - booleanFilterExpression: "!(NotReadyForReview||WaitForARMFeedback||WaitForARMRevisit||Approved-OkToMerge||(DoNotMerge&&(ARMSignedOff||Approved)))" + booleanFilterExpression: "!(NotReadyForReview||Reviewed-ChangesRequired||WaitForARMFeedback||WaitForARMRevisit||Approved-OkToMerge||(DoNotMerge&&(ARMSignedOff||Approved)))" limit: 48h message: '

Dear Swagger reviewer,

The PR ${URL} requires your attention. You receive the email either because PR author put on the label "WaitForReviewVisit", or because the PR has not been updated for over 48 hours.

The PR labeled with ${LABELS}

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 respond to the PR ${URL}" @@ -64,7 +64,9 @@ name: "send email to PR author" trigger: - label + - time args: + limit: 72h booleanFilterExpression: (Reviewed-ChangesRequired||ARMChangeRequest) 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}" diff --git a/CODEOWNERS b/CODEOWNERS index dee3983a317b..3548df4fa2ef 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -12,7 +12,7 @@ /specification/cognitiveservices/ @felixwa @yangyuan /specification/compute/ @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 @@ -66,7 +66,7 @@ /specification/servicebus/ @sazeesha @v-ajnava /specification/servicefabric/ @juhacket @samedder /specification/sql/ @dnayantara @jaredmoo @nathannfan -/specification/storage/ @blueww @jasonyang-msft @xiaonlimsft +/specification/storage/ @blueww @jasonyang-msft @xiaonlimsft @kasobol-msft /specification/storageimportexport/ @leoz-ms /specification/storagesync/ @ankushbindlish2 /specification/storsimple8000series/ @manaas-microsoft diff --git a/custom-words.txt b/custom-words.txt index 3a5c2da39997..0aa7135edfb9 100644 --- a/custom-words.txt +++ b/custom-words.txt @@ -1,4 +1,7 @@ -AADDS +A128CBCPAD +A192CBCPAD +A256CBCPAD +AADDS aadiam AADP AATP @@ -115,6 +118,7 @@ australiaeast australiasoutheast authenticatable Authenticode +authorityURL authorizationrules authprovider authproviders @@ -187,6 +191,7 @@ BCDR BCWG beider Bfor +bfqt bigint Bigram bigrams @@ -264,6 +269,8 @@ CIDR CIDRs CIFS ciphertext +claimCondition +claimType clfs Clickthrough clientaccesspolicy @@ -330,6 +337,8 @@ costcenter costinsights costmanagement Couchbase +cpim +CPIM creatable createconsumergroup createorupdate @@ -458,6 +467,7 @@ domainservices DOTALL DRMs dsmax +DTDL Dtus duration'PT EAPMSCHA @@ -499,6 +509,7 @@ ErrorSchema Español estaba Etag +etags Ethereum evalue evaluateautoscale @@ -507,6 +518,7 @@ eventgrid Eventhub eventhubconnections eventhubs +eventroutes eventtime eventtypes EWDG @@ -574,6 +586,7 @@ GC'd GCMAES gdpr genderless +generatelivetoken generateverificationcode generatevpnclientpackage generatevpnprofile @@ -632,6 +645,7 @@ Hardenings hbase hbasephoenix hcatalog +HCRP HDFS hdinsight Headnode @@ -679,6 +693,7 @@ imagesearch IMDS importdevices Inbuild +incomingrelationships indic inferencing Informations @@ -910,6 +925,7 @@ modelmanagement MODIFYACLENTRIES monitoringconfiguration monitoringconfigurations +Monospace MPNS MSAZR MSAZRDE @@ -1011,6 +1027,7 @@ octokit Odata odatatype ODBC +officedocument OLTP onboarded Onboarding @@ -1027,6 +1044,7 @@ openapi opencode opencontainers openid +openxmlformats operationalinsights Operationalization operationresults @@ -1146,6 +1164,7 @@ pullrequest Purgeable pushdown pushsettings +pwsh Pyspark pytorch QFEs @@ -1154,6 +1173,7 @@ qloguniform qnamaker qnas qnormal +Qssw querylogs querypool querystring @@ -1173,6 +1193,7 @@ randint Rankable ratelimit ravbhatnagar +rawwebsockets rawxml rbac rdbms @@ -1254,6 +1275,7 @@ resourcename resourceregion resourcetype Responsys +RESTAPI restoreheartbeat Restproxy restype @@ -1301,6 +1323,7 @@ runcounts runid runsource runtimes +rwdlacup rwxrw Saas salesforcetables @@ -1440,6 +1463,7 @@ storageaccount storageaccounts storagedatalake storageimportexport +storagesources storagesync storagetarget storageuri @@ -1725,6 +1749,7 @@ Widevine windowsazuremediaservices windowsesu wlmengg +wordprocessingml workbooktemplates Workernode workloadmonitor @@ -1738,6 +1763,7 @@ XBing Xeon Xero XSMB +XVCJ Yucatec Ywhk YYMMDD @@ -1770,3 +1796,17 @@ userprincipalname sessionstate sessionhosts hostpool +securitydomain +securitydomaindownloadpost +securitydomaintransferkey +securitydomainuploadoperation +securitydomainoperationstatus +transferkey +Alexa +regeneratekeys +Directline +Keyschannel +azureADMetrics +sparkr +ambari +dotnetspark 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/openapi-authoring-automated-guidelines.md b/documentation/openapi-authoring-automated-guidelines.md index 881a07c81624..848f8f89f120 100644 --- a/documentation/openapi-authoring-automated-guidelines.md +++ b/documentation/openapi-authoring-automated-guidelines.md @@ -54,6 +54,8 @@ We request OpenAPI(Swagger) spec authoring be assigned to engineers who have an | [R3021](#r3021) | [PathResourceTypeNameCamelCase](#r3021) | ARM OpenAPI(swagger) specs | | [R4004](#r4004) | [OperationIdRequired](#r4004) | ARM OpenAPI(swagger) specs | | [R4007](#r4007) | [DefaultErrorResponseSchema](#r4007) | ARM OpenAPI(swagger) specs | +| [R4010](#r4010) | [RequiredDefaultResponse](#r4010) | ARM OpenAPI(swagger) specs | +| [R4011](#r4011) | [DeleteOperationResponses](#r4011) | ARM OpenAPI(swagger) specs | #### ARM Warnings @@ -64,6 +66,7 @@ We request OpenAPI(Swagger) spec authoring be assigned to engineers who have an | [R2057](#r2057) | [InvalidSkuModel](#r2057) | ARM OpenAPI(swagger) specs | | [R3010](#r3010) | [TrackedResourceListByImmediateParent](#r3010) | ARM OpenAPI(swagger) specs | | [R2004](#r2004) | [NonApplicationJsonType](#r2004) | ARM OpenAPI(swagger) specs | +| [R4009](#r4009) | [RequiredSystemDataInNewApiVersions](#r4009) | ARM OpenAPI(swagger) specs | ### SDK Violations @@ -99,6 +102,8 @@ We request OpenAPI(Swagger) spec authoring be assigned to engineers who have an | [R3029](#r3029) | [EnumMustNotHaveEmptyValue](#r3024) | ARM and Data plan OpenAPI(swagger) specs | | [R4005](#r4005) | [UniqueXmsEnumName](#r4005) | ARM and Data plane OpenAPI(swagger) specs | | [R4008](#r4008) | [AvoidEmptyResponseSchema](#r4008) | ARM OpenAPI(swagger) specs | +| [R4012](#r4012) | [XmsPageableMustHaveCorrespondingResponse](#r4012) | ARM OpenAPI(swagger) specs | +| [R4013](#r4013) | [IntegerTypeMustHaveFormat](#r4013) | ARM OpenAPI(swagger) specs | #### SDK Warnings @@ -2394,3 +2399,187 @@ The following would be invalid: } ... ``` +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) + +### R4009 RequiredSystemDataInNewApiVersion + +**Category** : ARM Warning + +**Applies to** : ARM OpenAPI(swagger) specs + +**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: +``` json + "systemData": { + "$ref": "#/definitions/SystemData" + } +``` + +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) + +### R4010 RequiredDefaultResponse + +**Category** : ARM Error + +**Applies to** : ARM OpenAPI(swagger) specs + +**Output Message** : The response is defined without a default error response implementation,please add it. + +**Description** : Per ARM Specs, every operation must have a default error response implementation. + +**CreatedAt**: May 21, 2020 + +**LastModifiedAt**: May 21, 2020 + +**How to fix the violation**: For each operation response, please add a default error response implementation: +The following would be valid: + +```json +... + "responses":{ + "default": { + "schema":{ + "$ref":#/definiton/Error + } + } + } +... +``` + +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) + + +### R4011 DeleteOperationResponses + +**Category** : ARM Error + +**Applies to** : ARM OpenAPI(swagger) specs + +**Output Message** : The delete operation is defined without a 200 or 204 error response implementation,please add it. + +**Description** : Per ARM Specs, all DELETE methods must have responses code implementation: 200, 204.    + +**CreatedAt**: May 21, 2020 + +**LastModifiedAt**: May 21, 2020 + +**How to fix the violation**: For each operation response, please add the missing code response implementation: + +The following would be valid: + +```json +... +"path1":{ + "delete": { + "parameters": [ + ..... + ..... + ] + "responese":{ + "default": { + "schema":{ + "$ref":#/definiton/Error + } + }, + "200": { + "schema":{ + "$ref":#/definiton/response + } + }, + "204": { + "schema":{ + "$ref":#/definiton/resonse + } + } + } + } +} +... +``` +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) + +### R4012 XmsPageableMustHaveCorrespondingResponse + +**Category** : SDK Error + +**Applies to** : ARM OpenAPI(swagger) specs + +**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. + +**CreatedAt**: May 21, 2020 + +**LastModifiedAt**: May 21, 2020 + +**How to fix the violation**: Add the missing corresponding property like nextLink in response: + +The following would be valid: + +```json +... +"get":{ + .... + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + .... + "responese":{ + "200": { + "schema":{ + "description": "The list of metric items.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of operations.", + "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) + +### R4013 IntegerTypeMustHaveFormat + +**Category** : SDK Error + +**Applies to** : ARM OpenAPI(swagger) specs + +**Output Message** : The integer type does not have a format, please add it. + +**Description** : The type:integer must have a required format. Possible value for format are int32 and int64. + +**CreatedAt**: May 21, 2020 + +**LastModifiedAt**: May 21, 2020 + +**Why this rule is important**: Right now it's possible to type a field as integer, but not specifying format. It actually creates problems for generate when the number of bits matter, like C#. + +**How to fix the violation**: Add the correct format for integer type: + +The following would be valid: + +```json +... + "incomingChanges": { + "type": "integer", + "format": "int64", + .... + } +... +``` +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/package-lock.json b/package-lock.json index 210ac693bff4..85b829ee2129 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,14 +24,18 @@ } }, "@azure/oad": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@azure/oad/-/oad-0.7.0.tgz", - "integrity": "sha512-voz6Q71GmJpRAThFG5aDWqHiQCc6eL1ajAR0JqbqCsqStQdBauGkGZhOeawkNJIgHnFY3GG9GO/fWhfp36uBWg==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@azure/oad/-/oad-0.8.1.tgz", + "integrity": "sha512-Xl5vTMkfPkv0wVUgbvfITpaV07o6RIPOWpyPcCiZgQpkpfc0vsSh4SK3K4JSJ44z4BXTOhCSmkYgv/Zvtq/vSQ==", "dev": true, "requires": { "@ts-common/fs": "^0.2.0", - "@ts-common/json-parser": "^0.7.0", - "autorest": "^2.0.0", + "@ts-common/iterator": "^0.3.6", + "@ts-common/json": "^0.3.1", + "@ts-common/json-parser": "^0.9.0", + "@ts-common/source-map": "^0.5.0", + "@ts-common/string-map": "^0.3.0", + "autorest": "^2.0.4407", "glob": "^7.1.3", "js-yaml": "^3.13.1", "json-pointer": "^0.6.0", @@ -44,12 +48,13 @@ }, "dependencies": { "@ts-common/json-parser": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@ts-common/json-parser/-/json-parser-0.7.2.tgz", - "integrity": "sha512-Rb0bA/maGzfjA7ZegDvfDABF+vz2norftJX80aTOLb88gLd2+SnD6gYVg3nZH9FpA5/34JXFDvMs4Fb5GuPoew==", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@ts-common/json-parser/-/json-parser-0.9.0.tgz", + "integrity": "sha512-how0z/Ak7Bay+feIYfJFVV8UMw8Ky2Czoo5XwN7QigCOlN4HyW6wSNup4zrZ7t6NUB0002tW/+IOKCH2lAVJOg==", "dev": true, "requires": { - "@ts-common/iterator": "^0.3.4", + "@ts-common/add-position": "0.0.2", + "@ts-common/iterator": "^0.3.5", "@ts-common/json": "^0.3.1", "@ts-common/source-map": "^0.5.0", "@ts-common/string-map": "^0.3.0", @@ -88,20 +93,21 @@ } }, "@azure/rest-api-specs-scripts": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/@azure/rest-api-specs-scripts/-/rest-api-specs-scripts-0.7.3.tgz", - "integrity": "sha512-MULXD2VulATyfslUDJq8q6yY5sNXv7n5Esqn9fd84qmFMtsbKNHef5gQ1p450mefpqrWMgB5XX4H5YGmOMBDmw==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@azure/rest-api-specs-scripts/-/rest-api-specs-scripts-0.10.2.tgz", + "integrity": "sha512-g7W4eSvbn2q5wOF0FCj2lZ2yXuASfmIsZoib8ms4LXfixnA8CL2uW4XiVUvx2KzdW1RCCdjgh5n+LfCywLe4jw==", "dev": true, "requires": { "@azure/avocado": "^0.4.1", - "@azure/oad": "^0.7.0", + "@azure/oad": "^0.8.1", + "@azure/swagger-validation-common": "^0.0.2", "@octokit/rest": "^16.42.0", "@ts-common/string-map": "^0.3.0", "commonmark": "0.27.0", "fs-extra": "^7.0.1", "glob": "^7.1.3", "js-yaml": "^3.13.1", - "oav": "0.21.5", + "oav": "^0.21.6", "request": "^2.88.0" }, "dependencies": { @@ -152,6 +158,12 @@ } } }, + "@azure/swagger-validation-common": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@azure/swagger-validation-common/-/swagger-validation-common-0.0.2.tgz", + "integrity": "sha512-/OTgP3USqq2Cko6vzDgmODpqGjk9eTANYMBMXtgsTgh9RtR6b3HZdQTPe5dqkqes/YoIBW8IarJ0B0HucAv1+A==", + "dev": true + }, "@microsoft.azure/autorest-extension-base": { "version": "1.0.13", "resolved": "https://registry.npmjs.org/@microsoft.azure/autorest-extension-base/-/autorest-extension-base-1.0.13.tgz", @@ -178,21 +190,21 @@ "dev": true }, "@octokit/auth-token": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.0.tgz", - "integrity": "sha512-eoOVMjILna7FVQf96iWc3+ZtE/ZT6y8ob8ZzcqKY1ibSQCnu4O/B7pJvzMx5cyZ/RjAff6DAdEb0O0Cjcxidkg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.1.tgz", + "integrity": "sha512-NB81O5h39KfHYGtgfWr2booRxp2bWOJoqbWwbyUg2hw6h35ArWYlAST5B3XwAkbdcx13yt84hFXyFP5X0QToWA==", "dev": true, "requires": { - "@octokit/types": "^2.0.0" + "@octokit/types": "^4.0.1" } }, "@octokit/endpoint": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.1.tgz", - "integrity": "sha512-pOPHaSz57SFT/m3R5P8MUu4wLPszokn5pXcB/pzavLTQf2jbU+6iayTvzaY6/BiotuRS0qyEUkx3QglT4U958A==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.2.tgz", + "integrity": "sha512-xs1mmCEZ2y4shXCpFjNq3UbmNR+bLzxtZim2L0zfEtj9R6O6kc4qLDvYw66hvO6lUsYzPTM5hMkltbuNAbRAcQ==", "dev": true, "requires": { - "@octokit/types": "^2.11.1", + "@octokit/types": "^4.0.1", "is-plain-object": "^3.0.0", "universal-user-agent": "^5.0.0" }, @@ -215,6 +227,17 @@ "dev": true, "requires": { "@octokit/types": "^2.0.1" + }, + "dependencies": { + "@octokit/types": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", + "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", + "dev": true, + "requires": { + "@types/node": ">= 8" + } + } } }, "@octokit/plugin-request-log": { @@ -231,17 +254,28 @@ "requires": { "@octokit/types": "^2.0.1", "deprecation": "^2.3.1" + }, + "dependencies": { + "@octokit/types": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", + "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", + "dev": true, + "requires": { + "@types/node": ">= 8" + } + } } }, "@octokit/request": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.2.tgz", - "integrity": "sha512-zKdnGuQ2TQ2vFk9VU8awFT4+EYf92Z/v3OlzRaSh4RIP0H6cvW1BFPXq4XYvNez+TPQjqN+0uSkCYnMFFhcFrw==", + "version": "5.4.4", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.4.tgz", + "integrity": "sha512-vqv1lz41c6VTxUvF9nM+a6U+vvP3vGk7drDpr0DVQg4zyqlOiKVrY17DLD6de5okj+YLHKcoqaUZTBtlNZ1BtQ==", "dev": true, "requires": { "@octokit/endpoint": "^6.0.1", "@octokit/request-error": "^2.0.0", - "@octokit/types": "^2.11.1", + "@octokit/types": "^4.0.1", "deprecation": "^2.0.0", "is-plain-object": "^3.0.0", "node-fetch": "^2.3.0", @@ -250,12 +284,12 @@ }, "dependencies": { "@octokit/request-error": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.0.tgz", - "integrity": "sha512-rtYicB4Absc60rUv74Rjpzek84UbVHGHJRu4fNVlZ1mCcyUPPuzFfG9Rn6sjHrd95DEsmjSt1Axlc699ZlbDkw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.1.tgz", + "integrity": "sha512-5lqBDJ9/TOehK82VvomQ6zFiZjPeSom8fLkFVLuYL3sKiIb5RB8iN/lenLkY7oBmyQcGP7FBMGiIZTO8jufaRQ==", "dev": true, "requires": { - "@octokit/types": "^2.0.0", + "@octokit/types": "^4.0.1", "deprecation": "^2.0.0", "once": "^1.4.0" } @@ -280,6 +314,17 @@ "@octokit/types": "^2.0.0", "deprecation": "^2.0.0", "once": "^1.4.0" + }, + "dependencies": { + "@octokit/types": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", + "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", + "dev": true, + "requires": { + "@types/node": ">= 8" + } + } } }, "@octokit/rest": { @@ -307,9 +352,9 @@ } }, "@octokit/types": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.11.1.tgz", - "integrity": "sha512-QaLoLkmFdfoNbk3eOzPv7vKrUY0nRJIYmZDoz/pTer4ICpqu80aSQTVHnnUxEFuURCiidig76CcxUOYC/bY3RQ==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-4.1.4.tgz", + "integrity": "sha512-W+aHUBA6pEZ8OC1fgfFW1/jrgtkaMVBhNr7jhhBErvbWQY4Ii9Hlf3LAurwcy5XXjz8EYluiCZjHhnQO4GSfNg==", "dev": true, "requires": { "@types/node": ">= 8" @@ -740,9 +785,9 @@ "dev": true }, "aws4": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", - "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", + "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==", "dev": true }, "balanced-match": { @@ -3300,18 +3345,18 @@ "dev": true }, "mime-db": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", - "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==", + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", "dev": true }, "mime-types": { - "version": "2.1.26", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", - "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", "dev": true, "requires": { - "mime-db": "1.43.0" + "mime-db": "1.44.0" } }, "mimic-fn": { @@ -3597,9 +3642,9 @@ } }, "moment": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", - "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==", + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.26.0.tgz", + "integrity": "sha512-oIixUO+OamkUkwjhAVE18rAMfRJNsNe/Stid/gwHSOfHrOtw9EhAY2AHvdKZ/k/MggcYELFCJz/Sn2pL8b8JMw==", "dev": true }, "ms": { @@ -3732,9 +3777,9 @@ "dev": true }, "oav": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/oav/-/oav-0.21.5.tgz", - "integrity": "sha512-UgF51hAZArAI9r4tSUCgJE8IYeh5Q3SLcCukwZ6jrWyG3Y8vXKl12Cs2ycGrbQg16Ygf2v2+Dkhx4RHh7uOyfw==", + "version": "0.21.6", + "resolved": "https://registry.npmjs.org/oav/-/oav-0.21.6.tgz", + "integrity": "sha512-zPLaeYuQh1aJND/e2BBLMXAy1qKvHVPido6byoC4K2wsM3MdIFrK0QePBMUXA9gZjNb6HO5oaRuM5uCEeFaxjg==", "dev": true, "requires": { "@azure/openapi-markdown": "^0.9.2", @@ -3830,9 +3875,9 @@ } }, "@types/node-fetch": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.6.tgz", - "integrity": "sha512-2w0NTwMWF1d3NJMK0Uiq2UNN8htVCyOWOD0jIPjPgC5Ph/YP4dVhs9YxxcMcuLuwAslz0dVEcZQUaqkLs3IzOQ==", + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.7.tgz", + "integrity": "sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw==", "dev": true, "requires": { "@types/node": "*", @@ -4417,9 +4462,9 @@ "dev": true }, "qs": { - "version": "6.9.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.3.tgz", - "integrity": "sha512-EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw==", + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.4.tgz", + "integrity": "sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ==", "dev": true }, "randexp": { @@ -4618,9 +4663,9 @@ "dev": true }, "resolve": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.16.1.tgz", - "integrity": "sha512-rmAglCSqWWMrrBv/XM6sW0NuRFiKViw/W4d9EbC4pt+49H8JwHy+mcGmALTEg504AUDcLTvb1T2q3E9AnmY+ig==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", "dev": true, "requires": { "path-parse": "^1.0.6" @@ -4944,9 +4989,9 @@ "dev": true }, "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -4960,9 +5005,9 @@ "dev": true }, "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, "requires": { "spdx-exceptions": "^2.1.0", @@ -5339,9 +5384,9 @@ "dev": true }, "uglify-js": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.9.1.tgz", - "integrity": "sha512-JUPoL1jHsc9fOjVFHdQIhqEEJsQvfKDjlubcCilu8U26uZ73qOg8VsN8O1jbuei44ZPlwL7kmbAdM4tzaUvqnA==", + "version": "3.9.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.9.4.tgz", + "integrity": "sha512-8RZBJq5smLOa7KslsNsVcSH+KOXf1uDU8yqLeNuVKwmT0T3FA0ZoXlinQfRad7SDcbZZRZE4ov+2v71EnxNyCA==", "dev": true, "optional": true, "requires": { @@ -5961,15 +6006,15 @@ } }, "z-schema": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-4.2.2.tgz", - "integrity": "sha512-7bGR7LohxSdlK1EOdvA/OHksvKGE4jTLSjd8dBj9YKT0S43N9pdMZ0Z7GZt9mHrBFhbNTRh3Ky6Eu2MHsPJe8g==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-4.2.3.tgz", + "integrity": "sha512-zkvK/9TC6p38IwcrbnT3ul9in1UX4cm1y/VZSs4GHKIiDCrlafc+YQBgQBUdDXLAoZHf2qvQ7gJJOo6yT1LH6A==", "dev": true, "requires": { "commander": "^2.7.1", "lodash.get": "^4.4.2", "lodash.isequal": "^4.5.0", - "validator": "^11.0.0" + "validator": "^12.0.0" }, "dependencies": { "commander": { @@ -5980,9 +6025,9 @@ "optional": true }, "validator": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-11.1.0.tgz", - "integrity": "sha512-qiQ5ktdO7CD6C/5/mYV4jku/7qnqzjrxb3C/Q5wR3vGGinHTgJZN/TdFT3ZX4vXhX2R1PXx42fB1cn5W+uJ4lg==", + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-12.2.0.tgz", + "integrity": "sha512-jJfE/DW6tIK1Ek8nCfNFqt8Wb3nzMoAbocBF6/Icgg1ZFSBpObdnwVY2jQj6qUqzhx5jc71fpvBWyLGO7Xl+nQ==", "dev": true } } diff --git a/package.json b/package.json index 78b8882ef5f1..1a58a6b4c14d 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "license": "MIT", "devDependencies": { "@azure/avocado": "^0.6.3", - "@azure/rest-api-specs-scripts": "^0.7.3", + "@azure/rest-api-specs-scripts": "^0.10.2", "@ts-common/commonmark-to-markdown": "^1.2.0", "@ts-common/fs": "0.2.0", "@ts-common/iterator": "^0.3.6", diff --git a/preproduction-azure-pipelines.yml b/preproduction-azure-pipelines.yml index 0b307b098e70..56c9816bf51f 100644 --- a/preproduction-azure-pipelines.yml +++ b/preproduction-azure-pipelines.yml @@ -19,3 +19,4 @@ jobs: - template: .azure-pipelines/BreakingChange.yml - template: .azure-pipelines/ModelValidation.yml - template: .azure-pipelines/LintDiff.yml + - template: .azure-pipelines/Avocado.yml 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 11df28bec57b..750d45a37d73 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 @@ -1689,7 +1689,13 @@ "enum": [ "AlertCreated", "StateChange", - "MonitorConditionChange" + "MonitorConditionChange", + "SeverityChange", + "ActionRuleTriggered", + "ActionRuleSuppressed", + "ActionsTriggered", + "ActionsSuppressed", + "ActionsFailed" ], "x-ms-enum": { "name": "AlertModificationEvent" @@ -2023,7 +2029,8 @@ "description": "type of target scope", "enum": [ "ResourceGroup", - "Resource" + "Resource", + "Subscription" ], "x-ms-enum": { "name": "ScopeType", diff --git a/specification/alertsmanagement/resource-manager/readme.trenton.md b/specification/alertsmanagement/resource-manager/readme.trenton.md new file mode 100644 index 000000000000..4a374c2f42fd --- /dev/null +++ b/specification/alertsmanagement/resource-manager/readme.trenton.md @@ -0,0 +1,52 @@ +## overrides + +These settings apply only when `--trenton` is specified on the command line. +``` yaml $(trenton) +overrides: + - where: + resource: "*" + set: + - NeedSeparated: true + - where: + resource: "ActionRules" + property: "properties" + set: + - GoFieldName: "Properties" + - where: + resource: "ActionRules" + method: "Update" + property: "properties" + set: + - GoFieldName: "PatchProperties" + - where: + property: "status" + set: + - Hidden: false + - where: + property: "type" + set: + - Hidden: true + - where: + resource: "ActionRules" + property: "/actionRule/properties/type" + set: + - Hidden: false + - where: + resource: "ActionRules" + property: "scopeType" + set: + - EnumValues/0/GoEnumMemberName: "ScopeTypeResourceGroup" + - EnumValues/1/GoEnumMemberName: "ScopeTypeResource" + - EnumValues/2/GoEnumMemberName: "ScopeTypeSubscription" +``` +## trenton + +These settings apply only when `--trenton` is specified on the command line. + +``` yaml $(trenton) +trenton: + cli-name: alertsManagement + package-name: alertsmanagement +clear-output-folder: true +output-folder: $(trenton-output-folder)/alertsmanagement +``` 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/definitions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/definitions.json index 490ae700e22e..83499631fc01 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 @@ -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": { 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/appconfiguration/resource-manager/readme.md b/specification/appconfiguration/resource-manager/readme.md index de29d229eefa..feac2e4b88ce 100644 --- a/specification/appconfiguration/resource-manager/readme.md +++ b/specification/appconfiguration/resource-manager/readme.md @@ -68,6 +68,7 @@ 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-net - repo: azure-sdk-for-js diff --git a/specification/applicationinsights/data-plane/Microsoft.Insights/preview/2018-04-20/swagger.json b/specification/applicationinsights/data-plane/Microsoft.Insights/preview/2018-04-20/swagger.json index b85d005c3d56..1c49f1b2f3ec 100644 --- a/specification/applicationinsights/data-plane/Microsoft.Insights/preview/2018-04-20/swagger.json +++ b/specification/applicationinsights/data-plane/Microsoft.Insights/preview/2018-04-20/swagger.json @@ -133,7 +133,7 @@ }, "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Insights/components/{applicationName}/metadata": { "post": { - "operationId": "Post_Metadata", + "operationId": "Metadata_Post", "summary": "Gets metadata information", "description": "Retrieve the metadata information for the app, including its schema, etc.", "x-ms-examples": { @@ -171,7 +171,7 @@ } }, "get": { - "operationId": "Get_Metadata", + "operationId": "Metadata_Get", "summary": "Gets metadata information", "description": "Retrieve the metadata information for the app, including its schema, etc.", "x-ms-examples": { 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 d4023de90522..506c07d7005c 100644 --- a/specification/applicationinsights/data-plane/Microsoft.Insights/preview/v1/AppInsights.json +++ b/specification/applicationinsights/data-plane/Microsoft.Insights/preview/v1/AppInsights.json @@ -380,7 +380,7 @@ }, "/apps/{appId}/metadata": { "post": { - "operationId": "Post_Metadata", + "operationId": "Metadata_Post", "summary": "Gets metadata information", "description": "Retrieve the metadata information for the app, including its schema, etc.", "x-ms-examples": { @@ -409,7 +409,7 @@ } }, "get": { - "operationId": "Get_Metadata", + "operationId": "Metadata_Get", "summary": "Gets metadata information", "description": "Retrieve the metadata information for the app, including its schema, etc.", "x-ms-examples": { diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/components_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/components_API.json index fc10d313cfce..8ba066afb183 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/components_API.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/components_API.json @@ -532,6 +532,20 @@ "publicNetworkAccessForQuery": { "description": "The network access type for accessing Application Insights query.", "$ref": "#/definitions/PublicNetworkAccessType" + }, + "IngestionMode": { + "type": "string", + "description": "Indicates the flow of the ingestion.", + "default": "ApplicationInsights", + "enum": [ + "ApplicationInsights", + "ApplicationInsightsWithDiagnosticSettings", + "LogAnalytics" + ], + "x-ms-enum": { + "name": "IngestionMode", + "modelAsString": true + } } }, "required": [ diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsCreate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsCreate.json index 17a28fdee20e..70a74516f4e0 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsCreate.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsCreate.json @@ -41,7 +41,8 @@ "DisableIpMasking": false, "ImmediatePurgeDataOn30Days": false, "publicNetworkAccessForQuery": "Enabled", - "publicNetworkAccessForIngestion": "Enabled" + "publicNetworkAccessForIngestion": "Enabled", + "IngestionMode": "ApplicationInsights" } } }, @@ -71,7 +72,8 @@ "DisableIpMasking": false, "ImmediatePurgeDataOn30Days": false, "publicNetworkAccessForQuery": "Enabled", - "publicNetworkAccessForIngestion": "Enabled" + "publicNetworkAccessForIngestion": "Enabled", + "IngestionMode": "ApplicationInsights" } } } diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsGet.json index 3ace22b9672d..68d5f62719a7 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsGet.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsGet.json @@ -32,7 +32,8 @@ "DisableIpMasking": false, "ImmediatePurgeDataOn30Days": false, "publicNetworkAccessForQuery": "Enabled", - "publicNetworkAccessForIngestion": "Enabled" + "publicNetworkAccessForIngestion": "Enabled", + "IngestionMode": "ApplicationInsights" } } } diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsList.json index 281a057d8188..d9790161b4a4 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsList.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsList.json @@ -32,7 +32,8 @@ "DisableIpMasking": false, "ImmediatePurgeDataOn30Days": false, "publicNetworkAccessForQuery": "Enabled", - "publicNetworkAccessForIngestion": "Enabled" + "publicNetworkAccessForIngestion": "Enabled", + "IngestionMode": "ApplicationInsights" } }, { @@ -60,7 +61,8 @@ "DisableIpMasking": false, "ImmediatePurgeDataOn30Days": false, "publicNetworkAccessForQuery": "Enabled", - "publicNetworkAccessForIngestion": "Enabled" + "publicNetworkAccessForIngestion": "Enabled", + "IngestionMode": "ApplicationInsights" } } ], diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsListByResourceGroup.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsListByResourceGroup.json index cee24e3764c9..8a34e64eb8a2 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsListByResourceGroup.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsListByResourceGroup.json @@ -33,7 +33,8 @@ "DisableIpMasking": false, "ImmediatePurgeDataOn30Days": false, "publicNetworkAccessForQuery": "Enabled", - "publicNetworkAccessForIngestion": "Enabled" + "publicNetworkAccessForIngestion": "Enabled", + "IngestionMode": "ApplicationInsights" } }, { @@ -61,7 +62,8 @@ "DisableIpMasking": false, "ImmediatePurgeDataOn30Days": false, "publicNetworkAccessForQuery": "Enabled", - "publicNetworkAccessForIngestion": "Enabled" + "publicNetworkAccessForIngestion": "Enabled", + "IngestionMode": "ApplicationInsights" } } ], diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsUpdate.json index b9df659a3d3f..30c8ce16a5e9 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsUpdate.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsUpdate.json @@ -43,7 +43,8 @@ "DisableIpMasking": false, "ImmediatePurgeDataOn30Days": false, "publicNetworkAccessForQuery": "Enabled", - "publicNetworkAccessForIngestion": "Enabled" + "publicNetworkAccessForIngestion": "Enabled", + "IngestionMode": "ApplicationInsights" } } }, @@ -76,7 +77,8 @@ "DisableIpMasking": false, "ImmediatePurgeDataOn30Days": false, "publicNetworkAccessForQuery": "Enabled", - "publicNetworkAccessForIngestion": "Enabled" + "publicNetworkAccessForIngestion": "Enabled", + "IngestionMode": "ApplicationInsights" } } } diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsUpdateTagsOnly.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsUpdateTagsOnly.json index 9d8d07877055..911c023ab0a9 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsUpdateTagsOnly.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsUpdateTagsOnly.json @@ -47,7 +47,8 @@ "DisableIpMasking": false, "ImmediatePurgeDataOn30Days": false, "publicNetworkAccessForQuery": "Enabled", - "publicNetworkAccessForIngestion": "Enabled" + "publicNetworkAccessForIngestion": "Enabled", + "IngestionMode": "ApplicationInsights" } } }, @@ -83,7 +84,8 @@ "DisableIpMasking": false, "ImmediatePurgeDataOn30Days": false, "publicNetworkAccessForQuery": "Enabled", - "publicNetworkAccessForIngestion": "Enabled" + "publicNetworkAccessForIngestion": "Enabled", + "IngestionMode": "ApplicationInsights" } } } 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 71cb6350a36c..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", @@ -524,6 +530,20 @@ "publicNetworkAccessForQuery": { "description": "The network access type for accessing Application Insights query.", "$ref": "#/definitions/PublicNetworkAccessType" + }, + "IngestionMode": { + "type": "string", + "description": "Indicates the flow of the ingestion.", + "default": "LogAnalytics", + "enum": [ + "ApplicationInsights", + "ApplicationInsightsWithDiagnosticSettings", + "LogAnalytics" + ], + "x-ms-enum": { + "name": "IngestionMode", + "modelAsString": true + } } }, "required": [ diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/examples/ComponentsCreate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/examples/ComponentsCreate.json index b60e0da5861a..fbc47f63d6ab 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/examples/ComponentsCreate.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/examples/ComponentsCreate.json @@ -41,7 +41,8 @@ "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc", "DisableIpMasking": false, "publicNetworkAccessForQuery": "Enabled", - "publicNetworkAccessForIngestion": "Enabled" + "publicNetworkAccessForIngestion": "Enabled", + "IngestionMode": "LogAnalytics" } } } diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/examples/ComponentsGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/examples/ComponentsGet.json index 8dc5e137725f..bbb10c0b9ceb 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/examples/ComponentsGet.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/examples/ComponentsGet.json @@ -31,7 +31,8 @@ "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc", "DisableIpMasking": false, "publicNetworkAccessForQuery": "Enabled", - "publicNetworkAccessForIngestion": "Enabled" + "publicNetworkAccessForIngestion": "Enabled", + "IngestionMode": "LogAnalytics" } } } diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/examples/ComponentsList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/examples/ComponentsList.json index 1a0e3d80e2eb..e1b8fef73125 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/examples/ComponentsList.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/examples/ComponentsList.json @@ -31,7 +31,8 @@ "ConnectionString": "InstrumentationKey=dc5931c7-a7ad-4ad0-89d6-123456789abc", "DisableIpMasking": false, "publicNetworkAccessForQuery": "Enabled", - "publicNetworkAccessForIngestion": "Enabled" + "publicNetworkAccessForIngestion": "Enabled", + "IngestionMode": "LogAnalytics" } }, { @@ -58,7 +59,8 @@ "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc", "DisableIpMasking": false, "publicNetworkAccessForQuery": "Enabled", - "publicNetworkAccessForIngestion": "Enabled" + "publicNetworkAccessForIngestion": "Enabled", + "IngestionMode": "LogAnalytics" } } ], diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/examples/ComponentsListByResourceGroup.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/examples/ComponentsListByResourceGroup.json index 93423a2b9955..26738b90bc39 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/examples/ComponentsListByResourceGroup.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/examples/ComponentsListByResourceGroup.json @@ -32,7 +32,8 @@ "ConnectionString": "InstrumentationKey=dc5931c7-a7ad-4ad0-89d6-123456789abc", "DisableIpMasking": false, "publicNetworkAccessForQuery": "Enabled", - "publicNetworkAccessForIngestion": "Enabled" + "publicNetworkAccessForIngestion": "Enabled", + "IngestionMode": "LogAnalytics" } }, { @@ -59,7 +60,8 @@ "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc", "DisableIpMasking": false, "publicNetworkAccessForQuery": "Enabled", - "publicNetworkAccessForIngestion": "Enabled" + "publicNetworkAccessForIngestion": "Enabled", + "IngestionMode": "LogAnalytics" } } ], diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/examples/ComponentsUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/examples/ComponentsUpdate.json index e02186407ca7..bb68a86b7bfb 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/examples/ComponentsUpdate.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/examples/ComponentsUpdate.json @@ -42,7 +42,8 @@ "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc", "DisableIpMasking": false, "publicNetworkAccessForQuery": "Enabled", - "publicNetworkAccessForIngestion": "Enabled" + "publicNetworkAccessForIngestion": "Enabled", + "IngestionMode": "LogAnalytics" } } } diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/examples/ComponentsUpdateTagsOnly.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/examples/ComponentsUpdateTagsOnly.json index 806476c3cf96..7ca0781617d0 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/examples/ComponentsUpdateTagsOnly.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/examples/ComponentsUpdateTagsOnly.json @@ -46,7 +46,8 @@ "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc", "DisableIpMasking": false, "publicNetworkAccessForQuery": "Enabled", - "publicNetworkAccessForIngestion": "Enabled" + "publicNetworkAccessForIngestion": "Enabled", + "IngestionMode": "LogAnalytics" } } } 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..ecb4fd85d389 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-06-02-preview/livetoken_API.json @@ -0,0 +1,219 @@ +{ + "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 Microsoft.EventGrid 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": "#/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": { + "ErrorResponse": { + "description": "Describes the format of an error response.", + "type": "object", + "properties": { + "code": { + "description": "Error code", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + } + }, + "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/Operation" + } + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "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" + } + } + } + }, + "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/components_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/components_API.json index 507d3910d1b1..73eb9e993907 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/components_API.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/components_API.json @@ -512,6 +512,20 @@ "$ref": "#/definitions/PrivateLinkScopedResource" }, "description": "List of linked private link scope resources." + }, + "IngestionMode": { + "type": "string", + "description": "Indicates the flow of the ingestion.", + "default": "ApplicationInsights", + "enum": [ + "ApplicationInsights", + "ApplicationInsightsWithDiagnosticSettings", + "LogAnalytics" + ], + "x-ms-enum": { + "name": "IngestionMode", + "modelAsString": true + } } }, "required": [ diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsCreate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsCreate.json index a2603e240382..88bcfebb39ce 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsCreate.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsCreate.json @@ -39,7 +39,8 @@ "RetentionInDays": 90, "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc", "DisableIpMasking": false, - "ImmediatePurgeDataOn30Days": false + "ImmediatePurgeDataOn30Days": false, + "IngestionMode": "ApplicationInsights" } } } diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsGet.json index ea7eb18ea7d0..c00693fd1988 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsGet.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsGet.json @@ -30,7 +30,8 @@ "RetentionInDays": 90, "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc", "DisableIpMasking": false, - "ImmediatePurgeDataOn30Days": false + "ImmediatePurgeDataOn30Days": false, + "IngestionMode": "ApplicationInsights" } } } diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsList.json index ccb105e6cac0..3b8fbf90a8ee 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsList.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsList.json @@ -30,7 +30,8 @@ "RetentionInDays": 90, "ConnectionString": "InstrumentationKey=dc5931c7-a7ad-4ad0-89d6-123456789abc", "DisableIpMasking": false, - "ImmediatePurgeDataOn30Days": false + "ImmediatePurgeDataOn30Days": false, + "IngestionMode": "ApplicationInsights" } }, { @@ -56,7 +57,8 @@ "RetentionInDays": 90, "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc", "DisableIpMasking": false, - "ImmediatePurgeDataOn30Days": false + "ImmediatePurgeDataOn30Days": false, + "IngestionMode": "ApplicationInsights" } } ], diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsListByResourceGroup.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsListByResourceGroup.json index dc9c2b395132..92bc4f1c5498 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsListByResourceGroup.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsListByResourceGroup.json @@ -31,7 +31,8 @@ "RetentionInDays": 90, "ConnectionString": "InstrumentationKey=dc5931c7-a7ad-4ad0-89d6-123456789abc", "DisableIpMasking": false, - "ImmediatePurgeDataOn30Days": false + "ImmediatePurgeDataOn30Days": false, + "IngestionMode": "ApplicationInsights" } }, { @@ -57,7 +58,8 @@ "RetentionInDays": 90, "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc", "DisableIpMasking": false, - "ImmediatePurgeDataOn30Days": false + "ImmediatePurgeDataOn30Days": false, + "IngestionMode": "ApplicationInsights" } } ], diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsUpdate.json index ac92ef81e926..9ab62afd13e7 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsUpdate.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsUpdate.json @@ -41,7 +41,8 @@ "RetentionInDays": 90, "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc", "DisableIpMasking": false, - "ImmediatePurgeDataOn30Days": false + "ImmediatePurgeDataOn30Days": false, + "IngestionMode": "ApplicationInsights" } } } diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsUpdateTagsOnly.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsUpdateTagsOnly.json index 3487365d9a29..8bbbfec88eb7 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsUpdateTagsOnly.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsUpdateTagsOnly.json @@ -45,7 +45,8 @@ "RetentionInDays": 90, "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc", "DisableIpMasking": false, - "ImmediatePurgeDataOn30Days": false + "ImmediatePurgeDataOn30Days": false, + "IngestionMode": "ApplicationInsights" } } } diff --git a/specification/applicationinsights/resource-manager/readme.md b/specification/applicationinsights/resource-manager/readme.md index b01e064aecde..3e00e6366502 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 @@ -238,6 +238,37 @@ directive: reason: There are a bug in this rule. "ExportConfigurations_Create" is a valid operation id. ``` +### 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/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 @@ -479,7 +510,7 @@ input-file: - $(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 - + - $(this-folder)/Microsoft.Insights/preview/2020-06-02-preview/livetoken_API.json ``` If there are files that should not be in the `all-api-versions` set, 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 5f51a46af56f..773e65c8d69f 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 @@ -2159,6 +2159,44 @@ } } } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/skus": { + "get": { + "tags": [ + "AppPlatform" + ], + "operationId": "Sku_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": { + "Sku_List": { + "$ref": "./examples/Sku_List.json" + } + } + } } }, "definitions": { @@ -2175,6 +2213,10 @@ "$ref": "#/definitions/ClusterResourceProperties", "description": "Properties of the Service resource", "x-ms-client-flatten": false + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "Sku of the Service resource" } } }, @@ -2267,6 +2309,50 @@ } } }, + "ManagedIdentityProperties": { + "description": "Managed identity properties retrieved from ARM request headers.", + "type": "object", + "properties": { + "type": { + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned,UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedIdentityType", + "modelAsString": true + } + }, + "principalId": { + "type": "string" + }, + "tenantId": { + "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" + } + } + }, "ConfigServerProperties": { "description": "Config server git properties payload", "type": "object", @@ -2534,6 +2620,10 @@ "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" @@ -3093,18 +3183,14 @@ "properties": { "cpu": { "format": "int32", - "description": "Required CPU", + "description": "Required CPU, basic tier should be 1, standard tier should be in range (1, 4)", "default": 1, - "maximum": 4.0, - "minimum": 1.0, "type": "integer" }, "memoryInGB": { "format": "int32", - "description": "Required Memory size in GB", + "description": "Required Memory size in GB, basic tier should be in range (1, 2), standard tier should be in range (1, 8)", "default": 1, - "maximum": 8.0, - "minimum": 1.0, "type": "integer" }, "jvmOptions": { @@ -3113,10 +3199,8 @@ }, "instanceCount": { "format": "int32", - "description": "Instance count", + "description": "Instance count, basic tier should be in range (1, 25), standard tier should be in range (1, 500)", "default": 1, - "maximum": 20.0, - "minimum": 1.0, "type": "integer" }, "environmentVariables": { @@ -3403,6 +3487,227 @@ } } }, + "ResourceSkuCollection": { + "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": { + "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": { + "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": { + "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": { + "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": { diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_CreateOrUpdate.json index 8145e8e44747..be7ae73efb86 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_CreateOrUpdate.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_CreateOrUpdate.json @@ -15,6 +15,7 @@ "mountPath": "mypersistentdisk" } }, + "identity": null, "location": "eastus" }, "api-version": "2019-05-01-preview", @@ -44,6 +45,11 @@ } }, "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" @@ -69,6 +75,11 @@ } }, "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/preview/2019-05-01-preview/examples/Apps_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_Get.json index abdcd6fbd998..d939253e293a 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_Get.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_Get.json @@ -27,6 +27,11 @@ } }, "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/preview/2019-05-01-preview/examples/Apps_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_List.json index 0e9002ad0c77..2d5263ba9412 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_List.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_List.json @@ -28,6 +28,11 @@ } }, "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/preview/2019-05-01-preview/examples/Apps_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_Update.json index 2ad43819f26f..d54122ac471b 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_Update.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_Update.json @@ -15,6 +15,11 @@ "mountPath": "mypersistentdisk" } }, + "identity": { + "type": "SystemAssigned", + "principalId": null, + "tenantId": null + }, "location": "eastus" }, "api-version": "2019-05-01-preview", @@ -44,6 +49,11 @@ } }, "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" @@ -69,6 +79,11 @@ } }, "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/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 f21f1f432b7d..0b9eb4797dc1 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 @@ -18,6 +18,10 @@ "appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000" } }, + "sku": { + "name": "P0", + "tier": "Premium" + }, "location": "eastus", "tags": { "key1": "value1" @@ -53,6 +57,10 @@ "serviceId": "12345678abcd1234abcd12345678abcd" }, "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "P0", + "tier": "Premium" + }, "location": "eastus", "tags": { "key1": "value1" @@ -85,6 +93,10 @@ "serviceId": "12345678abcd1234abcd12345678abcd" }, "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "P0", + "tier": "Premium" + }, "location": "eastus", "tags": { "key1": "value1" 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 ebe1db60e6d2..0fd464fbf73c 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 @@ -30,6 +30,10 @@ "serviceId": "12345678abcd1234abcd12345678abcd" }, "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "P0", + "tier": "Premium" + }, "location": "eastus", "tags": { "key1": "value1" 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 ce13e8f49f54..60bff7e0b137 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 @@ -31,6 +31,10 @@ "serviceId": "12345678abcd1234abcd12345678abcd" }, "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "P0", + "tier": "Premium" + }, "location": "eastus", "tags": { "key1": "value1" 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 818367d797a5..1e7ffa74d93f 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 @@ -30,6 +30,10 @@ "serviceId": "12345678abcd1234abcd12345678abcd" }, "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "P0", + "tier": "Premium" + }, "location": "eastus", "tags": { "key1": "value1" 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 6f71ce79b699..6ff77da01f9b 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 @@ -18,6 +18,10 @@ "appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000" } }, + "sku": { + "name": "P0", + "tier": "Premium" + }, "location": "eastus", "tags": { "key1": "value1" @@ -53,6 +57,10 @@ "serviceId": "12345678abcd1234abcd12345678abcd" }, "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "P0", + "tier": "Premium" + }, "location": "eastus", "tags": { "key1": "value1" @@ -85,6 +93,10 @@ "serviceId": "12345678abcd1234abcd12345678abcd" }, "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "P0", + "tier": "Premium" + }, "location": "eastus", "tags": { "key1": "value1" diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Sku_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Sku_List.json new file mode 100644 index 000000000000..99c4c8efe8e7 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Sku_List.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2019-05-01-preview", + "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/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..9a6aff8f2069 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": { 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.az.md b/specification/attestation/resource-manager/readme.az.md index 15a808946ef8..8f3cb7f07357 100644 --- a/specification/attestation/resource-manager/readme.az.md +++ b/specification/attestation/resource-manager/readme.az.md @@ -7,4 +7,6 @@ az: extensions: attestation package-name: azure-mgmt-attestation namespace: azure.mgmt.attestation +az-output-folder: $(azure-cli-extension-folder)/src/attestation +python-sdk-output-folder: "$(az-output-folder)/azext_attestation/vendored_sdks/attestation" ``` 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..3976fe43cc0f 100644 --- a/specification/azsadmin/resource-manager/deployment/readme.md +++ b/specification/azsadmin/resource-manager/deployment/readme.md @@ -76,7 +76,6 @@ input-file: - $(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 - ``` If there are files that should not be in the `all-api-versions` set, diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-02-15/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-02-15/kusto.json index 9f6452aaae4a..de503c5dc6ef 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-02-15/kusto.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-02-15/kusto.json @@ -2877,7 +2877,7 @@ "description": "The statistics of the database." }, "isFollowed": { - "type": "string", + "type": "boolean", "readOnly": true, "description": "Indicates whether the database is followed." } diff --git a/specification/azure-kusto/resource-manager/readme.java.md b/specification/azure-kusto/resource-manager/readme.java.md index d8a5cd934f22..aa1b6240aba8 100644 --- a/specification/azure-kusto/resource-manager/readme.java.md +++ b/specification/azure-kusto/resource-manager/readme.java.md @@ -17,6 +17,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-kusto ``` yaml $(java) && $(multiapi) batch: - tag: package-2019-11-09 + - tag: package-2020-02-15 ``` ### Tag: package-2018-09-07-preview and java @@ -82,4 +83,17 @@ java: output-folder: $(azure-libraries-for-java-folder)/sdk/kusto/mgmt-v2019_11_09 regenerate-manager: true generate-interface: true +``` + +### Tag: package-2020-02-15 and java + +These settings apply only when `--tag=package-2020-02-15 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-02-15' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.kusto.v2020_02_15 + output-folder: $(azure-libraries-for-java-folder)/sdk/kusto/mgmt-v2020_02_15 +regenerate-manager: true +generate-interface: true ``` \ No newline at end of file diff --git a/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkForAzureAD.json b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkForAzureAD.json index beda20b39188..28cedade989e 100644 --- a/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkForAzureAD.json +++ b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkForAzureAD.json @@ -474,7 +474,7 @@ "required": true, "type": "string", "x-ms-parameter-location": "method", - "description": "name of the private link policy." + "description": "The name of the private link policy in Azure AD." } } } diff --git a/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkResources.json b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkResources.json index a5cb5c0cab09..dcd0d05e2ce0 100644 --- a/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkResources.json +++ b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkResources.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2017-04-01", + "version": "2020-03-01-preview", "title": "azureactivedirectory", "description": "Azure Active Directory Client." }, @@ -227,7 +227,8 @@ "in": "path", "description": "Azure subscription ID.", "required": true, - "type": "string" + "type": "string", + "x-ms-parameter-location": "client" }, "apiVersionParameter": { "name": "api-version", @@ -260,7 +261,7 @@ "in": "path", "required": true, "type": "string", - "description": "The name of the private link policy name in Azure AD.", + "description": "The name of the private link policy in Azure AD.", "x-ms-parameter-location": "method" } } diff --git a/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-07-01-preview/azureADMetrics.json b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-07-01-preview/azureADMetrics.json new file mode 100644 index 000000000000..1111208831f3 --- /dev/null +++ b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-07-01-preview/azureADMetrics.json @@ -0,0 +1,432 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-07-01-preview", + "title": "azureactivedirectory", + "description": "Metrics and Alerts for Azure Active Directory." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.aadiam/azureADMetrics/{azureADMetricsName}": { + "put": { + "tags": [ + "azureADMetrics" + ], + "operationId": "azureADMetrics_CreateOrUpdate", + "x-ms-long-running-operation": true, + "description": "Creates a azureADMetrics instance.", + "x-ms-examples": { + "azureADMetricsCreate": { + "$ref": "./examples/AzureADMetricsCreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "../2020-03-01-preview/privateLinkForAzureAD.json#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/azureADMetricsNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "azureADMetricsConfig", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/azureADMetricsConfig" + }, + "description": "AzureADMetrics definition supplied to the operation." + } + ], + "responses": { + "200": { + "description": "OK -- AzureADMetrics instance is updated.", + "schema": { + "$ref": "#/definitions/azureADMetricsConfig" + } + }, + "201": { + "description": "Created -- AzureADMetrics instance created.", + "schema": { + "$ref": "#/definitions/azureADMetricsConfig" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "azureADMetrics" + ], + "operationId": "azureADMetrics_Update", + "description": "Updates azureADMetrics tags with specified values.", + "x-ms-examples": { + "azureADMetricsUpdate": { + "$ref": "./examples/AzureADMetricsUpdate.json" + } + }, + "parameters": [ + { + "$ref": "../2020-03-01-preview/privateLinkForAzureAD.json#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/azureADMetricsNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "azureADMetricsConfig", + "in": "body", + "schema": { + "$ref": "#/definitions/azureADMetricsUpdateParameter" + }, + "description": "AzureADMetrics resource with the tags to be updated." + } + ], + "responses": { + "200": { + "description": "OK -- AzureADMetrics tags are updated.", + "schema": { + "$ref": "#/definitions/azureADMetricsConfig" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "azureADMetrics" + ], + "operationId": "azureADMetrics_Get", + "description": "Gets a azureADMetrics instance with a given name.", + "x-ms-examples": { + "azureADMetricsGet": { + "$ref": "./examples/AzureADMetricsGet.json" + } + }, + "parameters": [ + { + "$ref": "../2020-03-01-preview/privateLinkForAzureAD.json#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/azureADMetricsNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Returns information about the azureADMetrics resource.", + "schema": { + "$ref": "#/definitions/azureADMetricsConfig" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "azureADMetrics" + ], + "operationId": "azureADMetrics_Delete", + "description": "Deletes a AzureADMetrics resource. When operation completes, status code 200 returned without content.", + "x-ms-examples": { + "azureADMetricsDelete": { + "$ref": "./examples/AzureADMetricsDelete.json" + } + }, + "parameters": [ + { + "$ref": "../2020-03-01-preview/privateLinkForAzureAD.json#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/azureADMetricsNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- azureADMetrics resource deleted." + }, + "204": { + "description": "azureADMetrics does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/microsoft.aadiam/azureADMetrics": { + "get": { + "tags": [ + "azureADMetrics" + ], + "operationId": "azureADMetrics_ListBySubscription", + "description": "Lists all AzureADMetrics resources in the given subscription.", + "x-ms-examples": { + "azureADMetricsListBySubscription": { + "$ref": "./examples/AzureADMetricsListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../2020-03-01-preview/privateLinkForAzureAD.json#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Returns a list azureADMetrics resources.", + "schema": { + "$ref": "#/definitions/azureADMetricsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.aadiam/azureADMetrics": { + "get": { + "tags": [ + "azureADMetrics" + ], + "operationId": "azureADMetrics_List", + "x-ms-examples": { + "azureADMetricsGetList": { + "$ref": "./examples/AzureADMetricsList.json" + } + }, + "description": "Operation to return the list of AzureADMetrics resources scoped to the resourceGroup.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "../2020-03-01-preview/privateLinkForAzureAD.json#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successful request to get list of AzureADMetrics resources For AzureAD.", + "schema": { + "$ref": "#/definitions/azureADMetricsListResult" + } + }, + "default": { + "description": "Error, failed to get list of AzureADMetrics resources.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "azureADMetricsListResult": { + "description": "A list of AzureADMetrics resources", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of AzureADMetrics resources.", + "items": { + "$ref": "#/definitions/azureADMetricsConfig" + }, + "readOnly": true + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string", + "readOnly": true + } + } + }, + "azureADMetricsConfig": { + "description": "AzureADMetrics resource.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/AzureADMetricsPropertiesFormat" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ] + }, + "AzureADMetricsPropertiesFormat": { + "properties": { + "provisioningState": { + "type": "string", + "description": "The provisioning state of the resource.", + "enum": [ + "Succeeded", + "Created", + "Failed" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + }, + "readOnly": true + } + } + }, + "azureADMetricsUpdateParameter": { + "type": "object", + "description": "AzureADMetrics parameters to be updated. ", + "properties": { + "tags": { + "type": "object", + "description": "Resource tags to be updated.", + "additionalProperties": { + "type": "string" + } + } + } + }, + "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 + } + } + } + }, + "parameters": { + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "x-ms-parameter-location": "client", + "description": "Version of the API to be used with the client request." + }, + "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." + }, + "azureADMetricsNameParameter": { + "name": "azureADMetricsName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Name of the azureADMetrics instance." + } + } +} diff --git a/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-07-01-preview/examples/AzureADMetricsCreateOrUpdate.json b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-07-01-preview/examples/AzureADMetricsCreateOrUpdate.json new file mode 100644 index 000000000000..5c9e06214b75 --- /dev/null +++ b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-07-01-preview/examples/AzureADMetricsCreateOrUpdate.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "azureADMetricsName": "ddb1", + "api-version": "2020-07-01-preview", + "azureADMetricsConfig": { + "location": "West US", + "tags": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.Aadiam/azureADMetrics/ddb1", + "location": "West US", + "name": "ddb1", + "properties": { + "provisioningState": "Succeeded" + }, + "tags": {}, + "type": "Microsoft.Aadiam/azureADMetrics" + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.Aadiam/azureADMetrics/ddb1", + "location": "West US", + "name": "ddb1", + "properties": { + "provisioningState": "Created" + }, + "tags": {}, + "type": "Microsoft.Aadiam/azureADMetrics" + } + } + } +} diff --git a/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-07-01-preview/examples/AzureADMetricsDelete.json b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-07-01-preview/examples/AzureADMetricsDelete.json new file mode 100644 index 000000000000..87571e561014 --- /dev/null +++ b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-07-01-preview/examples/AzureADMetricsDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "azureADMetricsName": "ddb1", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-07-01-preview/examples/AzureADMetricsGet.json b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-07-01-preview/examples/AzureADMetricsGet.json new file mode 100644 index 000000000000..8dbfdc69b9d7 --- /dev/null +++ b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-07-01-preview/examples/AzureADMetricsGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "azureADMetricsName": "ddb1", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.Aadiam/azureADMetrics/ddb1", + "name": "ddb1", + "location": "West US", + "properties": { + "provisioningState": "Succeeded" + }, + "tags": {}, + "type": "Microsoft.Aadiam/azureADMetrics" + } + } + } +} diff --git a/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-07-01-preview/examples/AzureADMetricsList.json b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-07-01-preview/examples/AzureADMetricsList.json new file mode 100644 index 000000000000..519c5cc740f1 --- /dev/null +++ b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-07-01-preview/examples/AzureADMetricsList.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.Aadiam/azureADMetrics/ddb1", + "name": "ddb1", + "location": "West US", + "properties": { + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Aadiam/azureADMetrics" + } + ] + } + } + } +} diff --git a/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-07-01-preview/examples/AzureADMetricsListBySubscription.json b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-07-01-preview/examples/AzureADMetricsListBySubscription.json new file mode 100644 index 000000000000..f8bf57a8f2be --- /dev/null +++ b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-07-01-preview/examples/AzureADMetricsListBySubscription.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.Aadiam/azureADMetrics/ddb1", + "name": "ddb1", + "location": "West US", + "properties": { + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Aadiam/azureADMetrics" + } + ] + } + } + } +} diff --git a/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-07-01-preview/examples/AzureADMetricsUpdate.json b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-07-01-preview/examples/AzureADMetricsUpdate.json new file mode 100644 index 000000000000..bc7f75389954 --- /dev/null +++ b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-07-01-preview/examples/AzureADMetricsUpdate.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "azureADMetricsName": "ddb1", + "api-version": "2020-07-01-preview", + "location": "West US", + "azureADMetricsConfig": { + "tags": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.Aadiam/azureADMetrics/ddb1", + "location": "West US", + "name": "ddb1", + "properties": { + "provisioningState": "Succeeded" + }, + "tags": {}, + "type": "Microsoft.Aadiam/azureADMetrics" + } + } + } +} diff --git a/specification/azureactivedirectory/resource-manager/readme.md b/specification/azureactivedirectory/resource-manager/readme.md index b1d96fb51aa0..46fe420e432e 100644 --- a/specification/azureactivedirectory/resource-manager/readme.md +++ b/specification/azureactivedirectory/resource-manager/readme.md @@ -24,20 +24,58 @@ For other options on installation see [Installing AutoRest](https://aka.ms/autor These are the global settings for the azureactivedirectory. -```yaml +``` yaml openapi-type: arm -tag: package-2017-04-01 +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.Aadiam/preview/2020-07-01-preview/azureADMetrics.json +``` + +### 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-07' +input-file: + - Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkForAzureAD.json + - Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkResources.json ``` ### Tag: package-2017-04-01 These settings apply only when `--tag=package-2017-04-01` is specified on the command line. -```yaml $(tag) == 'package-2017-04-01' +``` yaml $(tag) == 'package-2017-04-01' input-file: - Microsoft.Aadiam/stable/2017-04-01/azureactivedirectory.json ``` +## Suppression +``` yaml +directive: + - suppress: BodyTopLevelProperties + from: azureADMetrics.json + where: $.definitions.azureADMetricsConfig.properties + - suppress: BodyTopLevelProperties + from: privateLinkForAzureAD.json + where: $.definitions.privateLinkPolicy.properties + - suppress: RequiredPropertiesMissingInResourceModel + from: azureADMetrics.json + where: $.definitions.azureADMetricsConfig + - suppress: RequiredPropertiesMissingInResourceModel + from: privateLinkForAzureAD.json + where: $.definitions.privateLinkPolicy + - suppress: R3020 + - suppress: R3023 +``` + --- # Code Generation @@ -47,7 +85,7 @@ input-file: This section describes what SDK should be generated by the automatic system. This is not used by Autorest itself. -```yaml $(swagger-to-sdk) +``` yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-sdk-for-net - repo: azure-sdk-for-python @@ -79,7 +117,7 @@ See configuration in [readme.typescript.md](./readme.typescript.md) See configuration in [readme.csharp.md](./readme.csharp.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. @@ -92,14 +130,17 @@ 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 + ``` -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/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/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/BatchManagement.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/BatchManagement.json new file mode 100644 index 000000000000..7aa629b9cb38 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/BatchManagement.json @@ -0,0 +1,5147 @@ +{ + "swagger": "2.0", + "info": { + "title": "BatchManagement", + "version": "2020-05-01", + "x-ms-code-generation-settings": { + "name": "BatchManagementClient" + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}": { + "put": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_Create", + "x-ms-examples": { + "BatchAccountCreate_Default": { + "$ref": "./examples/BatchAccountCreate_Default.json" + }, + "BatchAccountCreate_BYOS": { + "$ref": "./examples/BatchAccountCreate_BYOS.json" + }, + "PrivateBatchAccountCreate": { + "$ref": "./examples/PrivateBatchAccountCreate.json" + }, + "BatchAccountCreate_SystemAssignedIdentity": { + "$ref": "./examples/BatchAccountCreate_SystemAssignedIdentity.json" + } + }, + "description": "Creates a new Batch account with the specified parameters. Existing accounts cannot be updated with this API and should instead be updated with the Update Batch Account API.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-z0-9]+$", + "minLength": 3, + "maxLength": 24, + "description": "A name for the Batch account which must be unique within the region. Batch account names must be between 3 and 24 characters in length and must use only numbers and lowercase letters. This name is used as part of the DNS name that is used to access the Batch service in the region in which the account is created. For example: http://accountname.region.batch.azure.com/." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BatchAccountCreateParameters" + }, + "description": "Additional parameters for account creation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the Batch account entity.", + "schema": { + "$ref": "#/definitions/BatchAccount" + } + }, + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that specifies the delay in seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_Update", + "x-ms-examples": { + "BatchAccountUpdate": { + "$ref": "./examples/BatchAccountUpdate.json" + } + }, + "description": "Updates the properties of an existing Batch account.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BatchAccountUpdateParameters" + }, + "description": "Additional parameters for account update." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the Batch account entity.", + "schema": { + "$ref": "#/definitions/BatchAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_Delete", + "x-ms-examples": { + "BatchAccountDelete": { + "$ref": "./examples/BatchAccountDelete.json" + } + }, + "description": "Deletes the specified Batch account.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful." + }, + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that specifies the delay in seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "204": { + "description": "NoContent -- account does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_Get", + "x-ms-examples": { + "BatchAccountGet": { + "$ref": "./examples/BatchAccountGet.json" + }, + "PrivateBatchAccountGet": { + "$ref": "./examples/PrivateBatchAccountGet.json" + } + }, + "description": "Gets information about the specified Batch account.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the Batch account entity.", + "schema": { + "$ref": "#/definitions/BatchAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Batch/batchAccounts": { + "get": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_List", + "x-ms-examples": { + "BatchAccountList": { + "$ref": "./examples/BatchAccountList.json" + } + }, + "description": "Gets information about the Batch accounts associated with the subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of Batch account entities associated with the subscription.", + "schema": { + "$ref": "#/definitions/BatchAccountListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts": { + "get": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_ListByResourceGroup", + "x-ms-examples": { + "BatchAccountListByResourceGroup": { + "$ref": "./examples/BatchAccountListByResourceGroup.json" + } + }, + "description": "Gets information about the Batch accounts associated with the specified resource group.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of Batch account entities associated with the resource group.", + "schema": { + "$ref": "#/definitions/BatchAccountListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/syncAutoStorageKeys": { + "post": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_SynchronizeAutoStorageKeys", + "x-ms-examples": { + "BatchAccountSynchronizeAutoStorageKeys": { + "$ref": "./examples/BatchAccountSynchronizeAutoStorageKeys.json" + } + }, + "description": "Synchronizes access keys for the auto-storage account configured for the specified Batch account.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The operation was successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/regenerateKeys": { + "post": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_RegenerateKey", + "x-ms-examples": { + "BatchAccountRegenerateKey": { + "$ref": "./examples/BatchAccountRegenerateKey.json" + } + }, + "description": "Regenerates the specified account key for the Batch account.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BatchAccountRegenerateKeyParameters" + }, + "description": "The type of key to regenerate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the Batch account keys.", + "schema": { + "$ref": "#/definitions/BatchAccountKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/listKeys": { + "post": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_GetKeys", + "x-ms-examples": { + "BatchAccountGetKeys": { + "$ref": "./examples/BatchAccountGetKeys.json" + } + }, + "summary": "Gets the account keys for the specified Batch account.", + "description": "This operation applies only to Batch accounts created with a poolAllocationMode of 'BatchService'. If the Batch account was created with a poolAllocationMode of 'UserSubscription', clients cannot use access to keys to authenticate, and must use Azure Active Directory instead. In this case, getting the keys will fail.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the keys of the Batch account.", + "schema": { + "$ref": "#/definitions/BatchAccountKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions/{versionName}/activate": { + "post": { + "tags": [ + "ApplicationPackage" + ], + "operationId": "ApplicationPackage_Activate", + "x-ms-examples": { + "ApplicationPackageActivate": { + "$ref": "./examples/ApplicationPackageActivate.json" + } + }, + "description": "Activates the specified application package. This should be done after the `ApplicationPackage` was created and uploaded. This needs to be done before an `ApplicationPackage` can be used on Pools or Tasks.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "$ref": "#/parameters/VersionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ActivateApplicationPackageParameters" + }, + "description": "The parameters for the request." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the application package entity.", + "schema": { + "$ref": "#/definitions/ApplicationPackage" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}": { + "put": { + "tags": [ + "Application" + ], + "operationId": "Application_Create", + "x-ms-examples": { + "ApplicationCreate": { + "$ref": "./examples/ApplicationCreate.json" + } + }, + "description": "Adds an application to the specified Batch account.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/Application" + }, + "description": "The parameters for the request." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the application entity.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Application" + ], + "operationId": "Application_Delete", + "x-ms-examples": { + "ApplicationDelete": { + "$ref": "./examples/ApplicationDelete.json" + } + }, + "description": "Deletes an application.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful." + }, + "204": { + "description": "The operation was successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "Application" + ], + "operationId": "Application_Get", + "x-ms-examples": { + "ApplicationGet": { + "$ref": "./examples/ApplicationGet.json" + } + }, + "description": "Gets information about the specified application.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the application entity.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Application" + ], + "operationId": "Application_Update", + "x-ms-examples": { + "ApplicationUpdate": { + "$ref": "./examples/ApplicationUpdate.json" + } + }, + "description": "Updates settings for the specified application.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Application" + }, + "description": "The parameters for the request." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the application entity.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions/{versionName}": { + "put": { + "tags": [ + "ApplicationPackage" + ], + "operationId": "ApplicationPackage_Create", + "x-ms-examples": { + "ApplicationPackageCreate": { + "$ref": "./examples/ApplicationPackageCreate.json" + } + }, + "description": "Creates an application package record. The record contains the SAS where the package should be uploaded to. Once it is uploaded the `ApplicationPackage` needs to be activated using `ApplicationPackageActive` before it can be used.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "$ref": "#/parameters/VersionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ApplicationPackage" + }, + "description": "The parameters for the request." + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the application package entity.", + "schema": { + "$ref": "#/definitions/ApplicationPackage" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ApplicationPackage" + ], + "operationId": "ApplicationPackage_Delete", + "x-ms-examples": { + "ApplicationPackageDelete": { + "$ref": "./examples/ApplicationPackageDelete.json" + } + }, + "description": "Deletes an application package record and its associated binary file.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "$ref": "#/parameters/VersionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful." + }, + "204": { + "description": "The operation was successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "ApplicationPackage" + ], + "operationId": "ApplicationPackage_Get", + "x-ms-examples": { + "ApplicationPackageGet": { + "$ref": "./examples/ApplicationPackageGet.json" + } + }, + "description": "Gets information about the specified application package.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "$ref": "#/parameters/VersionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the application package entity.", + "schema": { + "$ref": "#/definitions/ApplicationPackage" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications": { + "get": { + "tags": [ + "Application" + ], + "operationId": "Application_List", + "x-ms-examples": { + "ApplicationList": { + "$ref": "./examples/ApplicationList.json" + } + }, + "description": "Lists all of the applications in the specified account.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of the application entities associated with the specified account.", + "schema": { + "$ref": "#/definitions/ListApplicationsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions": { + "get": { + "tags": [ + "ApplicationPackage" + ], + "operationId": "ApplicationPackage_List", + "x-ms-examples": { + "ApplicationList": { + "$ref": "./examples/ApplicationPackageList.json" + } + }, + "description": "Lists all of the application packages in the specified application.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of the application package entities associated with the specified application.", + "schema": { + "$ref": "#/definitions/ListApplicationPackagesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/quotas": { + "get": { + "tags": [ + "Location" + ], + "operationId": "Location_GetQuotas", + "x-ms-examples": { + "LocationGetQuotas": { + "$ref": "./examples/LocationGetQuotas.json" + } + }, + "description": "Gets the Batch service quotas for the specified subscription at the given location.", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The region for which to retrieve Batch service quotas." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the Batch service quotas for the subscription in the specified location.", + "schema": { + "$ref": "#/definitions/BatchLocationQuota" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Batch/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists available operations for the Microsoft.Batch 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}/providers/Microsoft.Batch/locations/{locationName}/checkNameAvailability": { + "post": { + "operationId": "Location_CheckNameAvailability", + "description": "Checks whether the Batch account name is available in the specified region.", + "x-ms-examples": { + "LocationCheckNameAvailability_Available": { + "$ref": "./examples/LocationCheckNameAvailability_Available.json" + }, + "LocationCheckNameAvailability_AlreadyExists": { + "$ref": "./examples/LocationCheckNameAvailability_AlreadyExists.json" + } + }, + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The desired region for the name check." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityParameters" + }, + "description": "Properties needed to check the availability of a name." + } + ], + "responses": { + "200": { + "description": "Success. Returns details about whether a Batch account name is available.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates": { + "get": { + "tags": [ + "Certificate" + ], + "operationId": "Certificate_ListByBatchAccount", + "description": "Lists all of the certificates in the specified account.", + "x-ms-examples": { + "ListCertificates": { + "$ref": "./examples/CertificateList.json" + }, + "ListCertificates - Filter and Select": { + "$ref": "./examples/CertificateListWithFilter.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response." + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "Comma separated list of properties that should be returned. e.g. \"properties/provisioningState\". Only top level properties under properties/ are valid for selection." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are \"properties/provisioningState\", \"properties/provisioningStateTransitionTime\", \"name\"." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of certificates associated with the account.", + "schema": { + "$ref": "#/definitions/ListCertificatesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}": { + "put": { + "tags": [ + "Certificate" + ], + "operationId": "Certificate_Create", + "description": "Creates a new certificate inside the specified account.", + "x-ms-examples": { + "CreateCertificate - Minimal Pfx": { + "$ref": "./examples/CertificateCreate_Minimal.json" + }, + "CreateCertificate - Minimal Cer": { + "$ref": "./examples/CertificateCreate_MinimalCer.json" + }, + "CreateCertificate - Full": { + "$ref": "./examples/CertificateCreate_Full.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/CertificateNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateCreateOrUpdateParameters" + }, + "description": "Additional parameters for certificate creation." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "The entity state (ETag) version of the certificate to update. A value of \"*\" can be used to apply the operation only if the certificate already exists. If omitted, this operation will always be applied." + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "Set to '*' to allow a new certificate to be created, but to prevent updating an existing certificate. Other values will be ignored." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the certificate entity.", + "schema": { + "$ref": "#/definitions/Certificate" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Certificate" + ], + "operationId": "Certificate_Update", + "description": "Updates the properties of an existing certificate.", + "x-ms-examples": { + "UpdateCertificate": { + "$ref": "./examples/CertificateUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/CertificateNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateCreateOrUpdateParameters" + }, + "description": "Certificate entity to update." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "The entity state (ETag) version of the certificate to update. This value can be omitted or set to \"*\" to apply the operation unconditionally." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the certificate entity.", + "schema": { + "$ref": "#/definitions/Certificate" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Certificate" + ], + "operationId": "Certificate_Delete", + "description": "Deletes the specified certificate.", + "x-ms-examples": { + "CertificateDelete": { + "$ref": "./examples/CertificateDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/CertificateNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful." + }, + "204": { + "description": "The operation was successful." + }, + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Certificate" + ], + "operationId": "Certificate_Get", + "description": "Gets information about the specified certificate.", + "x-ms-examples": { + "Get Certificate": { + "$ref": "./examples/CertificateGet.json" + }, + "Get Certificate with Deletion Error": { + "$ref": "./examples/CertificateGetWithDeletionError.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/CertificateNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the certificate entity.", + "schema": { + "$ref": "#/definitions/Certificate" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}/cancelDelete": { + "post": { + "tags": [ + "Certificate" + ], + "operationId": "Certificate_CancelDeletion", + "summary": "Cancels a failed deletion of a certificate from the specified account.", + "description": "If you try to delete a certificate that is being used by a pool or compute node, the status of the certificate changes to deleteFailed. If you decide that you want to continue using the certificate, you can use this operation to set the status of the certificate back to active. If you intend to delete the certificate, you do not need to run this operation after the deletion failed. You must make sure that the certificate is not being used by any resources, and then you can try again to delete the certificate.", + "x-ms-examples": { + "CertificateCancelDeletion": { + "$ref": "./examples/CertificateCancelDeletion.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/CertificateNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the certificate entity.", + "schema": { + "$ref": "#/definitions/Certificate" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResource" + ], + "operationId": "PrivateLinkResource_ListByBatchAccount", + "description": "Lists all of the private link resources in the specified account.", + "x-ms-examples": { + "ListPrivateLinkResource": { + "$ref": "./examples/PrivateLinkResourcesList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response." + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of private link resources associated with the account.", + "schema": { + "$ref": "#/definitions/ListPrivateLinkResourcesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateLinkResources/{privateLinkResourceName}": { + "get": { + "tags": [ + "PrivateLinkResource" + ], + "operationId": "PrivateLinkResource_Get", + "description": "Gets information about the specified private link resource.", + "x-ms-examples": { + "GetPrivateLinkResource": { + "$ref": "./examples/PrivateLinkResourceGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PrivateLinkResourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the private link resource.", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnection" + ], + "operationId": "PrivateEndpointConnection_ListByBatchAccount", + "description": "Lists all of the private endpoint connections in the specified account.", + "x-ms-examples": { + "ListPrivateEndpointConnections": { + "$ref": "./examples/PrivateEndpointConnectionsList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response." + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of private link resources associated with the account.", + "schema": { + "$ref": "#/definitions/ListPrivateEndpointConnectionsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnection" + ], + "operationId": "PrivateEndpointConnection_Get", + "description": "Gets information about the specified private endpoint connection.", + "x-ms-examples": { + "GetPrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnectionGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "PrivateEndpointConnection" + ], + "operationId": "PrivateEndpointConnection_Update", + "description": "Updates the properties of an existing private endpoint connection.", + "x-ms-examples": { + "UpdatePrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnectionUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "PrivateEndpointConnection properties that should be updated. Properties that are supplied will be updated, any property not supplied will be unchanged." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "The state (ETag) version of the private endpoint connection to update. This value can be omitted or set to \"*\" to apply the operation unconditionally." + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the PrivateEndpointConnection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "204": { + "description": "The operation was successful." + }, + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools": { + "get": { + "tags": [ + "Pool" + ], + "operationId": "Pool_ListByBatchAccount", + "description": "Lists all of the pools in the specified account.", + "x-ms-examples": { + "ListPool": { + "$ref": "./examples/PoolList.json" + }, + "ListPoolWithFilter": { + "$ref": "./examples/PoolListWithFilter.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response." + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "Comma separated list of properties that should be returned. e.g. \"properties/provisioningState\". Only top level properties under properties/ are valid for selection." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are:\n\n name\n properties/allocationState\n properties/allocationStateTransitionTime\n properties/creationTime\n properties/provisioningState\n properties/provisioningStateTransitionTime\n properties/lastModified\n properties/vmSize\n properties/interNodeCommunication\n properties/scaleSettings/autoScale\n properties/scaleSettings/fixedScale" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of certificates associated with the account.", + "schema": { + "$ref": "#/definitions/ListPoolsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}": { + "put": { + "tags": [ + "Pool" + ], + "operationId": "Pool_Create", + "description": "Creates a new pool inside the specified account.", + "x-ms-examples": { + "CreatePool - Minimal CloudServiceConfiguration": { + "$ref": "./examples/PoolCreate_MinimalCloudServiceConfiguration.json" + }, + "CreatePool - Minimal VirtualMachineConfiguration": { + "$ref": "./examples/PoolCreate_MinimalVirtualMachineConfiguration.json" + }, + "CreatePool - Full Example": { + "$ref": "./examples/PoolCreate_FullExample.json" + }, + "CreatePool - Custom Image": { + "$ref": "./examples/PoolCreate_CustomImage.json" + }, + "CreatePool - Public IPs": { + "$ref": "./examples/PoolCreate_PublicIPs.json" + }, + "CreatePool - Full VirtualMachineConfiguration": { + "$ref": "./examples/PoolCreate_VirtualMachineConfiguration.json" + }, + "CreatePool - No public IP": { + "$ref": "./examples/PoolCreate_NoPublicIPAddresses.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Pool" + }, + "description": "Additional parameters for pool creation." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "The entity state (ETag) version of the pool to update. A value of \"*\" can be used to apply the operation only if the pool already exists. If omitted, this operation will always be applied." + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "Set to '*' to allow a new pool to be created, but to prevent updating an existing pool. Other values will be ignored." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the pool entity.", + "schema": { + "$ref": "#/definitions/Pool" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Pool" + ], + "operationId": "Pool_Update", + "description": "Updates the properties of an existing pool.", + "x-ms-examples": { + "UpdatePool - Resize Pool": { + "$ref": "./examples/PoolUpdate_ResizePool.json" + }, + "UpdatePool - Enable Autoscale": { + "$ref": "./examples/PoolUpdate_EnableAutoScale.json" + }, + "UpdatePool - Remove Start Task": { + "$ref": "./examples/PoolUpdate_RemoveStartTask.json" + }, + "UpdatePool - Other Properties": { + "$ref": "./examples/PoolUpdate_OtherProperties.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Pool" + }, + "description": "Pool properties that should be updated. Properties that are supplied will be updated, any property not supplied will be unchanged." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "The entity state (ETag) version of the pool to update. This value can be omitted or set to \"*\" to apply the operation unconditionally." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the pool entity.", + "schema": { + "$ref": "#/definitions/Pool" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Pool" + ], + "operationId": "Pool_Delete", + "description": "Deletes the specified pool.", + "x-ms-examples": { + "DeletePool": { + "$ref": "./examples/PoolDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful." + }, + "204": { + "description": "The operation was successful." + }, + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Pool" + ], + "operationId": "Pool_Get", + "description": "Gets information about the specified pool.", + "x-ms-examples": { + "GetPool": { + "$ref": "./examples/PoolGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the pool entity.", + "schema": { + "$ref": "#/definitions/Pool" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/disableAutoScale": { + "post": { + "tags": [ + "Pool" + ], + "operationId": "Pool_DisableAutoScale", + "description": "Disables automatic scaling for a pool.", + "x-ms-examples": { + "Disable AutoScale": { + "$ref": "./examples/PoolDisableAutoScale.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the pool entity.", + "schema": { + "$ref": "#/definitions/Pool" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/stopResize": { + "post": { + "tags": [ + "Pool" + ], + "operationId": "Pool_StopResize", + "summary": "Stops an ongoing resize operation on the pool.", + "description": "This does not restore the pool to its previous state before the resize operation: it only stops any further changes being made, and the pool maintains its current state. After stopping, the pool stabilizes at the number of nodes it was at when the stop operation was done. During the stop operation, the pool allocation state changes first to stopping and then to steady. A resize operation need not be an explicit resize pool request; this API can also be used to halt the initial sizing of the pool when it is created.", + "x-ms-examples": { + "StopPoolResize": { + "$ref": "./examples/PoolStopResize.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the pool entity.", + "schema": { + "$ref": "#/definitions/Pool" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "AutoStorageBaseProperties": { + "properties": { + "storageAccountId": { + "type": "string", + "description": "The resource ID of the storage account to be used for auto-storage account." + } + }, + "required": [ + "storageAccountId" + ], + "description": "The properties related to the auto-storage account." + }, + "BatchAccountUpdateProperties": { + "properties": { + "autoStorage": { + "$ref": "#/definitions/AutoStorageBaseProperties", + "description": "The properties related to the auto-storage account." + }, + "encryption": { + "title": "The encryption configuration for the Batch account.", + "description": "Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft managed key. For additional control, a customer-managed key can be used instead.", + "$ref": "#/definitions/EncryptionProperties" + } + }, + "description": "The properties of a Batch account." + }, + "BatchAccountCreateProperties": { + "properties": { + "autoStorage": { + "$ref": "#/definitions/AutoStorageBaseProperties", + "description": "The properties related to the auto-storage account." + }, + "poolAllocationMode": { + "title": "The allocation mode to use for creating pools in the Batch account.", + "description": "The pool allocation mode also affects how clients may authenticate to the Batch Service API. If the mode is BatchService, clients may authenticate using access keys or Azure Active Directory. If the mode is UserSubscription, clients must use Azure Active Directory. The default is BatchService.", + "$ref": "#/definitions/PoolAllocationMode" + }, + "keyVaultReference": { + "$ref": "#/definitions/KeyVaultReference", + "description": "A reference to the Azure key vault associated with the Batch account." + }, + "publicNetworkAccess": { + "title": "The network access type for accessing Azure Batch account.", + "description": "If not specified, the default value is 'enabled'.", + "$ref": "#/definitions/PublicNetworkAccessType" + }, + "encryption": { + "title": "The encryption configuration for the Batch account.", + "description": "Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft managed key. For additional control, a customer-managed key can be used instead.", + "$ref": "#/definitions/EncryptionProperties" + } + }, + "description": "The properties of a Batch account." + }, + "BatchAccountCreateParameters": { + "properties": { + "location": { + "type": "string", + "description": "The region in which to create the account." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The user-specified tags associated with the account." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BatchAccountCreateProperties", + "description": "The properties of the Batch account." + }, + "identity": { + "$ref": "#/definitions/BatchAccountIdentity", + "description": "The identity of the Batch account." + } + }, + "required": [ + "location" + ], + "description": "Parameters supplied to the Create operation." + }, + "KeyVaultReference": { + "properties": { + "id": { + "type": "string", + "description": "The resource ID of the Azure key vault associated with the Batch account." + }, + "url": { + "type": "string", + "description": "The URL of the Azure key vault associated with the Batch account." + } + }, + "required": [ + "id", + "url" + ], + "description": "Identifies the Azure key vault associated with a Batch account." + }, + "AutoStorageProperties": { + "properties": { + "lastKeySync": { + "type": "string", + "format": "date-time", + "description": "The UTC time at which storage keys were last synchronized with the Batch account." + } + }, + "required": [ + "lastKeySync" + ], + "allOf": [ + { + "$ref": "#/definitions/AutoStorageBaseProperties" + } + ], + "description": "Contains information about the auto-storage account associated with a Batch account." + }, + "VirtualMachineFamilyCoreQuota": { + "properties": { + "name": { + "readOnly": true, + "x-nullable": false, + "type": "string", + "description": "The Virtual Machine family name." + }, + "coreQuota": { + "readOnly": true, + "x-nullable": false, + "type": "integer", + "format": "int32", + "description": "The core quota for the VM family for the Batch account." + } + }, + "description": "A VM Family and its associated core quota for the Batch account." + }, + "BatchAccountIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of the Batch account. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id associated with the Batch account. This property will only be provided for a system assigned identity." + }, + "type": { + "type": "string", + "description": "The type of identity used for the Batch account.", + "enum": [ + "SystemAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false, + "values": [ + { + "value": "SystemAssigned", + "description": "Batch account has a system assigned identity with it." + }, + { + "value": "None", + "description": "Batch account has no identity associated with it. Setting `None` in update account will remove existing identities." + } + ] + } + } + }, + "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" + ] + }, + "BatchAccountProperties": { + "properties": { + "accountEndpoint": { + "type": "string", + "readOnly": true, + "description": "The account endpoint used to interact with the Batch service." + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "x-nullable": false, + "description": "The provisioned state of the resource", + "enum": [ + "Invalid", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Cancelled" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false, + "values": [ + { + "value": "Invalid", + "description": "The account is in an invalid state." + }, + { + "value": "Creating", + "description": "The account is being created." + }, + { + "value": "Deleting", + "description": "The account is being deleted." + }, + { + "value": "Succeeded", + "description": "The account has been created and is ready for use." + }, + { + "value": "Failed", + "description": "The last operation for the account is failed." + }, + { + "value": "Cancelled", + "description": "The last operation for the account is cancelled." + } + ] + } + }, + "poolAllocationMode": { + "readOnly": true, + "x-nullable": false, + "title": "The allocation mode to use for creating pools in the Batch account.", + "$ref": "#/definitions/PoolAllocationMode" + }, + "keyVaultReference": { + "title": "A reference to the Azure key vault associated with the Batch account.", + "readOnly": true, + "$ref": "#/definitions/KeyVaultReference" + }, + "publicNetworkAccess": { + "readOnly": true, + "x-nullable": true, + "title": "The network interface type for accessing Azure Batch service and Batch account operations.", + "description": "If not specified, the default value is 'enabled'.", + "$ref": "#/definitions/PublicNetworkAccessType" + }, + "privateEndpointConnections": { + "readOnly": true, + "x-nullable": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "List of private endpoint connections associated with the Batch account" + }, + "autoStorage": { + "title": "The properties and status of any auto-storage account associated with the Batch account.", + "readOnly": true, + "$ref": "#/definitions/AutoStorageProperties" + }, + "encryption": { + "title": "The encryption configuration for the Batch account.", + "description": "Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft managed key. For additional control, a customer-managed key can be used instead.", + "readOnly": true, + "$ref": "#/definitions/EncryptionProperties" + }, + "dedicatedCoreQuota": { + "readOnly": true, + "x-nullable": true, + "type": "integer", + "format": "int32", + "title": "The dedicated core quota for the Batch account.", + "description": "For accounts with PoolAllocationMode set to UserSubscription, quota is managed on the subscription so this value is not returned." + }, + "lowPriorityCoreQuota": { + "readOnly": true, + "x-nullable": true, + "type": "integer", + "format": "int32", + "title": "The low-priority core quota for the Batch account.", + "description": "For accounts with PoolAllocationMode set to UserSubscription, quota is managed on the subscription so this value is not returned." + }, + "dedicatedCoreQuotaPerVMFamily": { + "readOnly": true, + "x-nullable": true, + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineFamilyCoreQuota" + }, + "description": "A list of the dedicated core quota per Virtual Machine family for the Batch account. For accounts with PoolAllocationMode set to UserSubscription, quota is managed on the subscription so this value is not returned." + }, + "dedicatedCoreQuotaPerVMFamilyEnforced": { + "readOnly": true, + "x-nullable": false, + "type": "boolean", + "title": "A value indicating whether the core quota for the Batch Account is enforced per Virtual Machine family or not.", + "description": "Batch is transitioning its core quota system for dedicated cores to be enforced per Virtual Machine family. During this transitional phase, the dedicated core quota per Virtual Machine family may not yet be enforced. If this flag is false, dedicated core quota is enforced via the old dedicatedCoreQuota property on the account and does not consider Virtual Machine family. If this flag is true, dedicated core quota is enforced via the dedicatedCoreQuotaPerVMFamily property on the account, and the old dedicatedCoreQuota does not apply." + }, + "poolQuota": { + "readOnly": true, + "x-nullable": false, + "type": "integer", + "format": "int32", + "title": "The pool quota for the Batch account." + }, + "activeJobAndJobScheduleQuota": { + "readOnly": true, + "x-nullable": false, + "type": "integer", + "format": "int32", + "title": "The active job and job schedule quota for the Batch account." + } + }, + "description": "Account specific properties." + }, + "BatchAccount": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BatchAccountProperties", + "description": "The properties associated with the account." + }, + "identity": { + "$ref": "#/definitions/BatchAccountIdentity", + "description": "The identity of the Batch account." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Contains information about an Azure Batch account." + }, + "BatchAccountUpdateParameters": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The user-specified tags associated with the account." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BatchAccountUpdateProperties", + "description": "The properties of the account." + }, + "identity": { + "$ref": "#/definitions/BatchAccountIdentity", + "description": "The identity of the Batch account." + } + }, + "description": "Parameters for updating an Azure Batch account." + }, + "BatchAccountListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BatchAccount" + }, + "description": "The collection of Batch accounts returned by the listing operation." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List operation." + }, + "EncryptionProperties": { + "properties": { + "keySource": { + "type": "string", + "description": "Type of the key source.", + "enum": [ + "Microsoft.Batch", + "Microsoft.KeyVault" + ], + "x-ms-enum": { + "name": "KeySource", + "modelAsString": false, + "values": [ + { + "value": "Microsoft.Batch", + "description": "Batch creates and manages the encryption keys used to protect the account data." + }, + { + "value": "Microsoft.KeyVault", + "description": "The encryption keys used to protect the account data are stored in an external key vault. If this is set then the Batch Account identity must be set to `SystemAssigned` and a valid Key Identifier must also be supplied under the keyVaultProperties." + } + ] + } + }, + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Additional details when using Microsoft.KeyVault" + } + }, + "description": "Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft managed key. For additional control, a customer-managed key can be used instead." + }, + "KeyVaultProperties": { + "properties": { + "keyIdentifier": { + "type": "string", + "description": "Full path to the versioned secret. Example https://mykeyvault.vault.azure.net/keys/testkey/6e34a81fef704045975661e297a4c053. To be usable the following prerequisites must be met:\n\n The Batch Account has a System Assigned identity\n The account identity has been granted Key/Get, Key/Unwrap and Key/Wrap permissions\n The KeyVault has soft-delete and purge protection enabled" + } + }, + "description": "KeyVault configuration when using an encryption KeySource of Microsoft.KeyVault." + }, + "BatchAccountRegenerateKeyParameters": { + "properties": { + "keyName": { + "type": "string", + "description": "The type of account key to regenerate.", + "enum": [ + "Primary", + "Secondary" + ], + "x-ms-enum": { + "name": "AccountKeyType", + "modelAsString": false, + "values": [ + { + "value": "Primary", + "description": "The primary account key." + }, + { + "value": "Secondary", + "description": "The secondary account key." + } + ] + } + } + }, + "required": [ + "keyName" + ], + "description": "Parameters supplied to the RegenerateKey operation." + }, + "BatchAccountKeys": { + "properties": { + "accountName": { + "type": "string", + "readOnly": true, + "description": "The Batch account name." + }, + "primary": { + "type": "string", + "readOnly": true, + "description": "The primary key associated with the account." + }, + "secondary": { + "type": "string", + "readOnly": true, + "description": "The secondary key associated with the account." + } + }, + "description": "A set of Azure Batch account keys." + }, + "ActivateApplicationPackageParameters": { + "properties": { + "format": { + "type": "string", + "description": "The format of the application package binary file." + } + }, + "required": [ + "format" + ], + "description": "Parameters for an activating an application package." + }, + "Application": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationProperties", + "description": "The properties associated with the Application." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "Contains information about an application in a Batch account." + }, + "ApplicationProperties": { + "properties": { + "displayName": { + "type": "string", + "description": "The display name for the application." + }, + "allowUpdates": { + "type": "boolean", + "description": "A value indicating whether packages within the application may be overwritten using the same version string." + }, + "defaultVersion": { + "type": "string", + "description": "The package to use if a client requests the application but does not specify a version. This property can only be set to the name of an existing package." + } + }, + "description": "The properties associated with the Application." + }, + "ApplicationPackage": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationPackageProperties", + "description": "The properties associated with the Application Package." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "An application package which represents a particular version of an application." + }, + "ApplicationPackageProperties": { + "properties": { + "state": { + "type": "string", + "readOnly": true, + "description": "The current state of the application package.", + "enum": [ + "Pending", + "Active" + ], + "x-ms-enum": { + "name": "PackageState", + "modelAsString": false, + "values": [ + { + "value": "Pending", + "description": "The application package has been created but has not yet been activated." + }, + { + "value": "Active", + "description": "The application package is ready for use." + } + ] + } + }, + "format": { + "type": "string", + "readOnly": true, + "description": "The format of the application package, if the package is active." + }, + "storageUrl": { + "type": "string", + "readOnly": true, + "description": "The URL for the application package in Azure Storage." + }, + "storageUrlExpiry": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The UTC time at which the Azure Storage URL will expire." + }, + "lastActivationTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The time at which the package was last activated, if the package is active." + } + }, + "description": "Properties of an application package" + }, + "ListApplicationsResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Application" + }, + "description": "The list of applications." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "The result of performing list applications." + }, + "ListApplicationPackagesResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationPackage" + }, + "description": "The list of application packages." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "The result of performing list application packages." + }, + "BatchLocationQuota": { + "properties": { + "accountQuota": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The number of Batch accounts that may be created under the subscription in the specified region." + } + }, + "description": "Quotas associated with a Batch region for a particular subscription." + }, + "Resource": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource." + }, + "location": { + "readOnly": true, + "type": "string", + "description": "The location of the resource." + }, + "tags": { + "readOnly": true, + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags of the resource." + } + }, + "description": "A definition of an Azure resource.", + "x-ms-azure-resource": true + }, + "ProxyResource": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "The ETag of the resource, used for concurrency statements." + } + }, + "description": "A definition of an Azure resource.", + "x-ms-azure-resource": true + }, + "PublicNetworkAccessType": { + "type": "string", + "description": "The network access type for operating on the resources in the Batch account.", + "default": "Enabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccessType", + "modelAsString": false, + "values": [ + { + "value": "Enabled", + "description": "Enables connectivity to Azure Batch through public DNS." + }, + { + "value": "Disabled", + "description": "Disables public connectivity and enables private connectivity to Azure Batch Service through private endpoint resource." + } + ] + } + }, + "PoolAllocationMode": { + "type": "string", + "description": "The allocation mode for creating pools in the Batch account.", + "enum": [ + "BatchService", + "UserSubscription" + ], + "x-ms-enum": { + "name": "PoolAllocationMode", + "modelAsString": false, + "values": [ + { + "value": "BatchService", + "description": "Pools will be allocated in subscriptions owned by the Batch service." + }, + { + "value": "UserSubscription", + "description": "Pools will be allocated in a subscription owned by the user." + } + ] + } + }, + "CertificateBaseProperties": { + "properties": { + "thumbprintAlgorithm": { + "type": "string", + "title": "The algorithm of the certificate thumbprint.", + "description": "This must match the first portion of the certificate name. Currently required to be 'SHA1'." + }, + "thumbprint": { + "type": "string", + "title": "The thumbprint of the certificate.", + "description": "This must match the thumbprint from the name." + }, + "format": { + "type": "string", + "x-nullable": false, + "description": "The format of the certificate - either Pfx or Cer. If omitted, the default is Pfx.", + "enum": [ + "Pfx", + "Cer" + ], + "x-ms-enum": { + "name": "CertificateFormat", + "modelAsString": false, + "values": [ + { + "value": "Pfx", + "description": "The certificate is a PFX (PKCS#12) formatted certificate or certificate chain." + }, + { + "value": "Cer", + "description": "The certificate is a base64-encoded X.509 certificate." + } + ] + } + } + } + }, + "CertificateProperties": { + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "x-nullable": false, + "title": "The provisioned state of the resource", + "enum": [ + "Succeeded", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "CertificateProvisioningState", + "modelAsString": false, + "values": [ + { + "value": "Succeeded", + "description": "The certificate is available for use in pools." + }, + { + "value": "Deleting", + "description": "The user has requested that the certificate be deleted, but the delete operation has not yet completed. You may not reference the certificate when creating or updating pools." + }, + { + "value": "Failed", + "description": "The user requested that the certificate be deleted, but there are pools that still have references to the certificate, or it is still installed on one or more compute nodes. (The latter can occur if the certificate has been removed from the pool, but the node has not yet restarted. Nodes refresh their certificates only when they restart.) You may use the cancel certificate delete operation to cancel the delete, or the delete certificate operation to retry the delete." + } + ] + } + }, + "provisioningStateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the certificate entered its current state.", + "readOnly": true + }, + "previousProvisioningState": { + "type": "string", + "readOnly": true, + "x-nullable": false, + "description": "The previous provisioned state of the resource", + "enum": [ + "Succeeded", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "CertificateProvisioningState", + "modelAsString": false, + "values": [ + { + "value": "Succeeded", + "description": "The certificate is available for use in pools." + }, + { + "value": "Deleting", + "description": "The user has requested that the certificate be deleted, but the delete operation has not yet completed. You may not reference the certificate when creating or updating pools." + }, + { + "value": "Failed", + "description": "The user requested that the certificate be deleted, but there are pools that still have references to the certificate, or it is still installed on one or more compute nodes. (The latter can occur if the certificate has been removed from the pool, but the node has not yet restarted. Nodes refresh their certificates only when they restart.) You may use the cancel certificate delete operation to cancel the delete, or the delete certificate operation to retry the delete." + } + ] + } + }, + "previousProvisioningStateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the certificate entered its previous state.", + "readOnly": true + }, + "publicData": { + "type": "string", + "readOnly": true, + "description": "The public key of the certificate." + }, + "deleteCertificateError": { + "readOnly": true, + "$ref": "#/definitions/DeleteCertificateError", + "title": "The error which occurred while deleting the certificate", + "description": "This is only returned when the certificate provisioningState is 'Failed'." + } + }, + "allOf": [ + { + "$ref": "#/definitions/CertificateBaseProperties" + } + ], + "description": "Certificate properties." + }, + "CertificateCreateOrUpdateProperties": { + "allOf": [ + { + "$ref": "#/definitions/CertificateBaseProperties" + } + ], + "properties": { + "data": { + "type": "string", + "title": "The base64-encoded contents of the certificate.", + "description": "The maximum size is 10KB." + }, + "password": { + "type": "string", + "title": "The password to access the certificate's private key.", + "description": "This must not be specified if the certificate format is Cer." + } + }, + "description": "Certificate properties for create operations", + "required": [ + "data" + ] + }, + "Certificate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CertificateProperties", + "description": "The properties associated with the certificate." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "Contains information about a certificate." + }, + "CertificateCreateOrUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CertificateCreateOrUpdateProperties", + "description": "The properties associated with the certificate." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "Contains information about a certificate." + }, + "ListCertificatesResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + }, + "description": "The collection of returned certificates." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List operation." + }, + "DeleteCertificateError": { + "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/DeleteCertificateError" + }, + "description": "A list of additional details about the error." + } + }, + "required": [ + "code", + "message" + ], + "description": "An error response from the Batch service." + }, + "PrivateLinkResource": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "The properties associated with the private link resource." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "Contains information about a private link resource." + }, + "PrivateLinkResourceProperties": { + "properties": { + "groupId": { + "type": "string", + "title": "The group id of the private link resource.", + "description": "The group id is used to establish the private link connection.", + "readOnly": true + }, + "requiredMembers": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The list of required members that are used to establish the private link connection.", + "readOnly": true + }, + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The list of required zone names for the private DNS resource name", + "readOnly": true + } + }, + "description": "Private link resource properties." + }, + "PrivateEndpointConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The properties associated with the private endpoint connection." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "Contains information about a private link resource." + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "x-nullable": false, + "title": "The provisioning state of the private endpoint connection.", + "enum": [ + "Succeeded", + "Updating", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": false, + "values": [ + { + "value": "Succeeded", + "description": "The connection status is final and is ready for use if Status is Approved." + }, + { + "value": "Updating", + "description": "The user has requested that the connection status be updated, but the update operation has not yet completed. You may not reference the connection when connecting the Batch account." + }, + { + "value": "Failed", + "description": "The user requested that the connection be updated and it failed. You may retry the update operation." + } + ] + } + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "title": "The ARM resource identifier of the private endpoint." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "title": "The private link service connection state of the private endpoint connection." + } + }, + "description": "Private endpoint connection properties." + }, + "PrivateEndpoint": { + "properties": { + "id": { + "type": "string", + "title": "The ARM resource identifier of the private endpoint. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/privateEndpoints/{privateEndpoint}.", + "readOnly": true + } + }, + "description": "The private endpoint of the private endpoint connection." + }, + "PrivateLinkServiceConnectionState": { + "properties": { + "status": { + "$ref": "#/definitions/PrivateLinkServiceConnectionStatus", + "title": "The status for the private endpoint connection of Batch account" + }, + "description": { + "type": "string", + "title": "Description of the private Connection state" + }, + "actionRequired": { + "type": "string", + "title": "Action required on the private connection state", + "readOnly": true + } + }, + "required": [ + "status" + ], + "description": "The private link service connection state of the private endpoint connection" + }, + "PrivateLinkServiceConnectionStatus": { + "type": "string", + "title": "The status of the Batch private endpoint connection", + "enum": [ + "Approved", + "Pending", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionStatus", + "modelAsString": false, + "values": [ + { + "value": "Approved", + "description": "The private endpoint connection is approved and can be used to access Batch account" + }, + { + "value": "Pending", + "description": "The private endpoint connection is pending and cannot be used to access Batch account" + }, + { + "value": "Rejected", + "description": "The private endpoint connection is rejected and cannot be used to access Batch account" + }, + { + "value": "Disconnected", + "description": "The private endpoint connection is disconnected and cannot be used to access Batch account" + } + ] + } + }, + "Pool": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PoolProperties", + "description": "The properties associated with the pool." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "Contains information about a pool." + }, + "PoolProperties": { + "properties": { + "displayName": { + "type": "string", + "title": "The display name for the pool.", + "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024." + }, + "lastModified": { + "type": "string", + "format": "date-time", + "title": "The last modified time of the pool.", + "description": "This is the last time at which the pool level data, such as the targetDedicatedNodes or autoScaleSettings, changed. It does not factor in node-level changes such as a compute node changing state.", + "readOnly": true + }, + "creationTime": { + "type": "string", + "format": "date-time", + "title": "The creation time of the pool.", + "readOnly": true + }, + "provisioningState": { + "type": "string", + "title": "The current state of the pool.", + "enum": [ + "Succeeded", + "Deleting" + ], + "x-ms-enum": { + "name": "PoolProvisioningState", + "modelAsString": false, + "values": [ + { + "value": "Succeeded", + "description": "The pool is available to run tasks subject to the availability of compute nodes." + }, + { + "value": "Deleting", + "description": "The user has requested that the pool be deleted, but the delete operation has not yet completed." + } + ] + }, + "readOnly": true + }, + "provisioningStateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the pool entered its current state.", + "readOnly": true + }, + "allocationState": { + "type": "string", + "title": "Whether the pool is resizing.", + "enum": [ + "Steady", + "Resizing", + "Stopping" + ], + "x-ms-enum": { + "name": "AllocationState", + "modelAsString": false, + "values": [ + { + "value": "Steady", + "description": "The pool is not resizing. There are no changes to the number of nodes in the pool in progress. A pool enters this state when it is created and when no operations are being performed on the pool to change the number of nodes." + }, + { + "value": "Resizing", + "description": "The pool is resizing; that is, compute nodes are being added to or removed from the pool." + }, + { + "value": "Stopping", + "description": "The pool was resizing, but the user has requested that the resize be stopped, but the stop request has not yet been completed." + } + ] + }, + "readOnly": true + }, + "allocationStateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the pool entered its current allocation state.", + "readOnly": true + }, + "vmSize": { + "type": "string", + "title": "The size of virtual machines in the pool. All VMs in a pool are the same size.", + "description": "For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)." + }, + "deploymentConfiguration": { + "$ref": "#/definitions/DeploymentConfiguration", + "title": "This property describes how the pool nodes will be deployed - using Cloud Services or Virtual Machines.", + "description": "Using CloudServiceConfiguration specifies that the nodes should be creating using Azure Cloud Services (PaaS), while VirtualMachineConfiguration uses Azure Virtual Machines (IaaS)." + }, + "currentDedicatedNodes": { + "type": "integer", + "format": "int32", + "title": "The number of compute nodes currently in the pool.", + "readOnly": true + }, + "currentLowPriorityNodes": { + "type": "integer", + "format": "int32", + "title": "The number of low priority compute nodes currently in the pool.", + "readOnly": true + }, + "scaleSettings": { + "$ref": "#/definitions/ScaleSettings", + "title": "Settings which configure the number of nodes in the pool." + }, + "autoScaleRun": { + "$ref": "#/definitions/AutoScaleRun", + "title": "The results and errors from the last execution of the autoscale formula.", + "description": "This property is set only if the pool automatically scales, i.e. autoScaleSettings are used.", + "readOnly": true + }, + "interNodeCommunication": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "InterNodeCommunicationState", + "modelAsString": false, + "values": [ + { + "value": "Enabled", + "description": "Enable network communication between virtual machines." + }, + { + "value": "Disabled", + "description": "Disable network communication between virtual machines." + } + ] + }, + "title": "Whether the pool permits direct communication between nodes.", + "description": "This imposes restrictions on which nodes can be assigned to the pool. Enabling this value can reduce the chance of the requested number of nodes to be allocated in the pool. If not specified, this value defaults to 'Disabled'." + }, + "networkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration", + "title": "The network configuration for the pool." + }, + "maxTasksPerNode": { + "type": "integer", + "format": "int32", + "title": "The maximum number of tasks that can run concurrently on a single compute node in the pool.", + "description": "The default value is 1. The maximum value is the smaller of 4 times the number of cores of the vmSize of the pool or 256." + }, + "taskSchedulingPolicy": { + "$ref": "#/definitions/TaskSchedulingPolicy", + "title": "How tasks are distributed across compute nodes in a pool.", + "description": "If not specified, the default is spread." + }, + "userAccounts": { + "type": "array", + "items": { + "$ref": "#/definitions/UserAccount" + }, + "title": "The list of user accounts to be created on each node in the pool." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the pool as metadata.", + "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code." + }, + "startTask": { + "$ref": "#/definitions/StartTask", + "title": "A task specified to run on each compute node as it joins the pool.", + "description": "In an PATCH (update) operation, this property can be set to an empty object to remove the start task from the pool." + }, + "certificates": { + "type": "array", + "items": { + "$ref": "#/definitions/CertificateReference" + }, + "title": "The list of certificates to be installed on each compute node in the pool.", + "description": "For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory." + }, + "applicationPackages": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationPackageReference" + }, + "title": "The list of application packages to be installed on each compute node in the pool.", + "description": "Changes to application package references affect all new compute nodes joining the pool, but do not affect compute nodes that are already in the pool until they are rebooted or reimaged. There is a maximum of 10 application package references on any given pool." + }, + "applicationLicenses": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The list of application licenses the Batch service will make available on each compute node in the pool.", + "description": "The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, pool creation will fail." + }, + "resizeOperationStatus": { + "$ref": "#/definitions/ResizeOperationStatus", + "title": "Contains details about the current or last completed resize operation.", + "readOnly": true + }, + "mountConfiguration": { + "type": "array", + "items": { + "$ref": "#/definitions/MountConfiguration" + }, + "title": "A list of file systems to mount on each node in the pool.", + "description": "This supports Azure Files, NFS, CIFS/SMB, and Blobfuse." + } + }, + "description": "Pool properties." + }, + "DeploymentConfiguration": { + "properties": { + "cloudServiceConfiguration": { + "$ref": "#/definitions/CloudServiceConfiguration", + "title": "The cloud service configuration for the pool.", + "description": "This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. This property cannot be specified if the Batch account was created with its poolAllocationMode property set to 'UserSubscription'." + }, + "virtualMachineConfiguration": { + "$ref": "#/definitions/VirtualMachineConfiguration", + "title": "The virtual machine configuration for the pool.", + "description": "This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified." + } + }, + "title": "Deployment configuration properties." + }, + "ScaleSettings": { + "properties": { + "fixedScale": { + "$ref": "#/definitions/FixedScaleSettings", + "title": "Fixed scale settings for the pool.", + "description": "This property and autoScale are mutually exclusive and one of the properties must be specified." + }, + "autoScale": { + "$ref": "#/definitions/AutoScaleSettings", + "title": "AutoScale settings for the pool.", + "description": "This property and fixedScale are mutually exclusive and one of the properties must be specified." + } + }, + "title": "Scale settings for the pool", + "description": "Defines the desired size of the pool. This can either be 'fixedScale' where the requested targetDedicatedNodes is specified, or 'autoScale' which defines a formula which is periodically reevaluated. If this property is not specified, the pool will have a fixed scale with 0 targetDedicatedNodes." + }, + "AutoScaleSettings": { + "properties": { + "formula": { + "type": "string", + "title": "A formula for the desired number of compute nodes in the pool.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/azure/batch/batch-automatic-scaling", + "description": "Create an automatic scaling formula for scaling compute nodes in a Batch pool" + } + }, + "evaluationInterval": { + "type": "string", + "format": "duration", + "title": "The time interval at which to automatically adjust the pool size according to the autoscale formula.", + "description": "If omitted, the default value is 15 minutes (PT15M)." + } + }, + "required": [ + "formula" + ], + "title": "AutoScale settings for the pool." + }, + "FixedScaleSettings": { + "properties": { + "resizeTimeout": { + "type": "string", + "format": "duration", + "title": "The timeout for allocation of compute nodes to the pool.", + "description": "The default value is 15 minutes. Timeout values use ISO 8601 format. For example, use PT10M for 10 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service rejects the request with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + }, + "targetDedicatedNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of dedicated compute nodes in the pool.", + "description": "At least one of targetDedicatedNodes, targetLowPriorityNodes must be set." + }, + "targetLowPriorityNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of low-priority compute nodes in the pool.", + "description": "At least one of targetDedicatedNodes, targetLowPriorityNodes must be set." + }, + "nodeDeallocationOption": { + "title": "Determines what to do with a node and its running task(s) if the pool size is decreasing.", + "description": "If omitted, the default value is Requeue.", + "$ref": "#/definitions/ComputeNodeDeallocationOption" + } + }, + "title": "Fixed scale settings for the pool." + }, + "ComputeNodeDeallocationOption": { + "type": "string", + "title": "Determines what to do with a node and its running task(s) after it has been selected for deallocation.", + "enum": [ + "Requeue", + "Terminate", + "TaskCompletion", + "RetainedData" + ], + "x-ms-enum": { + "name": "ComputeNodeDeallocationOption", + "modelAsString": false, + "values": [ + { + "value": "Requeue", + "description": "Terminate running task processes and requeue the tasks. The tasks will run again when a node is available. Remove nodes as soon as tasks have been terminated." + }, + { + "value": "Terminate", + "description": "Terminate running tasks. The tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Remove nodes as soon as tasks have been terminated." + }, + { + "value": "TaskCompletion", + "description": "Allow currently running tasks to complete. Schedule no new tasks while waiting. Remove nodes when all tasks have completed." + }, + { + "value": "RetainedData", + "description": "Allow currently running tasks to complete, then wait for all task data retention periods to expire. Schedule no new tasks while waiting. Remove nodes when all task retention periods have expired." + } + ] + } + }, + "CertificateReference": { + "properties": { + "id": { + "type": "string", + "title": "The fully qualified ID of the certificate to install on the pool. This must be inside the same batch account as the pool." + }, + "storeLocation": { + "type": "string", + "title": "The location of the certificate store on the compute node into which to install the certificate.", + "description": "The default value is currentUser. This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.", + "enum": [ + "CurrentUser", + "LocalMachine" + ], + "x-ms-enum": { + "name": "CertificateStoreLocation", + "modelAsString": false, + "values": [ + { + "value": "CurrentUser", + "description": "Certificates should be installed to the CurrentUser certificate store." + }, + { + "value": "LocalMachine", + "description": "Certificates should be installed to the LocalMachine certificate store." + } + ] + } + }, + "storeName": { + "type": "string", + "title": "The name of the certificate store on the compute node into which to install the certificate.", + "description": "This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). Common store names include: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be used. The default value is My." + }, + "visibility": { + "type": "array", + "items": { + "type": "string", + "x-nullable": false, + "enum": [ + "StartTask", + "Task", + "RemoteUser" + ], + "x-ms-enum": { + "name": "CertificateVisibility", + "modelAsString": false, + "values": [ + { + "value": "StartTask", + "description": "The certificate should be visible to the user account under which the start task is run. Note that if AutoUser Scope is Pool for both the StartTask and a Task, this certificate will be visible to the Task as well." + }, + { + "value": "Task", + "description": "The certificate should be visible to the user accounts under which job tasks are run." + }, + { + "value": "RemoteUser", + "description": "The certificate should be visible to the user accounts under which users remotely access the node." + } + ] + } + }, + "title": "Which user accounts on the compute node should have access to the private data of the certificate." + } + }, + "required": [ + "id" + ], + "title": "A reference to a certificate to be installed on compute nodes in a pool. This must exist inside the same account as the pool." + }, + "ApplicationPackageReference": { + "properties": { + "id": { + "type": "string", + "title": "The ID of the application package to install. This must be inside the same batch account as the pool. This can either be a reference to a specific version or the default version if one exists." + }, + "version": { + "type": "string", + "title": "The version of the application to deploy. If omitted, the default version is deployed.", + "description": "If this is omitted, and no default version is specified for this application, the request fails with the error code InvalidApplicationPackageReferences. If you are calling the REST API directly, the HTTP status code is 409." + } + }, + "title": "Link to an application package inside the batch account", + "required": [ + "id" + ] + }, + "ResizeError": { + "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." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ResizeError" + }, + "title": "Additional details about the error." + } + }, + "title": "An error that occurred when resizing a pool.", + "required": [ + "code", + "message" + ] + }, + "AutoScaleRunError": { + "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." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/AutoScaleRunError" + }, + "title": "Additional details about the error." + } + }, + "title": "An error that occurred when autoscaling a pool.", + "required": [ + "code", + "message" + ] + }, + "AutoScaleRun": { + "properties": { + "evaluationTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the autoscale formula was last evaluated." + }, + "results": { + "type": "string", + "title": "The final values of all variables used in the evaluation of the autoscale formula.", + "description": "Each variable value is returned in the form $variable=value, and variables are separated by semicolons." + }, + "error": { + "$ref": "#/definitions/AutoScaleRunError", + "title": "Details of the error encountered evaluating the autoscale formula on the pool, if the evaluation was unsuccessful." + } + }, + "required": [ + "evaluationTime" + ], + "title": "The results and errors from an execution of a pool autoscale formula." + }, + "VirtualMachineConfiguration": { + "properties": { + "imageReference": { + "$ref": "#/definitions/ImageReference", + "title": "A reference to the Azure Virtual Machines Marketplace Image or the custom Virtual Machine Image to use." + }, + "nodeAgentSkuId": { + "type": "string", + "title": "The SKU of the Batch node agent to be provisioned on compute nodes in the pool.", + "description": "The Batch node agent is a program that runs on each node in the pool, and provides the command-and-control interface between the node and the Batch service. There are different implementations of the node agent, known as SKUs, for different operating systems. You must specify a node agent SKU which matches the selected image reference. To get the list of supported node agent SKUs along with their list of verified image references, see the 'List supported node agent SKUs' operation." + }, + "windowsConfiguration": { + "$ref": "#/definitions/WindowsConfiguration", + "title": "Windows operating system settings on the virtual machine.", + "description": "This property must not be specified if the imageReference specifies a Linux OS image." + }, + "dataDisks": { + "type": "array", + "items": { + "$ref": "#/definitions/DataDisk" + }, + "title": "The configuration for data disks attached to the compute nodes in the pool.", + "description": "This property must be specified if the compute nodes in the pool need to have empty data disks attached to them." + }, + "licenseType": { + "type": "string", + "title": "The type of on-premises license to be used when deploying the operating system.", + "description": "This only applies to images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are:\n\n Windows_Server - The on-premises license is for Windows Server.\n Windows_Client - The on-premises license is for Windows Client.\n" + }, + "containerConfiguration": { + "$ref": "#/definitions/ContainerConfiguration", + "title": "The container configuration for the pool.", + "description": "If specified, setup is performed on each node in the pool to allow tasks to run in containers. All regular tasks and job manager tasks run on this pool must specify the containerSettings property, and all other tasks may specify it." + }, + "diskEncryptionConfiguration": { + "$ref": "#/definitions/DiskEncryptionConfiguration", + "title": "The disk encryption configuration for the pool.", + "description": "If specified, encryption is performed on each node in the pool during node provisioning." + } + }, + "required": [ + "imageReference", + "nodeAgentSkuId" + ], + "title": "The configuration for compute nodes in a pool based on the Azure Virtual Machines infrastructure." + }, + "ContainerRegistry": { + "properties": { + "registryServer": { + "type": "string", + "title": "The registry URL.", + "description": "If omitted, the default is \"docker.io\"." + }, + "username": { + "type": "string", + "x-ms-client-name": "userName", + "title": "The user name to log into the registry server." + }, + "password": { + "type": "string", + "title": "The password to log into the registry server." + } + }, + "required": [ + "username", + "password" + ], + "title": "A private container registry." + }, + "DiskEncryptionConfiguration": { + "properties": { + "targets": { + "type": "array", + "items": { + "type": "string", + "x-nullable": false, + "title": "The disks to encrypt on each compute node.", + "description": "If omitted, no disks on the compute nodes in the pool will be encrypted.", + "enum": [ + "OsDisk", + "TemporaryDisk" + ], + "x-ms-enum": { + "name": "DiskEncryptionTarget", + "modelAsString": false, + "values": [ + { + "value": "OsDisk", + "description": "The OS Disk on the compute node is encrypted.", + "name": "OsDisk" + }, + { + "value": "TemporaryDisk", + "description": "The temporary disk on the compute node is encrypted. On Linux this encryption applies to other partitions (such as those on mounted data disks) when encryption occurs at boot time.", + "name": "TemporaryDisk" + } + ] + } + }, + "title": "The list of disk targets Batch Service will encrypt on the compute node", + "description": "On Linux pool, only \"TemporaryDisk\" is supported; on Windows pool, \"OsDisk\" and \"TemporaryDisk\" must be specified." + } + }, + "description": "The disk encryption configuration applied on compute nodes in the pool. Disk encryption configuration is not supported on Linux pool created with Virtual Machine Image or Shared Image Gallery Image." + }, + "ContainerConfiguration": { + "properties": { + "type": { + "type": "string", + "title": "The container technology to be used.", + "enum": [ + "DockerCompatible" + ], + "x-ms-enum": { + "name": "ContainerType", + "modelAsString": false, + "values": [ + { + "value": "DockerCompatible", + "description": "A Docker compatible container technology will be used to launch the containers." + } + ] + } + }, + "containerImageNames": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The collection of container image names.", + "description": "This is the full image reference, as would be specified to \"docker pull\". An image will be sourced from the default Docker registry unless the image is fully qualified with an alternative registry." + }, + "containerRegistries": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerRegistry" + }, + "title": "Additional private registries from which containers can be pulled.", + "description": "If any images must be downloaded from a private registry which requires credentials, then those credentials must be provided here." + } + }, + "required": [ + "type" + ], + "title": "The configuration for container-enabled pools." + }, + "WindowsConfiguration": { + "properties": { + "enableAutomaticUpdates": { + "type": "boolean", + "title": "Whether automatic updates are enabled on the virtual machine.", + "description": "If omitted, the default value is true." + } + }, + "title": "Windows operating system settings to apply to the virtual machine." + }, + "ImageReference": { + "properties": { + "publisher": { + "type": "string", + "title": "The publisher of the Azure Virtual Machines Marketplace image.", + "description": "For example, Canonical or MicrosoftWindowsServer." + }, + "offer": { + "type": "string", + "title": "The offer type of the Azure Virtual Machines Marketplace image.", + "description": "For example, UbuntuServer or WindowsServer." + }, + "sku": { + "type": "string", + "title": "The SKU of the Azure Virtual Machines Marketplace image.", + "description": "For example, 18.04-LTS or 2019-Datacenter." + }, + "version": { + "type": "string", + "title": "The version of the Azure Virtual Machines Marketplace image.", + "description": "A value of 'latest' can be specified to select the latest version of an image. If omitted, the default is 'latest'." + }, + "id": { + "type": "string", + "title": "The ARM resource identifier of the Shared Image Gallery Image. Compute Nodes in the Pool will be created using this Image Id. This is of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageDefinitionName}/versions/{versionId}.", + "description": "This property is mutually exclusive with other properties. The Shared Image Gallery image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration." + } + }, + "title": "A reference to an Azure Virtual Machines Marketplace image or the Azure Image resource of a custom Virtual Machine. To get the list of all imageReferences verified by Azure Batch, see the 'List supported node agent SKUs' operation." + }, + "DataDisk": { + "properties": { + "lun": { + "type": "integer", + "format": "int32", + "title": "The logical unit number.", + "description": "The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun." + }, + "caching": { + "$ref": "#/definitions/CachingType", + "title": "The type of caching to be enabled for the data disks.", + "description": "Values are:\n\n none - The caching mode for the disk is not enabled.\n readOnly - The caching mode for the disk is read only.\n readWrite - The caching mode for the disk is read and write.\n\n The default value for caching is none. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "title": "The initial disk size in GB when creating new data disk." + }, + "storageAccountType": { + "title": "The storage account type to be used for the data disk.", + "description": "If omitted, the default is \"Standard_LRS\". Values are:\n\n Standard_LRS - The data disk should use standard locally redundant storage.\n Premium_LRS - The data disk should use premium locally redundant storage.", + "$ref": "#/definitions/StorageAccountType" + } + }, + "required": [ + "lun", + "diskSizeGB" + ], + "description": "Settings which will be used by the data disks associated to Compute Nodes in the Pool. When using attached data disks, you need to mount and format the disks from within a VM to use them." + }, + "TaskSchedulingPolicy": { + "properties": { + "nodeFillType": { + "type": "string", + "title": "How tasks should be distributed across compute nodes.", + "enum": [ + "Spread", + "Pack" + ], + "x-ms-enum": { + "name": "ComputeNodeFillType", + "modelAsString": false, + "values": [ + { + "value": "Spread", + "description": "Tasks should be assigned evenly across all nodes in the pool." + }, + { + "value": "Pack", + "description": "As many tasks as possible (maxTasksPerNode) should be assigned to each node in the pool before any tasks are assigned to the next node in the pool." + } + ] + } + } + }, + "required": [ + "nodeFillType" + ], + "title": "Specifies how tasks should be distributed across compute nodes." + }, + "LinuxUserConfiguration": { + "properties": { + "uid": { + "type": "integer", + "format": "int32", + "title": "The user ID of the user account.", + "description": "The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the uid." + }, + "gid": { + "type": "integer", + "format": "int32", + "title": "The group ID for the user account.", + "description": "The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the gid." + }, + "sshPrivateKey": { + "type": "string", + "title": "The SSH private key for the user account.", + "description": "The private key must not be password protected. The private key is used to automatically configure asymmetric-key based authentication for SSH between nodes in a Linux pool when the pool's enableInterNodeCommunication property is true (it is ignored if enableInterNodeCommunication is false). It does this by placing the key pair into the user's .ssh directory. If not specified, password-less SSH is not configured between nodes (no modification of the user's .ssh directory is done)." + } + }, + "title": "Properties used to create a user account on a Linux node." + }, + "WindowsUserConfiguration": { + "properties": { + "loginMode": { + "type": "string", + "title": "Login mode for user", + "description": "Specifies login mode for the user. The default value for VirtualMachineConfiguration pools is interactive mode and for CloudServiceConfiguration pools is batch mode.", + "enum": [ + "Batch", + "Interactive" + ], + "x-ms-enum": { + "name": "LoginMode", + "modelAsString": false, + "values": [ + { + "value": "Batch", + "description": "The LOGON32_LOGON_BATCH Win32 login mode. The batch login mode is recommended for long running parallel processes." + }, + { + "value": "Interactive", + "description": "The LOGON32_LOGON_INTERACTIVE Win32 login mode. Some applications require having permissions associated with the interactive login mode. If this is the case for an application used in your task, then this option is recommended." + } + ] + } + } + }, + "title": "Properties used to create a user account on a Windows node." + }, + "UserAccount": { + "properties": { + "name": { + "type": "string", + "title": "The name of the user account." + }, + "password": { + "type": "string", + "title": "The password for the user account." + }, + "elevationLevel": { + "title": "The elevation level of the user account.", + "description": "nonAdmin - The auto user is a standard user without elevated access. admin - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin.", + "$ref": "#/definitions/ElevationLevel" + }, + "linuxUserConfiguration": { + "title": "The Linux-specific user configuration for the user account.", + "description": "This property is ignored if specified on a Windows pool. If not specified, the user is created with the default options.", + "$ref": "#/definitions/LinuxUserConfiguration" + }, + "windowsUserConfiguration": { + "title": "The Windows-specific user configuration for the user account.", + "description": "This property can only be specified if the user is on a Windows pool. If not specified and on a Windows pool, the user is created with the default options.", + "$ref": "#/definitions/WindowsUserConfiguration" + } + }, + "required": [ + "name", + "password" + ], + "title": "Properties used to create a user on an Azure Batch node." + }, + "StartTask": { + "properties": { + "commandLine": { + "type": "string", + "title": "The command line of the start task.", + "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. Required if any other properties of the startTask are specified." + }, + "resourceFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceFile" + }, + "title": "A list of files that the Batch service will download to the compute node before running the command line." + }, + "environmentSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentSetting" + }, + "title": "A list of environment variable settings for the start task." + }, + "userIdentity": { + "$ref": "#/definitions/UserIdentity", + "title": "The user identity under which the start task runs.", + "description": "If omitted, the task runs as a non-administrative user unique to the task." + }, + "maxTaskRetryCount": { + "type": "integer", + "format": "int32", + "title": "The maximum number of times the task may be retried.", + "description": "The Batch service retries a task if its exit code is nonzero. Note that this value specifically controls the number of retries. The Batch service will try the task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the task. If the maximum retry count is -1, the Batch service retries the task without limit." + }, + "waitForSuccess": { + "type": "boolean", + "title": "Whether the Batch service should wait for the start task to complete successfully (that is, to exit with exit code 0) before scheduling any tasks on the compute node.", + "description": "If true and the start task fails on a compute node, the Batch service retries the start task up to its maximum retry count (maxTaskRetryCount). If the task has still not completed successfully after all retries, then the Batch service marks the compute node unusable, and will not schedule tasks to it. This condition can be detected via the node state and scheduling error detail. If false, the Batch service will not wait for the start task to complete. In this case, other tasks can start executing on the compute node while the start task is still running; and even if the start task fails, new tasks will continue to be scheduled on the node. The default is true." + }, + "containerSettings": { + "$ref": "#/definitions/TaskContainerSettings", + "title": "The settings for the container under which the start task runs.", + "description": "When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container." + } + }, + "title": "A task which is run when a compute node joins a pool in the Azure Batch service, or when the compute node is rebooted or reimaged.", + "description": "In some cases the start task may be re-run even though the node was not rebooted. Due to this, start tasks should be idempotent and exit gracefully if the setup they're performing has already been done. Special care should be taken to avoid start tasks which create breakaway process or install/launch services from the start task working directory, as this will block Batch from being able to re-run the start task." + }, + "TaskContainerSettings": { + "properties": { + "containerRunOptions": { + "type": "string", + "title": "Additional options to the container create command.", + "description": "These additional options are supplied as arguments to the \"docker create\" command, in addition to those controlled by the Batch Service." + }, + "imageName": { + "type": "string", + "title": "The image to use to create the container in which the task will run.", + "description": "This is the full image reference, as would be specified to \"docker pull\". If no tag is provided as part of the image name, the tag \":latest\" is used as a default." + }, + "registry": { + "$ref": "#/definitions/ContainerRegistry", + "title": "The private registry which contains the container image.", + "description": "This setting can be omitted if was already provided at pool creation." + }, + "workingDirectory": { + "type": "string", + "title": "A flag to indicate where the container task working directory is. The default is 'taskWorkingDirectory'.", + "enum": [ + "TaskWorkingDirectory", + "ContainerImageDefault" + ], + "x-ms-enum": { + "name": "ContainerWorkingDirectory", + "modelAsString": false, + "values": [ + { + "value": "TaskWorkingDirectory", + "description": "Use the standard Batch service task working directory, which will contain the Task resource files populated by Batch." + }, + { + "value": "ContainerImageDefault", + "description": "Using container image defined working directory. Beware that this directory will not contain the resource files downloaded by Batch." + } + ] + } + } + }, + "required": [ + "imageName" + ], + "title": "The container settings for a task." + }, + "ResourceFile": { + "properties": { + "autoStorageContainerName": { + "type": "string", + "title": "The storage container name in the auto storage account.", + "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified." + }, + "storageContainerUrl": { + "type": "string", + "title": "The URL of the blob container within Azure Blob Storage.", + "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. This URL must be readable and listable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the blob, or set the ACL for the blob or its container to allow public access." + }, + "httpUrl": { + "type": "string", + "title": "The URL of the file to download.", + "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. If the URL is Azure Blob Storage, it must be readable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, or set the ACL for the blob or its container to allow public access." + }, + "blobPrefix": { + "type": "string", + "title": "The blob prefix to use when downloading blobs from an Azure Storage container. Only the blobs whose names begin with the specified prefix will be downloaded.", + "description": "The property is valid only when autoStorageContainerName or storageContainerUrl is used. This prefix can be a partial filename or a subdirectory. If a prefix is not specified, all the files in the container will be downloaded." + }, + "filePath": { + "type": "string", + "title": "The location on the compute node to which to download the file, relative to the task's working directory.", + "description": "If the httpUrl property is specified, the filePath is required and describes the path which the file will be downloaded to, including the filename. Otherwise, if the autoStorageContainerName or storageContainerUrl property is specified, filePath is optional and is the directory to download the files to. In the case where filePath is used as a directory, any directory structure already associated with the input data will be retained in full and appended to the specified filePath directory. The specified relative path cannot break out of the task's working directory (for example by using '..')." + }, + "fileMode": { + "type": "string", + "title": "The file permission mode attribute in octal format.", + "description": "This property applies only to files being downloaded to Linux compute nodes. It will be ignored if it is specified for a resourceFile which will be downloaded to a Windows node. If this property is not specified for a Linux node, then a default value of 0770 is applied to the file." + } + }, + "title": "A single file or multiple files to be downloaded to a compute node." + }, + "EnvironmentSetting": { + "properties": { + "name": { + "type": "string", + "title": "The name of the environment variable." + }, + "value": { + "type": "string", + "title": "The value of the environment variable." + } + }, + "required": [ + "name" + ], + "title": "An environment variable to be set on a task process." + }, + "UserIdentity": { + "properties": { + "userName": { + "type": "string", + "title": "The name of the user identity under which the task is run.", + "description": "The userName and autoUser properties are mutually exclusive; you must specify one but not both." + }, + "autoUser": { + "$ref": "#/definitions/AutoUserSpecification", + "title": "The auto user under which the task is run.", + "description": "The userName and autoUser properties are mutually exclusive; you must specify one but not both." + } + }, + "title": "The definition of the user identity under which the task is run.", + "description": "Specify either the userName or autoUser property, but not both." + }, + "AutoUserSpecification": { + "properties": { + "scope": { + "type": "string", + "title": "The scope for the auto user", + "description": "The default value is Pool. If the pool is running Windows a value of Task should be specified if stricter isolation between tasks is required. For example, if the task mutates the registry in a way which could impact other tasks, or if certificates have been specified on the pool which should not be accessible by normal tasks but should be accessible by start tasks.", + "enum": [ + "Task", + "Pool" + ], + "x-ms-enum": { + "name": "AutoUserScope", + "modelAsString": false, + "values": [ + { + "value": "Task", + "description": "Specifies that the service should create a new user for the task." + }, + { + "value": "Pool", + "description": "Specifies that the task runs as the common auto user account which is created on every node in a pool." + } + ] + } + }, + "elevationLevel": { + "title": "The elevation level of the auto user.", + "description": "The default value is nonAdmin.", + "$ref": "#/definitions/ElevationLevel" + } + }, + "title": "Specifies the parameters for the auto user that runs a task on the Batch service." + }, + "ElevationLevel": { + "type": "string", + "title": "The elevation level of the user.", + "enum": [ + "NonAdmin", + "Admin" + ], + "x-ms-enum": { + "name": "ElevationLevel", + "modelAsString": false, + "values": [ + { + "value": "NonAdmin", + "description": "The user is a standard user without elevated access." + }, + { + "value": "Admin", + "description": "The user is a user with elevated access and operates with full Administrator permissions." + } + ] + } + }, + "StorageAccountType": { + "type": "string", + "title": "The storage account type for use in creating data disks.", + "enum": [ + "Standard_LRS", + "Premium_LRS" + ], + "x-ms-enum": { + "name": "StorageAccountType", + "modelAsString": false, + "values": [ + { + "value": "Standard_LRS", + "description": "The data disk should use standard locally redundant storage." + }, + { + "value": "Premium_LRS", + "description": "The data disk should use premium locally redundant storage." + } + ] + } + }, + "CachingType": { + "type": "string", + "title": "The type of caching to enable for the disk.", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ], + "x-ms-enum": { + "name": "CachingType", + "modelAsString": false, + "values": [ + { + "value": "None", + "description": "The caching mode for the disk is not enabled." + }, + { + "value": "ReadOnly", + "description": "The caching mode for the disk is read only." + }, + { + "value": "ReadWrite", + "description": "The caching mode for the disk is read and write." + } + ] + } + }, + "IPAddressProvisioningType": { + "type": "string", + "title": "The provisioning type for Public IP Addresses for the Batch Pool.", + "enum": [ + "BatchManaged", + "UserManaged", + "NoPublicIPAddresses" + ], + "x-ms-enum": { + "name": "IPAddressProvisioningType", + "modelAsString": false, + "values": [ + { + "value": "BatchManaged", + "description": "A public IP will be created and managed by Batch. There may be multiple public IPs depending on the size of the Pool." + }, + { + "value": "UserManaged", + "description": "Public IPs are provided by the user and will be used to provision the Compute Nodes." + }, + { + "value": "NoPublicIPAddresses", + "description": "No public IP Address will be created for the Compute Nodes in the Pool." + } + ] + } + }, + "PublicIPAddressConfiguration": { + "properties": { + "provision": { + "$ref": "#/definitions/IPAddressProvisioningType", + "title": "The provisioning type for Public IP Addresses for the pool", + "description": "The default value is BatchManaged" + }, + "ipAddressIds": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The list of public IPs which the Batch service will use when provisioning Compute Nodes.", + "description": "The number of IPs specified here limits the maximum size of the Pool - 50 dedicated nodes or 20 low-priority nodes can be allocated for each public IP. For example, a pool needing 150 dedicated VMs would need at least 3 public IPs specified. Each element of this collection is of the form: /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}." + } + }, + "description": "The public IP Address configuration of the networking configuration of a Pool." + }, + "NetworkConfiguration": { + "properties": { + "subnetId": { + "type": "string", + "title": "The ARM resource identifier of the virtual network subnet which the compute nodes of the pool will join. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}.", + "description": "The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication. For pools created with a virtual machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. For pools created with a cloud service configuration, enable ports 10100, 20100, and 30100. Also enable outbound connections to Azure Storage on port 443. For cloudServiceConfiguration pools, only 'classic' VNETs are supported. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration", + "externalDocs": { + "url": "https://azure.microsoft.com/en-us/documentation/articles/role-based-access-built-in-roles/#classic-virtual-machine-contributor", + "description": "Setting up RBAC for Azure Batch VNets" + } + }, + "endpointConfiguration": { + "$ref": "#/definitions/PoolEndpointConfiguration", + "title": "The configuration for endpoints on compute nodes in the Batch pool.", + "description": "Pool endpoint configuration is only supported on pools with the virtualMachineConfiguration property." + }, + "publicIPAddressConfiguration": { + "$ref": "#/definitions/PublicIPAddressConfiguration", + "title": "The Public IPAddress configuration for Compute Nodes in the Batch Pool.", + "description": "This property is only supported on Pools with the virtualMachineConfiguration property." + } + }, + "description": "The network configuration for a pool." + }, + "CloudServiceConfiguration": { + "properties": { + "osFamily": { + "type": "string", + "title": "The Azure Guest OS family to be installed on the virtual machines in the pool.", + "description": "Possible values are: 2 - OS Family 2, equivalent to Windows Server 2008 R2 SP1. 3 - OS Family 3, equivalent to Windows Server 2012. 4 - OS Family 4, equivalent to Windows Server 2012 R2. 5 - OS Family 5, equivalent to Windows Server 2016. 6 - OS Family 6, equivalent to Windows Server 2019. For more information, see Azure Guest OS Releases (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)." + }, + "osVersion": { + "type": "string", + "title": "The Azure Guest OS version to be installed on the virtual machines in the pool.", + "description": "The default value is * which specifies the latest operating system version for the specified OS family." + } + }, + "required": [ + "osFamily" + ], + "title": "The configuration for nodes in a pool based on the Azure Cloud Services platform." + }, + "MetadataItem": { + "properties": { + "name": { + "type": "string", + "title": "The name of the metadata item." + }, + "value": { + "type": "string", + "title": "The value of the metadata item." + } + }, + "required": [ + "name", + "value" + ], + "title": "A name-value pair associated with a Batch service resource.", + "description": "The Batch service does not assign any meaning to this metadata; it is solely for the use of user code." + }, + "ResizeOperationStatus": { + "properties": { + "targetDedicatedNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of dedicated compute nodes in the pool." + }, + "targetLowPriorityNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of low-priority compute nodes in the pool." + }, + "resizeTimeout": { + "type": "string", + "format": "duration", + "title": "The timeout for allocation of compute nodes to the pool or removal of compute nodes from the pool.", + "description": "The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + }, + "nodeDeallocationOption": { + "title": "Determines what to do with a node and its running task(s) if the pool size is decreasing.", + "description": "The default value is requeue.", + "$ref": "#/definitions/ComputeNodeDeallocationOption" + }, + "startTime": { + "type": "string", + "format": "date-time", + "title": "The time when this resize operation was started." + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/definitions/ResizeError" + }, + "title": "Details of any errors encountered while performing the last resize on the pool.", + "description": "This property is set only if an error occurred during the last pool resize, and only when the pool allocationState is Steady." + } + }, + "title": "Details about the current or last completed resize operation.", + "description": "Describes either the current operation (if the pool AllocationState is Resizing) or the previously completed operation (if the AllocationState is Steady)." + }, + "PoolEndpointConfiguration": { + "properties": { + "inboundNatPools": { + "type": "array", + "items": { + "$ref": "#/definitions/InboundNatPool" + }, + "title": "A list of inbound NAT pools that can be used to address specific ports on an individual compute node externally.", + "description": "The maximum number of inbound NAT pools per Batch pool is 5. If the maximum number of inbound NAT pools is exceeded the request fails with HTTP status code 400." + } + }, + "required": [ + "inboundNatPools" + ], + "title": "The endpoint configuration for a pool." + }, + "InboundNatPool": { + "properties": { + "name": { + "type": "string", + "title": "The name of the endpoint.", + "description": "The name must be unique within a Batch pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters. If any invalid values are provided the request fails with HTTP status code 400." + }, + "protocol": { + "type": "string", + "title": "The protocol of the endpoint.", + "enum": [ + "TCP", + "UDP" + ], + "x-ms-enum": { + "name": "InboundEndpointProtocol", + "modelAsString": false, + "values": [ + { + "value": "TCP", + "description": "Use TCP for the endpoint." + }, + { + "value": "UDP", + "description": "Use UDP for the endpoint." + } + ] + } + }, + "backendPort": { + "type": "integer", + "format": "int32", + "title": "The port number on the compute node.", + "description": "This must be unique within a Batch pool. Acceptable values are between 1 and 65535 except for 22, 3389, 29876 and 29877 as these are reserved. If any reserved values are provided the request fails with HTTP status code 400." + }, + "frontendPortRangeStart": { + "type": "integer", + "format": "int32", + "title": "The first port number in the range of external ports that will be used to provide inbound access to the backendPort on individual compute nodes.", + "description": "Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved. All ranges within a pool must be distinct and cannot overlap. If any reserved or overlapping values are provided the request fails with HTTP status code 400." + }, + "frontendPortRangeEnd": { + "type": "integer", + "format": "int32", + "title": "The last port number in the range of external ports that will be used to provide inbound access to the backendPort on individual compute nodes.", + "description": "Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved by the Batch service. All ranges within a pool must be distinct and cannot overlap. If any reserved or overlapping values are provided the request fails with HTTP status code 400." + }, + "networkSecurityGroupRules": { + "type": "array", + "title": "A list of network security group rules that will be applied to the endpoint.", + "description": "The maximum number of rules that can be specified across all the endpoints on a Batch pool is 25. If no network security group rules are specified, a default rule will be created to allow inbound access to the specified backendPort. If the maximum number of network security group rules is exceeded the request fails with HTTP status code 400.", + "items": { + "$ref": "#/definitions/NetworkSecurityGroupRule" + } + } + }, + "required": [ + "name", + "protocol", + "backendPort", + "frontendPortRangeStart", + "frontendPortRangeEnd" + ], + "title": "A inbound NAT pool that can be used to address specific ports on compute nodes in a Batch pool externally." + }, + "NetworkSecurityGroupRule": { + "properties": { + "priority": { + "type": "integer", + "format": "int32", + "title": "The priority for this rule.", + "description": "Priorities within a pool must be unique and are evaluated in order of priority. The lower the number the higher the priority. For example, rules could be specified with order numbers of 150, 250, and 350. The rule with the order number of 150 takes precedence over the rule that has an order of 250. Allowed priorities are 150 to 4096. If any reserved or duplicate values are provided the request fails with HTTP status code 400." + }, + "access": { + "type": "string", + "title": "The action that should be taken for a specified IP address, subnet range or tag.", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "NetworkSecurityGroupRuleAccess", + "modelAsString": false, + "values": [ + { + "value": "Allow", + "description": "Allow access." + }, + { + "value": "Deny", + "description": "Deny access." + } + ] + } + }, + "sourceAddressPrefix": { + "type": "string", + "title": "The source address prefix or tag to match for the rule.", + "description": "Valid values are a single IP address (i.e. 10.10.10.10), IP subnet (i.e. 192.168.1.0/24), default tag, or * (for all addresses). If any other values are provided the request fails with HTTP status code 400." + }, + "sourcePortRanges": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The source port ranges to match for the rule.", + "description": "Valid values are '*' (for all ports 0 - 65535) or arrays of ports or port ranges (i.e. 100-200). The ports should in the range of 0 to 65535 and the port ranges or ports can't overlap. If any other values are provided the request fails with HTTP status code 400. Default value will be *." + } + }, + "required": [ + "priority", + "access", + "sourceAddressPrefix" + ], + "title": "A network security group rule to apply to an inbound endpoint." + }, + "ListPrivateLinkResourcesResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "description": "The collection of returned private link resources." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List operation." + }, + "ListPrivateEndpointConnectionsResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The collection of returned private endpoint connection." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List operation." + }, + "ListPoolsResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Pool" + }, + "description": "The collection of returned pools." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List operation." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody" + } + }, + "description": "An error response from the Batch 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 Batch service." + }, + "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, or listKeys/action", + "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" + } + } + }, + "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." + } + } + }, + "CheckNameAvailabilityParameters": { + "properties": { + "name": { + "type": "string", + "description": "The name to check for availability" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Batch/batchAccounts" + ], + "x-ms-enum": { + "name": "ResourceType", + "modelAsString": false, + "values": [ + { + "value": "Microsoft.Batch/batchAccounts", + "description": "The Batch account resource type.", + "name": "BatchAccounts" + } + ] + }, + "description": "The resource type." + } + }, + "required": [ + "name", + "type" + ], + "description": "Parameters for a check name availability request." + }, + "CheckNameAvailabilityResult": { + "properties": { + "nameAvailable": { + "readOnly": true, + "type": "boolean", + "description": "Gets a boolean value that indicates whether the name is available for you to use. If true, the name is available. If false, the name has already been taken or invalid and cannot be used." + }, + "reason": { + "readOnly": true, + "type": "string", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "NameAvailabilityReason", + "modelAsString": false, + "values": [ + { + "value": "Invalid", + "description": "The requested name is invalid." + }, + { + "value": "AlreadyExists", + "description": "The requested name is already in use." + } + ] + }, + "description": "Gets the reason that a Batch account name could not be used. The Reason element is only returned if NameAvailable is false." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "Gets an error message explaining the Reason value in more detail." + } + }, + "description": "The CheckNameAvailability operation response." + }, + "MountConfiguration": { + "properties": { + "azureBlobFileSystemConfiguration": { + "$ref": "#/definitions/AzureBlobFileSystemConfiguration", + "title": "The Azure Storage Container to mount using blob FUSE on each node.", + "description": "This property is mutually exclusive with all other properties." + }, + "nfsMountConfiguration": { + "$ref": "#/definitions/NFSMountConfiguration", + "title": "The NFS file system to mount on each node.", + "description": "This property is mutually exclusive with all other properties." + }, + "cifsMountConfiguration": { + "$ref": "#/definitions/CIFSMountConfiguration", + "title": "The CIFS/SMB file system to mount on each node.", + "description": "This property is mutually exclusive with all other properties." + }, + "azureFileShareConfiguration": { + "$ref": "#/definitions/AzureFileShareConfiguration", + "title": "The Azure File Share to mount on each node.", + "description": "This property is mutually exclusive with all other properties." + } + }, + "title": "The file system to mount on each node." + }, + "AzureBlobFileSystemConfiguration": { + "properties": { + "accountName": { + "type": "string", + "title": "The Azure Storage Account name." + }, + "containerName": { + "type": "string", + "title": "The Azure Blob Storage Container name." + }, + "accountKey": { + "type": "string", + "title": "The Azure Storage Account key.", + "description": "This property is mutually exclusive with sasKey and one must be specified." + }, + "sasKey": { + "type": "string", + "title": "The Azure Storage SAS token.", + "description": "This property is mutually exclusive with accountKey and one must be specified." + }, + "blobfuseOptions": { + "type": "string", + "title": "Additional command line options to pass to the mount command.", + "description": "These are 'net use' options in Windows and 'mount' options in Linux." + }, + "relativeMountPath": { + "type": "string", + "title": "The relative path on the compute node where the file system will be mounted", + "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable." + } + }, + "required": [ + "accountName", + "containerName", + "relativeMountPath" + ], + "title": "Information used to connect to an Azure Storage Container using Blobfuse." + }, + "NFSMountConfiguration": { + "properties": { + "source": { + "type": "string", + "title": "The URI of the file system to mount." + }, + "relativeMountPath": { + "type": "string", + "title": "The relative path on the compute node where the file system will be mounted", + "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable." + }, + "mountOptions": { + "type": "string", + "title": "Additional command line options to pass to the mount command.", + "description": "These are 'net use' options in Windows and 'mount' options in Linux." + } + }, + "required": [ + "source", + "relativeMountPath" + ], + "title": "Information used to connect to an NFS file system." + }, + "CIFSMountConfiguration": { + "properties": { + "username": { + "type": "string", + "title": "The user to use for authentication against the CIFS file system." + }, + "source": { + "type": "string", + "title": "The URI of the file system to mount." + }, + "relativeMountPath": { + "type": "string", + "title": "The relative path on the compute node where the file system will be mounted", + "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable." + }, + "mountOptions": { + "type": "string", + "title": "Additional command line options to pass to the mount command.", + "description": "These are 'net use' options in Windows and 'mount' options in Linux." + }, + "password": { + "type": "string", + "title": "The password to use for authentication against the CIFS file system." + } + }, + "required": [ + "username", + "source", + "password", + "relativeMountPath" + ], + "title": "Information used to connect to a CIFS file system." + }, + "AzureFileShareConfiguration": { + "properties": { + "accountName": { + "type": "string", + "title": "The Azure Storage account name." + }, + "azureFileUrl": { + "type": "string", + "title": "The Azure Files URL.", + "description": "This is of the form 'https://{account}.file.core.windows.net/'." + }, + "accountKey": { + "type": "string", + "title": "The Azure Storage account key." + }, + "relativeMountPath": { + "type": "string", + "title": "The relative path on the compute node where the file system will be mounted", + "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable." + }, + "mountOptions": { + "type": "string", + "title": "Additional command line options to pass to the mount command.", + "description": "These are 'net use' options in Windows and 'mount' options in Linux." + } + }, + "required": [ + "accountName", + "azureFileUrl", + "accountKey", + "relativeMountPath" + ], + "title": "Information used to connect to an Azure Fileshare." + } + }, + "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)" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to be used with the HTTP request." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group that contains the Batch account.", + "x-ms-parameter-location": "method" + }, + "AccountNameParameter": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9]+$", + "minLength": 3, + "maxLength": 24, + "description": "The name of the Batch account.", + "x-ms-parameter-location": "method" + }, + "CertificateNameParameter": { + "name": "certificateName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[\\w]+-[\\w]+$", + "minLength": 5, + "maxLength": 45, + "description": "The identifier for the certificate. This must be made up of algorithm and thumbprint separated by a dash, and must match the certificate data in the request. For example SHA1-a3d1c5.", + "x-ms-parameter-location": "method" + }, + "PoolNameParameter": { + "name": "poolName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9_-]+$", + "minLength": 1, + "maxLength": 64, + "description": "The pool name. This must be unique within the account.", + "x-ms-parameter-location": "method" + }, + "PrivateLinkResourceNameParameter": { + "name": "privateLinkResourceName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9_-]+\\.?[a-fA-F0-9-]*$", + "minLength": 1, + "maxLength": 101, + "description": "The private link resource name. This must be unique within the account.", + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9_-]+\\.?[a-fA-F0-9-]*$", + "minLength": 1, + "maxLength": 101, + "description": "The private endpoint connection name. This must be unique within the account.", + "x-ms-parameter-location": "method" + }, + "ApplicationNameParameter": { + "name": "applicationName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9_-]+$", + "minLength": 1, + "maxLength": 64, + "description": "The name of the application. This must be unique within the account.", + "x-ms-parameter-location": "method" + }, + "VersionNameParameter": { + "name": "versionName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9_-][a-zA-Z0-9_.-]*$", + "minLength": 1, + "maxLength": 64, + "description": "The version of the application.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationCreate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationCreate.json new file mode 100644 index 000000000000..16009a56c7bb --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationCreate.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-05-01", + "subscriptionId": "subid", + "applicationName": "app1", + "parameters": { + "properties": { + "allowUpdates": false, + "displayName": "myAppName" + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D64F8EBB3DC411\"" + }, + "body": { + "type": "Microsoft.Batch/batchAccounts/applications", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1", + "name": "app1", + "etag": "W/\"0x8D64F8EBB3DC411\"", + "properties": { + "allowUpdates": false, + "displayName": "myAppName" + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationDelete.json new file mode 100644 index 000000000000..e8f03a6df4f0 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-05-01", + "subscriptionId": "subid", + "applicationName": "app1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationGet.json new file mode 100644 index 000000000000..dd5c284ca55f --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-05-01", + "subscriptionId": "subid", + "applicationName": "app1" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D64F915BDF7F00\"" + }, + "body": { + "type": "Microsoft.Batch/batchAccounts/applications", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1", + "name": "app1", + "etag": "W/\"0x8D64F915BDF7F00\"", + "properties": { + "allowUpdates": true, + "displayName": "Sample Application" + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationList.json new file mode 100644 index 000000000000..651478cdd313 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.Batch/batchAccounts/applications", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1", + "name": "app1", + "etag": "W/\"0x8D64F91A9089879\"", + "properties": { + "allowUpdates": false, + "defaultVersion": "1" + } + }, + { + "type": "Microsoft.Batch/batchAccounts/applications", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app2", + "name": "app1", + "etag": "W/\"0x8D64F91A9089879\"", + "properties": { + "allowUpdates": false, + "defaultVersion": "2.0", + "displayName": "myAppName" + } + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationPackageActivate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationPackageActivate.json new file mode 100644 index 000000000000..c1c09f9b22e3 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationPackageActivate.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-05-01", + "subscriptionId": "subid", + "applicationName": "app1", + "versionName": "1", + "parameters": { + "format": "zip" + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D64FEC83A3B436\"" + }, + "body": { + "type": "Microsoft.Batch/batchAccounts/applications/versions", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1/versions/1", + "name": "1", + "etag": "W/\"0x8D64FEC83A3B436\"", + "properties": { + "state": "Active", + "format": "zip", + "lastActivationTime": "2017-06-27T18:48:09.9330991Z" + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationPackageCreate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationPackageCreate.json new file mode 100644 index 000000000000..e0fd8532640a --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationPackageCreate.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-05-01", + "subscriptionId": "subid", + "applicationName": "app1", + "versionName": "1" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D64FEC83A3B436\"" + }, + "body": { + "type": "Microsoft.Batch/batchAccounts/applications/versions", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1/versions/1", + "name": "1", + "etag": "W/\"0x8D64FEC83A3B436\"", + "properties": { + "storageUrl": "http://mystorage1.blob.core.windows.net/myapp?mysas", + "storageUrlExpiry": "2017-06-27T18:48:09.9330991Z", + "state": "Pending" + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationPackageDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationPackageDelete.json new file mode 100644 index 000000000000..ebe52d66c821 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationPackageDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-05-01", + "subscriptionId": "subid", + "applicationName": "app1", + "versionName": "1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationPackageGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationPackageGet.json new file mode 100644 index 000000000000..28709cf90aec --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationPackageGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-05-01", + "subscriptionId": "subid", + "applicationName": "app1", + "versionName": "1" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D64FEC83A3B436\"" + }, + "body": { + "type": "Microsoft.Batch/batchAccounts/applications/versions", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1/versions/1", + "name": "1", + "etag": "W/\"0x8D64FEC83A3B436\"", + "properties": { + "state": "Active", + "format": "zip", + "lastActivationTime": "2017-06-27T18:48:09.9330991Z" + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationPackageList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationPackageList.json new file mode 100644 index 000000000000..6fe30818df6b --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationPackageList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-05-01", + "subscriptionId": "subid", + "applicationName": "app1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.Batch/batchAccounts/applications/versions", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1/versions/1.0", + "name": "1.0", + "etag": "W/\"0x8D64FF0B9F47F67\"", + "properties": { + "state": "Pending" + } + }, + { + "type": "Microsoft.Batch/batchAccounts/applications/versions", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1/versions/2.0", + "name": "2.0", + "etag": "W/\"0x8D64FF0B9F47F67\"", + "properties": { + "state": "Active", + "format": "zip", + "lastActivationTime": "2017-06-27T18:48:09.9330991Z" + } + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationUpdate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationUpdate.json new file mode 100644 index 000000000000..f081a5a7caef --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/ApplicationUpdate.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-05-01", + "subscriptionId": "subid", + "applicationName": "app1", + "parameters": { + "properties": { + "allowUpdates": true, + "displayName": "myAppName", + "defaultVersion": "2" + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D64F915BDF7F00\"" + }, + "body": { + "type": "Microsoft.Batch/batchAccounts/applications", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1", + "name": "app1", + "etag": "W/\"0x8D64F915BDF7F00\"", + "properties": { + "allowUpdates": true, + "displayName": "myAppName", + "defaultVersion": "2" + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountCreate_BYOS.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountCreate_BYOS.json new file mode 100644 index 000000000000..ad1deeb87891 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountCreate_BYOS.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-05-01", + "subscriptionId": "subid", + "parameters": { + "location": "japaneast", + "properties": { + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage" + }, + "poolAllocationMode": "UserSubscription", + "keyVaultReference": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.KeyVault/vaults/sample", + "url": "http://sample.vault.azure.net/" + } + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "UserSubscription", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "keyVaultReference": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.KeyVault/vaults/sample", + "url": "http://sample.vault.azure.net/" + }, + "publicNetworkAccess": "Enabled" + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountCreate_Default.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountCreate_Default.json new file mode 100644 index 000000000000..37ae0bdcc728 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountCreate_Default.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-05-01", + "subscriptionId": "subid", + "parameters": { + "location": "japaneast", + "properties": { + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage" + } + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "BatchService", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "publicNetworkAccess": "Enabled" + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountCreate_SystemAssignedIdentity.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountCreate_SystemAssignedIdentity.json new file mode 100644 index 000000000000..bf48db1bffb9 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountCreate_SystemAssignedIdentity.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-05-01", + "subscriptionId": "subid", + "parameters": { + "location": "japaneast", + "properties": { + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage" + } + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "BatchService", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "publicNetworkAccess": "Enabled" + }, + "identity": { + "principalId": "1a2e532b-9900-414c-8600-cfc6126628d7", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "type": "SystemAssigned" + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountDelete.json new file mode 100644 index 000000000000..9103547c7136 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountGet.json new file mode 100644 index 000000000000..401016113385 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "BatchService", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "publicNetworkAccess": "Enabled" + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountGetKeys.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountGetKeys.json new file mode 100644 index 000000000000..11bca180606c --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountGetKeys.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "accountName": "sampleacct", + "primary": "AAAA==", + "secondary": "BBBB==" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountList.json new file mode 100644 index 000000000000..4d4d1292d486 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "BatchService", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "publicNetworkAccess": "Enabled" + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountListByResourceGroup.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountListByResourceGroup.json new file mode 100644 index 000000000000..6a9dc23225aa --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountListByResourceGroup.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "BatchService", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "publicNetworkAccess": "Enabled" + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountRegenerateKey.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountRegenerateKey.json new file mode 100644 index 000000000000..ffb559ceebf5 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountRegenerateKey.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-05-01", + "subscriptionId": "subid", + "parameters": { + "keyName": "Primary" + } + }, + "responses": { + "200": { + "body": { + "accountName": "sampleacct", + "primary": "AAAA==", + "secondary": "BBBB==" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountSynchronizeAutoStorageKeys.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountSynchronizeAutoStorageKeys.json new file mode 100644 index 000000000000..224e8b5e867a --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountSynchronizeAutoStorageKeys.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-05-01", + "subscriptionId": "subid" + }, + "responses": { + "204": {} + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountUpdate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountUpdate.json new file mode 100644 index 000000000000..aab50023dd67 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/BatchAccountUpdate.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-05-01", + "subscriptionId": "subid", + "parameters": { + "properties": { + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "BatchService", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "publicNetworkAccess": "Enabled" + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateCancelDeletion.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateCancelDeletion.json new file mode 100644 index 000000000000..457a543600be --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateCancelDeletion.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-05-01", + "subscriptionId": "subid", + "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDD513C3EDBB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD513C3EDBB\"", + "properties": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z", + "previousProvisioningState": "Failed", + "previousProvisioningStateTransitionTime": "2017-07-21T00:22:54.3299195Z", + "format": "Pfx", + "publicData": "MIICrjCCAZagAwI..." + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateCreate_Full.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateCreate_Full.json new file mode 100644 index 000000000000..6c6b1f27ef7c --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateCreate_Full.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-05-01", + "subscriptionId": "subid", + "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "parameters": { + "properties": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "data": "MIIJsgIBAzCCCW4GCSqGSIb3DQE...", + "password": "KG0UY40e...", + "format": "Pfx" + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDD5118668F7\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD5118668F7\"", + "properties": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z", + "format": "Pfx", + "publicData": "MIICrjCCAZagAwI..." + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateCreate_Minimal.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateCreate_Minimal.json new file mode 100644 index 000000000000..f7ad8232a213 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateCreate_Minimal.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-05-01", + "subscriptionId": "subid", + "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "parameters": { + "properties": { + "data": "MIIJsgIBAzCCCW4GCSqGSIb3DQE...", + "password": "KG0UY40e..." + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDD5118668F7\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD5118668F7\"", + "properties": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z", + "format": "Pfx", + "publicData": "MIICrjCCAZagAwI..." + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateCreate_MinimalCer.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateCreate_MinimalCer.json new file mode 100644 index 000000000000..b3311c1ff0bd --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateCreate_MinimalCer.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-05-01", + "subscriptionId": "subid", + "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "parameters": { + "properties": { + "data": "MIICrjCCAZagAwI...", + "format": "Cer" + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDD5118668F7\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD5118668F7\"", + "properties": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z", + "format": "Cer", + "publicData": "MIICrjCCAZagAwI..." + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateDelete.json new file mode 100644 index 000000000000..21fda8af211f --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "api-version": "2020-05-01" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Retry-After": "15", + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/certificateOperationResults/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e-8D4EDFF164A11C9?api-version=2020-05-01" + } + }, + "204": {} + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateGet.json new file mode 100644 index 000000000000..c6b66963910f --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDD5118668F7\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD5118668F7\"", + "properties": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z", + "format": "Pfx", + "publicData": "MIICrjCCAZagAwI..." + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateGetWithDeletionError.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateGetWithDeletionError.json new file mode 100644 index 000000000000..4eaf42316298 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateGetWithDeletionError.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDD5118668F7\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD5118668F7\"", + "properties": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "provisioningState": "Failed", + "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z", + "previousProvisioningState": "Deleting", + "previousProvisioningStateTransitionTime": "2017-07-21T00:15:25.5625498Z", + "format": "Pfx", + "publicData": "MIICrjCCAZagAwI...", + "deleteCertificateError": { + "code": "NodesReferencingCertificate", + "message": "The specified certificate is being used by the below mentioned node(s)\nRequestId:2dc78afc-b15b-42d2-8c85-39cb61a0799e\nTime:2017-08-28T10:22:52.8633406Z", + "target": "BatchAccount", + "details": [ + { + "code": "Nodes", + "message": "node1, node3" + } + ] + } + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateList.json new file mode 100644 index 000000000000..c0c870527f3a --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "api-version": "2020-05-01", + "maxResults": "1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD5118668F7\"", + "properties": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z", + "format": "Pfx", + "publicData": "MIICrjCCAZagAwI..." + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates?api-version=2020-05-01&$skiptoken=NPK%3D28%3A2857p428pug%2022F53A7734C947B8NRK%3D45%3Asha1-c23dc7f22edc793856a7506fe66397ccb4a33b46SM%3D5%3AFalse" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateListWithFilter.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateListWithFilter.json new file mode 100644 index 000000000000..f68c7c5600bb --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateListWithFilter.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "api-version": "2020-05-01", + "$filter": "properties/provisioningStateTransitionTime gt '2017-05-01' or properties/provisioningState eq 'Failed'", + "$select": "properties/format,properties/provisioningState" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD5118668F7\"", + "properties": { + "provisioningState": "Failed", + "format": "Pfx" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-aeb228ffb0bf67a793d61dce263ebd16949f15a1", + "name": "sha1-aeb228ffb0bf67a793d61dce263ebd16949f15a1", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD5118572E0\"", + "properties": { + "provisioningState": "Failed", + "format": "Cer" + } + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateUpdate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateUpdate.json new file mode 100644 index 000000000000..f7ad8232a213 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/CertificateUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-05-01", + "subscriptionId": "subid", + "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "parameters": { + "properties": { + "data": "MIIJsgIBAzCCCW4GCSqGSIb3DQE...", + "password": "KG0UY40e..." + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDD5118668F7\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD5118668F7\"", + "properties": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z", + "format": "Pfx", + "publicData": "MIICrjCCAZagAwI..." + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/LocationCheckNameAvailability_AlreadyExists.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/LocationCheckNameAvailability_AlreadyExists.json new file mode 100644 index 000000000000..8cb7e5ff744c --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/LocationCheckNameAvailability_AlreadyExists.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "locationName": "japaneast", + "parameters": { + "name": "existingaccountname", + "type": "Microsoft.Batch/batchAccounts" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "An account named 'existingaccountname' is already in use." + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/LocationCheckNameAvailability_Available.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/LocationCheckNameAvailability_Available.json new file mode 100644 index 000000000000..98f87826d783 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/LocationCheckNameAvailability_Available.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "locationName": "japaneast", + "parameters": { + "name": "newaccountname", + "type": "Microsoft.Batch/batchAccounts" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/LocationGetQuotas.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/LocationGetQuotas.json new file mode 100644 index 000000000000..48c9db6087b8 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/LocationGetQuotas.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "locationName": "japaneast" + }, + "responses": { + "200": { + "body": { + "accountQuota": 1 + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolCreate_CustomImage.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolCreate_CustomImage.json new file mode 100644 index 000000000000..1e7cf603c18a --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolCreate_CustomImage.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "vmSize": "STANDARD_D4", + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "id": "/subscriptions/subid/resourceGroups/networking-group/providers/Microsoft.Compute/images/image-123" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Steady", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "maxTasksPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "id": "/subscriptions/subid/resourceGroups/networking-group/providers/Microsoft.Compute/images/image-123" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 0, + "targetLowPriorityNodes": 0 + } + }, + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0 + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolCreate_FullExample.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolCreate_FullExample.json new file mode 100644 index 000000000000..d529980ee55a --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolCreate_FullExample.json @@ -0,0 +1,285 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "displayName": "my-pool-name", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Enabled", + "maxTasksPerNode": 13, + "taskSchedulingPolicy": { + "nodeFillType": "Pack" + }, + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "4", + "osVersion": "WA-GUEST-OS-4.45_201708-01" + } + }, + "networkConfiguration": { + "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123", + "publicIPAddressConfiguration": { + "provision": "UserManaged", + "ipAddressIds": [ + "/subscriptions/subid1/resourceGroups/rg13/providers/Microsoft.Network/publicIPAddresses/ip135", + "/subscriptions/subid2/resourceGroups/rg24/providers/Microsoft.Network/publicIPAddresses/ip268" + ] + }, + "endpointConfiguration": { + "inboundNatPools": [ + { + "name": "testnat", + "protocol": "TCP", + "backendPort": 12001, + "frontendPortRangeStart": 15000, + "frontendPortRangeEnd": 15100, + "networkSecurityGroupRules": [ + { + "access": "Allow", + "sourceAddressPrefix": "192.100.12.45", + "priority": 150, + "sourcePortRanges": [ + "*" + ] + }, + { + "access": "Deny", + "sourceAddressPrefix": "*", + "priority": 3500, + "sourcePortRanges": [ + "*" + ] + } + ] + } + ] + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 6, + "targetLowPriorityNodes": 28, + "resizeTimeout": "PT8M", + "nodeDeallocationOption": "TaskCompletion" + } + }, + "metadata": [ + { + "name": "metadata-1", + "value": "value-1" + }, + { + "name": "metadata-2", + "value": "value-2" + } + ], + "startTask": { + "commandLine": "cmd /c SET", + "resourceFiles": [ + { + "httpUrl": "https://testaccount.blob.core.windows.net/example-blob-file", + "filePath": "c:\\temp\\gohere", + "fileMode": "777" + } + ], + "environmentSettings": [ + { + "name": "MYSET", + "value": "1234" + } + ], + "userIdentity": { + "autoUser": { + "scope": "Pool", + "elevationLevel": "Admin" + } + }, + "maxTaskRetryCount": 6, + "waitForSuccess": true + }, + "userAccounts": [ + { + "name": "username1", + "password": "examplepassword", + "elevationLevel": "Admin", + "linuxUserConfiguration": { + "sshPrivateKey": "sshprivatekeyvalue", + "uid": 1234, + "gid": 4567 + } + } + ], + "applicationPackages": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234", + "version": "asdf" + } + ], + "certificates": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/sha1-1234567", + "storeLocation": "LocalMachine", + "storeName": "MY", + "visibility": [ + "RemoteUser" + ] + } + ], + "applicationLicenses": [ + "app-license0", + "app-license1" + ] + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Enabled", + "maxTasksPerNode": 13, + "taskSchedulingPolicy": { + "nodeFillType": "Pack" + }, + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "4", + "osVersion": "WA-GUEST-OS-4.45_201708-01" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 6, + "targetLowPriorityNodes": 28, + "resizeTimeout": "PT8M", + "nodeDeallocationOption": "TaskCompletion" + } + }, + "networkConfiguration": { + "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123", + "publicIPAddressConfiguration": { + "provision": "UserManaged", + "ipAddressIds": [ + "/subscriptions/subid1/resourceGroups/rg13/providers/Microsoft.Network/publicIPAddresses/ip135", + "/subscriptions/subid2/resourceGroups/rg24/providers/Microsoft.Network/publicIPAddresses/ip268" + ] + }, + "endpointConfiguration": { + "inboundNatPools": [ + { + "name": "testnat", + "protocol": "TCP", + "backendPort": 12001, + "frontendPortRangeStart": 15000, + "frontendPortRangeEnd": 15100, + "networkSecurityGroupRules": [ + { + "access": "Allow", + "sourceAddressPrefix": "192.100.12.45", + "priority": 150, + "sourcePortRanges": [ + "*" + ] + }, + { + "access": "Deny", + "sourceAddressPrefix": "*", + "priority": 3500, + "sourcePortRanges": [ + "*" + ] + } + ] + } + ] + } + }, + "metadata": [ + { + "name": "metadata-1", + "value": "value-1" + }, + { + "name": "metadata-2", + "value": "value-2" + } + ], + "startTask": { + "commandLine": "cmd /c SET", + "resourceFiles": [ + { + "httpUrl": "https://testaccount.blob.core.windows.net/example-blob-file", + "filePath": "c:\\temp\\gohere", + "fileMode": "777" + } + ], + "environmentSettings": [ + { + "name": "MYSET", + "value": "1234" + } + ], + "userIdentity": { + "autoUser": { + "scope": "Pool", + "elevationLevel": "Admin" + } + }, + "maxTaskRetryCount": 6, + "waitForSuccess": true + }, + "userAccounts": [ + { + "name": "username1", + "elevationLevel": "Admin", + "linuxUserConfiguration": { + "uid": 1234, + "gid": 4567 + } + } + ], + "applicationPackages": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234", + "version": "asdf" + } + ], + "certificates": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/sha1-1234567", + "storeLocation": "LocalMachine", + "storeName": "MY", + "visibility": [ + "RemoteUser" + ] + } + ], + "applicationLicenses": [ + "app-license0", + "app-license1" + ], + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0 + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolCreate_MinimalCloudServiceConfiguration.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolCreate_MinimalCloudServiceConfiguration.json new file mode 100644 index 000000000000..a55033e53e12 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolCreate_MinimalCloudServiceConfiguration.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "vmSize": "STANDARD_D4", + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "5" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 3 + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "maxTasksPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "5", + "osVersion": "*" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 3, + "targetLowPriorityNodes": 0, + "resizeTimeout": "PT15M" + } + }, + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0, + "resizeOperationStatus": { + "startTime": "2017-08-28T10:22:55.9407275Z", + "targetDedicatedNodes": 3, + "nodeDeallocationOption": "Requeue", + "resizeTimeout": "PT15M" + } + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolCreate_MinimalVirtualMachineConfiguration.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolCreate_MinimalVirtualMachineConfiguration.json new file mode 100644 index 000000000000..67d22ba673a5 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolCreate_MinimalVirtualMachineConfiguration.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "vmSize": "STANDARD_D4", + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "latest" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + }, + "scaleSettings": { + "autoScale": { + "formula": "$TargetDedicatedNodes=1", + "evaluationInterval": "PT5M" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "maxTasksPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "latest" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + }, + "scaleSettings": { + "autoScale": { + "formula": "$TargetDedicatedNodes=1", + "evaluationInterval": "PT5M" + } + }, + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0 + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolCreate_NoPublicIPAddresses.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolCreate_NoPublicIPAddresses.json new file mode 100644 index 000000000000..7473b7c2593d --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolCreate_NoPublicIPAddresses.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "vmSize": "STANDARD_D4", + "networkConfiguration": { + "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123", + "publicIPAddressConfiguration": { + "provision": "NoPublicIPAddresses" + } + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "id": "/subscriptions/subid/resourceGroups/networking-group/providers/Microsoft.Compute/images/image-123" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Steady", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "maxTasksPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "networkConfiguration": { + "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123", + "publicIPAddressConfiguration": { + "provision": "NoPublicIPAddresses" + } + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "id": "/subscriptions/subid/resourceGroups/networking-group/providers/Microsoft.Compute/images/image-123" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 0, + "targetLowPriorityNodes": 0 + } + }, + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0 + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolCreate_PublicIPs.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolCreate_PublicIPs.json new file mode 100644 index 000000000000..7d0d5e4626ee --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolCreate_PublicIPs.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "vmSize": "STANDARD_D4", + "networkConfiguration": { + "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123", + "publicIPAddressConfiguration": { + "provision": "UserManaged", + "ipAddressIds": [ + "/subscriptions/subid1/resourceGroups/rg13/providers/Microsoft.Network/publicIPAddresses/ip135" + ] + } + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "id": "/subscriptions/subid/resourceGroups/networking-group/providers/Microsoft.Compute/images/image-123" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Steady", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "maxTasksPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "networkConfiguration": { + "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123", + "publicIPAddressConfiguration": { + "provision": "UserManaged", + "ipAddressIds": [ + "/subscriptions/subid1/resourceGroups/rg13/providers/Microsoft.Network/publicIPAddresses/ip135" + ] + } + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "id": "/subscriptions/subid/resourceGroups/networking-group/providers/Microsoft.Compute/images/image-123" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 0, + "targetLowPriorityNodes": 0 + } + }, + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0 + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolCreate_VirtualMachineConfiguration.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolCreate_VirtualMachineConfiguration.json new file mode 100644 index 000000000000..f83091ed4d2f --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolCreate_VirtualMachineConfiguration.json @@ -0,0 +1,189 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "vmSize": "STANDARD_D4", + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "MicrosoftWindowsServer", + "offer": "WindowsServer", + "sku": "2016-Datacenter-SmallDisk", + "version": "latest" + }, + "nodeAgentSkuId": "batch.node.windows amd64", + "windowsConfiguration": { + "enableAutomaticUpdates": false + }, + "licenseType": "Windows_Server", + "dataDisks": [ + { + "lun": 0, + "caching": "ReadWrite", + "diskSizeGB": 30, + "storageAccountType": "Premium_LRS" + }, + { + "lun": 1, + "caching": "None", + "diskSizeGB": 200, + "storageAccountType": "Standard_LRS" + } + ], + "diskEncryptionConfiguration": { + "targets": [ + "OsDisk", + "TemporaryDisk" + ] + } + } + }, + "networkConfiguration": { + "endpointConfiguration": { + "inboundNatPools": [ + { + "name": "testnat", + "protocol": "TCP", + "backendPort": 12001, + "frontendPortRangeStart": 15000, + "frontendPortRangeEnd": 15100, + "networkSecurityGroupRules": [ + { + "access": "Allow", + "sourceAddressPrefix": "192.100.12.45", + "priority": 150, + "sourcePortRanges": [ + "1", + "2" + ] + }, + { + "access": "Deny", + "sourceAddressPrefix": "*", + "priority": 3500, + "sourcePortRanges": [ + "*" + ] + } + ] + } + ] + } + }, + "scaleSettings": { + "autoScale": { + "formula": "$TargetDedicatedNodes=1", + "evaluationInterval": "PT5M" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "maxTasksPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "MicrosoftWindowsServer", + "offer": "WindowsServer", + "sku": "2016-Datacenter-SmallDisk", + "version": "latest" + }, + "nodeAgentSkuId": "batch.node.windows amd64", + "windowsConfiguration": { + "enableAutomaticUpdates": false + }, + "licenseType": "Windows_Server", + "dataDisks": [ + { + "lun": 0, + "caching": "ReadWrite", + "diskSizeGB": 30, + "storageAccountType": "Premium_LRS" + }, + { + "lun": 1, + "caching": "None", + "diskSizeGB": 200, + "storageAccountType": "Standard_LRS" + } + ], + "diskEncryptionConfiguration": { + "targets": [ + "OsDisk", + "TemporaryDisk" + ] + } + } + }, + "networkConfiguration": { + "endpointConfiguration": { + "inboundNatPools": [ + { + "name": "testnat", + "protocol": "TCP", + "backendPort": 12001, + "frontendPortRangeStart": 15000, + "frontendPortRangeEnd": 15100, + "networkSecurityGroupRules": [ + { + "access": "Allow", + "sourceAddressPrefix": "192.100.12.45", + "priority": 150, + "sourcePortRanges": [ + "1", + "2" + ] + }, + { + "access": "Deny", + "sourceAddressPrefix": "*", + "priority": 3500, + "sourcePortRanges": [ + "*" + ] + } + ] + } + ] + } + }, + "scaleSettings": { + "autoScale": { + "formula": "$TargetDedicatedNodes=1", + "evaluationInterval": "PT5M" + } + }, + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0 + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolDelete.json new file mode 100644 index 000000000000..381176d019ca --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-05-01" + }, + "responses": { + "200": {}, + "204": {}, + "202": { + "headers": { + "Retry-After": "15", + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/poolOperationResults/delete-testpool-8D4EDFF164A11C9?api-version=2020-05-01" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolDisableAutoScale.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolDisableAutoScale.json new file mode 100644 index 000000000000..e0b8fec34a92 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolDisableAutoScale.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "maxTasksPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "latest" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 3, + "targetLowPriorityNodes": 0, + "resizeTimeout": "PT15M" + } + }, + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0 + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolGet.json new file mode 100644 index 000000000000..1255c7f77df4 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolGet.json @@ -0,0 +1,155 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Enabled", + "maxTasksPerNode": 13, + "taskSchedulingPolicy": { + "nodeFillType": "Pack" + }, + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "4", + "osVersion": "WA-GUEST-OS-4.45_201708-01" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 6, + "targetLowPriorityNodes": 28, + "resizeTimeout": "PT8M" + } + }, + "networkConfiguration": { + "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123", + "endpointConfiguration": { + "inboundNatPools": [ + { + "name": "testnat", + "protocol": "TCP", + "backendPort": 12001, + "frontendPortRangeStart": 15000, + "frontendPortRangeEnd": 15100, + "networkSecurityGroupRules": [ + { + "access": "Allow", + "sourceAddressPrefix": "192.100.12.45", + "priority": 150, + "sourcePortRanges": [ + "123", + "22" + ] + }, + { + "access": "Deny", + "sourceAddressPrefix": "*", + "priority": 3500, + "sourcePortRanges": [ + "*" + ] + } + ] + } + ] + } + }, + "metadata": [ + { + "name": "metadata-1", + "value": "value-1" + }, + { + "name": "metadata-2", + "value": "value-2" + } + ], + "startTask": { + "commandLine": "cmd /c SET", + "resourceFiles": [ + { + "httpUrl": "https://testaccount.blob.core.windows.net/example-blob-file", + "filePath": "c:\\temp\\gohere", + "fileMode": "777" + } + ], + "environmentSettings": [ + { + "name": "MYSET", + "value": "1234" + } + ], + "userIdentity": { + "autoUser": { + "scope": "Pool", + "elevationLevel": "Admin" + } + }, + "maxTaskRetryCount": 6, + "waitForSuccess": true + }, + "userAccounts": [ + { + "name": "username1", + "elevationLevel": "Admin", + "linuxUserConfiguration": { + "uid": 1234, + "gid": 4567 + } + } + ], + "applicationPackages": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234", + "version": "asdf" + } + ], + "certificates": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/sha1-1234567", + "storeLocation": "LocalMachine", + "storeName": "MY", + "visibility": [ + "RemoteUser" + ] + } + ], + "applicationLicenses": [ + "app-license0", + "app-license1" + ], + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0, + "resizeOperationStatus": { + "startTime": "2017-08-28T10:22:55.9407275Z", + "targetDedicatedNodes": 6, + "targetLowPriorityNodes": 28, + "nodeDeallocationOption": "TaskCompletion", + "resizeTimeout": "PT8M" + } + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolList.json new file mode 100644 index 000000000000..39d49bb8a38a --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolList.json @@ -0,0 +1,161 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Steady", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Enabled", + "maxTasksPerNode": 13, + "taskSchedulingPolicy": { + "nodeFillType": "Pack" + }, + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "4", + "osVersion": "WA-GUEST-OS-4.45_201708-01" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 6, + "targetLowPriorityNodes": 28, + "resizeTimeout": "PT8M" + } + }, + "networkConfiguration": { + "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123", + "endpointConfiguration": { + "inboundNatPools": [ + { + "name": "testnat", + "protocol": "TCP", + "backendPort": 12001, + "frontendPortRangeStart": 15000, + "frontendPortRangeEnd": 15100, + "networkSecurityGroupRules": [ + { + "access": "Allow", + "sourceAddressPrefix": "192.100.12.45", + "priority": 150, + "sourcePortRanges": [ + "*" + ] + }, + { + "access": "Deny", + "sourceAddressPrefix": "*", + "priority": 3500, + "sourcePortRanges": [ + "*" + ] + } + ] + } + ] + } + }, + "metadata": [ + { + "name": "metadata-1", + "value": "value-1" + }, + { + "name": "metadata-2", + "value": "value-2" + } + ], + "startTask": { + "commandLine": "cmd /c SET", + "resourceFiles": [ + { + "httpUrl": "https://testaccount.blob.core.windows.net/example-blob-file", + "filePath": "c:\\temp\\gohere", + "fileMode": "777" + } + ], + "environmentSettings": [ + { + "name": "MYSET", + "value": "1234" + } + ], + "userIdentity": { + "autoUser": { + "scope": "Pool", + "elevationLevel": "Admin" + } + }, + "maxTaskRetryCount": 6, + "waitForSuccess": true + }, + "userAccounts": [ + { + "name": "username1", + "elevationLevel": "Admin", + "linuxUserConfiguration": { + "uid": 1234, + "gid": 4567 + } + } + ], + "applicationPackages": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234", + "version": "asdf" + } + ], + "certificates": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/sha1-1234567", + "storeLocation": "LocalMachine", + "storeName": "MY", + "visibility": [ + "RemoteUser" + ] + } + ], + "applicationLicenses": [ + "app-license0", + "app-license1" + ], + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0, + "resizeOperationStatus": { + "startTime": "2017-08-28T10:22:55.9407275Z", + "targetDedicatedNodes": 6, + "targetLowPriorityNodes": 28, + "nodeDeallocationOption": "TaskCompletion", + "resizeTimeout": "PT8M", + "errors": [ + { + "code": "AllocationTimedout", + "message": "Desired number of dedicated nodes could not be allocated as the resize timeout was reached" + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolListWithFilter.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolListWithFilter.json new file mode 100644 index 000000000000..af59f8dfbc23 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolListWithFilter.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-05-01", + "$filter": "startswith(name, 'po') or (properties/allocationState eq 'Steady' and properties/provisioningStateTransitionTime lt datetime'2017-02-02')", + "$select": "properties/allocationState,properties/provisioningStateTransitionTime,properties/currentDedicatedNodes,properties/currentLowPriorityNodes", + "maxResults": "50" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Steady", + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 2 + } + }, + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/pooltest", + "name": "pooltest", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "provisioningStateTransitionTime": "2017-08-26T10:22:55.9407275Z", + "allocationState": "Resizing", + "currentDedicatedNodes": 4, + "currentLowPriorityNodes": 0 + } + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolStopResize.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolStopResize.json new file mode 100644 index 000000000000..1fa19c7bb841 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolStopResize.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Steady", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "maxTasksPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "latest" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 3, + "targetLowPriorityNodes": 0, + "resizeTimeout": "PT15M" + } + }, + "resizeOperationStatus": { + "startTime": "2017-08-28T10:22:55.9407275Z", + "targetDedicatedNodes": 1, + "nodeDeallocationOption": "Requeue", + "resizeTimeout": "PT10M" + }, + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0 + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolUpdate_EnableAutoScale.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolUpdate_EnableAutoScale.json new file mode 100644 index 000000000000..c88633fb713f --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolUpdate_EnableAutoScale.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "scaleSettings": { + "autoScale": { + "formula": "$TargetDedicatedNodes=34" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-29T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-29T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "maxTasksPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "5", + "osVersion": "*" + } + }, + "scaleSettings": { + "autoScale": { + "formula": "$TargetDedicated=34", + "evaluationInterval": "PT15M" + } + }, + "autoScaleRun": { + "evaluationTime": "2017-08-29T10:22:55.9407275Z", + "results": "$TargetDedicatedNodes=34;NodeDeallocationOption=requeue" + }, + "currentDedicatedNodes": 12, + "currentLowPriorityNodes": 0, + "resizeOperationStatus": { + "startTime": "2017-08-29T10:22:55.9407275Z", + "targetDedicatedNodes": 34, + "nodeDeallocationOption": "Requeue", + "resizeTimeout": "PT15M" + } + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolUpdate_OtherProperties.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolUpdate_OtherProperties.json new file mode 100644 index 000000000000..5570f4dc09de --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolUpdate_OtherProperties.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "metadata": [ + { + "name": "key1", + "value": "value1" + } + ], + "applicationPackages": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234" + }, + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_5678", + "version": "1.0" + } + ], + "certificates": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/sha1-1234567", + "storeLocation": "LocalMachine", + "storeName": "MY" + } + ] + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-29T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-29T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "maxTasksPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "5", + "osVersion": "*" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 1, + "targetLowPriorityNodes": 0, + "resizeTimeout": "PT8M", + "nodeDeallocationOption": "TaskCompletion" + } + }, + "autoScaleRun": { + "evaluationTime": "2017-08-29T10:22:55.9407275Z", + "results": "$TargetDedicatedNodes=34;NodeDeallocationOption=requeue" + }, + "currentDedicatedNodes": 12, + "currentLowPriorityNodes": 0, + "resizeOperationStatus": { + "startTime": "2017-08-29T10:22:55.9407275Z", + "targetDedicatedNodes": 8, + "nodeDeallocationOption": "TaskCompletion", + "resizeTimeout": "PT8M" + }, + "metadata": [ + { + "name": "key1", + "value": "value1" + } + ], + "applicationPackages": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234" + }, + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_5678", + "version": "1.0" + } + ], + "certificates": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/sha1-1234567", + "storeLocation": "LocalMachine", + "storeName": "MY", + "visibility": [ + "StartTask", + "Task", + "RemoteUser" + ] + } + ] + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolUpdate_RemoveStartTask.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolUpdate_RemoveStartTask.json new file mode 100644 index 000000000000..a39339130ac0 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolUpdate_RemoveStartTask.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "startTask": {} + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-29T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-29T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "maxTasksPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "5", + "osVersion": "*" + } + }, + "scaleSettings": { + "autoScale": { + "formula": "$TargetDedicated=34", + "evaluationInterval": "PT15M" + } + }, + "autoScaleRun": { + "evaluationTime": "2017-08-29T10:22:55.9407275Z", + "results": "$TargetDedicatedNodes=34;NodeDeallocationOption=requeue" + }, + "currentDedicatedNodes": 12, + "currentLowPriorityNodes": 0, + "resizeOperationStatus": { + "startTime": "2017-08-29T10:22:55.9407275Z", + "targetDedicatedNodes": 34, + "nodeDeallocationOption": "Requeue", + "resizeTimeout": "PT15M" + } + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolUpdate_ResizePool.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolUpdate_ResizePool.json new file mode 100644 index 000000000000..4c5a4a3d5b34 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PoolUpdate_ResizePool.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 5, + "targetLowPriorityNodes": 0, + "resizeTimeout": "PT8M", + "nodeDeallocationOption": "TaskCompletion" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-29T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-29T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "maxTasksPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "5", + "osVersion": "*" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 1, + "targetLowPriorityNodes": 0, + "resizeTimeout": "PT8M", + "nodeDeallocationOption": "TaskCompletion" + } + }, + "autoScaleRun": { + "evaluationTime": "2017-08-29T10:22:55.9407275Z", + "results": "$TargetDedicatedNodes=34;NodeDeallocationOption=requeue" + }, + "currentDedicatedNodes": 12, + "currentLowPriorityNodes": 0, + "resizeOperationStatus": { + "startTime": "2017-08-29T10:22:55.9407275Z", + "targetDedicatedNodes": 8, + "nodeDeallocationOption": "TaskCompletion", + "resizeTimeout": "PT8M" + } + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PrivateBatchAccountCreate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PrivateBatchAccountCreate.json new file mode 100644 index 000000000000..2d72f33bbecd --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PrivateBatchAccountCreate.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-05-01", + "subscriptionId": "subid", + "parameters": { + "location": "japaneast", + "properties": { + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage" + }, + "keyVaultReference": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.KeyVault/vaults/sample", + "url": "http://sample.vault.azure.net/" + }, + "publicNetworkAccess": "Disabled" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "UserSubscription", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "keyVaultReference": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.KeyVault/vaults/sample", + "url": "http://sample.vault.azure.net/" + }, + "publicNetworkAccess": "Disabled" + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PrivateBatchAccountGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PrivateBatchAccountGet.json new file mode 100644 index 000000000000..6fffebe21a02 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PrivateBatchAccountGet.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "BatchService", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "publicNetworkAccess": "Disabled", + "privateEndpointConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateEndpointConnections/testprivateEndpointConnection.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0", + "name": "testprivateEndpointConnection.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0", + "type": "Microsoft.Batch/batchAccounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Network/privateEndpoints/testprivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by xyz.abc@company.com" + } + } + } + ] + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PrivateEndpointConnectionGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PrivateEndpointConnectionGet.json new file mode 100644 index 000000000000..dcf7e38ee64c --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PrivateEndpointConnectionGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "privateEndpointConnectionName": "testprivateEndpointConnection5testprivateEndpointConnection5.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateEndpointConnections/testprivateEndpointConnection5testprivateEndpointConnection5.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0", + "name": "testprivateEndpointConnection5testprivateEndpointConnection5.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0", + "type": "Microsoft.Batch/batchAccounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Network/privateEndpoints/testprivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by xyz.abc@company.com" + } + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PrivateEndpointConnectionUpdate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PrivateEndpointConnectionUpdate.json new file mode 100644 index 000000000000..3ab6694f43f6 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PrivateEndpointConnectionUpdate.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "privateEndpointConnectionName": "testprivateEndpointConnection5.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by xyz.abc@company.com" + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateEndpointConnections/testprivateEndpointConnection5.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0", + "name": "testprivateEndpointConnection5.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0", + "type": "Microsoft.Batch/batchAccounts/privateEndpointConnections", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Network/privateEndpoints/testprivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by xyz.abc@company.com" + } + } + } + }, + "204": {}, + "202": { + "headers": { + "Retry-After": "15", + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateEndpointConnectionProxyResults/Updating$testprivateEndpointConnection5.24d6b4b5$e65c-4330-bbe9-3a290d62f8e0-8D4EDFF164A11C9?api-version=2020-05-01" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PrivateEndpointConnectionsList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PrivateEndpointConnectionsList.json new file mode 100644 index 000000000000..50787f91b384 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PrivateEndpointConnectionsList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "privateEndpointConnectionName": "testprivateEndpointConnection", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateEndpointConnections/testprivateEndpointConnection", + "name": "testprivateEndpointConnection", + "type": "Microsoft.Batch/batchAccounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Network/privateEndpoints/testprivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by xyz.abc@company.com" + } + } + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PrivateLinkResourceGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PrivateLinkResourceGet.json new file mode 100644 index 000000000000..6028faf0890a --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PrivateLinkResourceGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "privateLinkResourceName": "sampleacct", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateLinkResources/sampleacct", + "name": "sampleacct", + "type": "Microsoft.Batch/batchAccounts/privateLinkResources", + "properties": { + "groupId": "batchAccount", + "requiredMembers": [ + "batchAccount" + ], + "requiredZoneNames": [ + "privatelink.japaneast.batch.azure.com" + ] + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PrivateLinkResourcesList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PrivateLinkResourcesList.json new file mode 100644 index 000000000000..942d4346cd6b --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/examples/PrivateLinkResourcesList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "privateLinkResourceName": "testprivateLinkResource", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateLinkResources/testprivateLinkResource", + "name": "testprivateLinkResource", + "type": "Microsoft.Batch/batchAccounts/privateLinkResources", + "properties": { + "groupId": "batchAccount", + "requiredMembers": [ + "batchAccount" + ], + "requiredZoneNames": [ + "privatelink.japaneast.batch.azure.com" + ] + } + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/readme.md b/specification/batch/resource-manager/readme.md index ffa9383df33d..90df5aff354d 100644 --- a/specification/batch/resource-manager/readme.md +++ b/specification/batch/resource-manager/readme.md @@ -26,14 +26,23 @@ These are the global settings for the Batch API. ``` yaml openapi-type: arm -tag: package-2020-03 +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.Batch/stable/2020-05-01/BatchManagement.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' +``` yaml $(tag) == 'package-2020-03' input-file: - Microsoft.Batch/stable/2020-03-01/BatchManagement.json ``` @@ -42,7 +51,7 @@ input-file: These settings apply only when `--tag=package-2019-08` is specified on the command line. -```yaml $(tag) == 'package-2019-08' +``` yaml $(tag) == 'package-2019-08' input-file: - Microsoft.Batch/stable/2019-08-01/BatchManagement.json ``` @@ -51,7 +60,7 @@ input-file: These settings apply only when `--tag=package-2019-04` is specified on the command line. -```yaml $(tag) == 'package-2019-04' +``` yaml $(tag) == 'package-2019-04' input-file: - Microsoft.Batch/stable/2019-04-01/BatchManagement.json ``` @@ -180,7 +189,6 @@ csharp: See configuration in [readme.go.md](./readme.go.md) - ## Java These settings apply only when `--java` is specified on the command line. @@ -259,7 +267,7 @@ generate-interface: true ` -## 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. @@ -271,6 +279,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.Batch/stable/2020-05-01/BatchManagement.json - $(this-folder)/Microsoft.Batch/stable/2020-03-01/BatchManagement.json - $(this-folder)/Microsoft.Batch/stable/2019-08-01/BatchManagement.json - $(this-folder)/Microsoft.Batch/stable/2019-04-01/BatchManagement.json @@ -282,11 +291,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/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 474087d42ac9..0a905a542cea 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 @@ -1604,7 +1604,7 @@ } }, "operationId": "Invoices_ListByBillingAccount", - "description": "Lists the invoices for a billing account for a given start date and end date. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "description": "Lists the invoices for a billing account for a given start date and end date. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement, Microsoft Customer Agreement or Enterprise Agreement.", "parameters": [ { "$ref": "#/parameters/apiVersionParameter" @@ -1643,6 +1643,45 @@ } } }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}": { + "get": { + "tags": [ + "Invoices" + ], + "x-ms-examples": { + "EnterpriseAgreementInvoice": { + "$ref": "./examples/BillingAccountInvoice.json" + } + }, + "operationId": "Invoices_GetBillingAccountInvoice", + "description": "Gets an invoice by billing account name and ID. 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/invoiceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Invoice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoices/{invoiceName}/pricesheet/default/download": { "post": { "tags": [ @@ -3693,6 +3732,9 @@ "x-ms-examples": { "BillingAccountPermissionsList": { "$ref": "./examples/BillingAccountPermissionsList.json" + }, + "BillingAccountEaPermissionsList": { + "$ref": "./examples/BillingAccountEaPermissionsList.json" } }, "operationId": "BillingPermissions_ListByBillingAccount", @@ -3718,6 +3760,9 @@ "$ref": "#/definitions/ErrorResponse" } } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, @@ -3802,6 +3847,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": [ @@ -3810,6 +3939,9 @@ "x-ms-examples": { "BillingAccountRoleDefinition": { "$ref": "./examples/BillingAccountRoleDefinition.json" + }, + "BillingAccountEaRoleDefinition": { + "$ref": "./examples/BillingAccountEaRoleDefinition.json" } }, "operationId": "BillingRoleDefinitions_GetByBillingAccount", @@ -3928,6 +4060,90 @@ } } }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/departments/{departmentName}/billingRoleDefinitions/{billingRoleDefinitionName}": { + "get": { + "tags": [ + "BillingRoleDefinitions" + ], + "x-ms-examples": { + "DepartmentRoleDefinition": { + "$ref": "./examples/DepartmentRoleDefinition.json" + } + }, + "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/BillingRoleDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}/billingRoleDefinitions/{billingRoleDefinitionName}": { + "get": { + "tags": [ + "BillingRoleDefinitions" + ], + "x-ms-examples": { + "EnrollmentAccountRoleDefinition": { + "$ref": "./examples/EnrollmentAccountRoleDefinition.json" + } + }, + "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" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/enrollmentAccountNameParameter" + }, + { + "$ref": "#/parameters/billingRoleDefinitionNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions": { "get": { "tags": [ @@ -3936,16 +4152,64 @@ "x-ms-examples": { "BillingAccountRoleDefinitionsList": { "$ref": "./examples/BillingAccountRoleDefinitionsList.json" + }, + "BillingAccountEaRoleDefinitionsList": { + "$ref": "./examples/BillingAccountEaRoleDefinitionsList.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.", + "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" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleDefinitions": { + "get": { + "tags": [ + "BillingRoleDefinitions" + ], + "x-ms-examples": { + "InvoiceSectionRoleDefinitionsList": { + "$ref": "./examples/InvoiceSectionRoleDefinitionsList.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.", "parameters": [ { "$ref": "#/parameters/apiVersionParameter" }, { "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/invoiceSectionNameParameter" } ], "responses": { @@ -3962,20 +4226,268 @@ } } } - } - }, - "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleDefinitions": { - "get": { + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleDefinitions": { + "get": { + "tags": [ + "BillingRoleDefinitions" + ], + "x-ms-examples": { + "BillingProfileRoleDefinitionsList": { + "$ref": "./examples/BillingProfileRoleDefinitionsList.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.", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/departments/{departmentName}/billingRoleDefinitions": { + "get": { + "tags": [ + "BillingRoleDefinitions" + ], + "x-ms-examples": { + "DepartmentRoleDefinitionsList": { + "$ref": "./examples/DepartmentRoleDefinitionsList.json" + } + }, + "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" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/departmentNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinitionListResult" + } + }, + "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}/billingRoleDefinitions": { + "get": { + "tags": [ + "BillingRoleDefinitions" + ], + "x-ms-examples": { + "EnrollmentAccountRoleDefinitionsList": { + "$ref": "./examples/EnrollmentAccountRoleDefinitionsList.json" + } + }, + "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" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/enrollmentAccountNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments/{billingRoleAssignmentName}": { + "get": { + "tags": [ + "BillingRoleAssignments" + ], + "x-ms-examples": { + "BillingAccountRoleAssignment": { + "$ref": "./examples/BillingAccountRoleAssignment.json" + }, + "BillingAccountEaRoleAssignment": { + "$ref": "./examples/BillingAccountEaRoleAssignment.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, Microsoft Customer Agreement or Enterprise 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" + } + } + } + }, + "delete": { + "tags": [ + "BillingRoleAssignments" + ], + "x-ms-examples": { + "BillingAccountRoleAssignmentDelete": { + "$ref": "./examples/BillingAccountRoleAssignmentDelete.json" + }, + "BillingAccountEaRoleAssignmentDelete": { + "$ref": "./examples/BillingAccountEaRoleAssignmentDelete.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.", + "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" + } + } + } + } + }, + "/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": [ - "BillingRoleDefinitions" + "BillingRoleAssignments" ], "x-ms-examples": { - "InvoiceSectionRoleDefinitionsList": { - "$ref": "./examples/InvoiceSectionRoleDefinitionsList.json" + "InvoiceSectionRoleAssignmentDelete": { + "$ref": "./examples/InvoiceSectionRoleAssignmentDelete.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": "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" @@ -3988,13 +4500,16 @@ }, { "$ref": "#/parameters/invoiceSectionNameParameter" + }, + { + "$ref": "#/parameters/billingRoleAssignmentNameParameter" } ], "responses": { "200": { "description": "OK. The request has succeeded.", "schema": { - "$ref": "#/definitions/BillingRoleDefinitionListResult" + "$ref": "#/definitions/BillingRoleAssignment" } }, "default": { @@ -4006,18 +4521,18 @@ } } }, - "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleDefinitions": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleAssignments/{billingRoleAssignmentName}": { "get": { "tags": [ - "BillingRoleDefinitions" + "BillingRoleAssignments" ], "x-ms-examples": { - "BillingProfileRoleDefinitionsList": { - "$ref": "./examples/BillingProfileRoleDefinitionsList.json" + "BillingProfileRoleAssignment": { + "$ref": "./examples/BillingProfileRoleAssignment.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": "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" @@ -4027,13 +4542,16 @@ }, { "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/billingRoleAssignmentNameParameter" } ], "responses": { "200": { "description": "OK. The request has succeeded.", "schema": { - "$ref": "#/definitions/BillingRoleDefinitionListResult" + "$ref": "#/definitions/BillingRoleAssignment" } }, "default": { @@ -4043,20 +4561,18 @@ } } } - } - }, - "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments/{billingRoleAssignmentName}": { - "get": { + }, + "delete": { "tags": [ "BillingRoleAssignments" ], "x-ms-examples": { - "BillingAccountRoleAssignment": { - "$ref": "./examples/BillingAccountRoleAssignment.json" + "BillingProfileRoleAssignmentDelete": { + "$ref": "./examples/BillingProfileRoleAssignmentDelete.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": "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" @@ -4064,6 +4580,9 @@ { "$ref": "#/parameters/billingAccountNameParameter" }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, { "$ref": "#/parameters/billingRoleAssignmentNameParameter" } @@ -4082,18 +4601,20 @@ } } } - }, - "delete": { + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/departments/{departmentName}/billingRoleAssignments/{billingRoleAssignmentName}": { + "get": { "tags": [ "BillingRoleAssignments" ], "x-ms-examples": { - "BillingAccountRoleAssignmentDelete": { - "$ref": "./examples/BillingAccountRoleAssignmentDelete.json" + "DepartmentRoleAssignment": { + "$ref": "./examples/DepartmentRoleAssignment.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": "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" @@ -4101,6 +4622,9 @@ { "$ref": "#/parameters/billingAccountNameParameter" }, + { + "$ref": "#/parameters/departmentNameParameter" + }, { "$ref": "#/parameters/billingRoleAssignmentNameParameter" } @@ -4119,20 +4643,18 @@ } } } - } - }, - "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleAssignments/{billingRoleAssignmentName}": { - "get": { + }, + "delete": { "tags": [ "BillingRoleAssignments" ], "x-ms-examples": { - "InvoiceSectionRoleAssignment": { - "$ref": "./examples/InvoiceSectionRoleAssignment.json" + "DepartmentRoleAssignmentDelete": { + "$ref": "./examples/DepartmentRoleAssignmentDelete.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": "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" @@ -4141,10 +4663,7 @@ "$ref": "#/parameters/billingAccountNameParameter" }, { - "$ref": "#/parameters/billingProfileNameParameter" - }, - { - "$ref": "#/parameters/invoiceSectionNameParameter" + "$ref": "#/parameters/departmentNameParameter" }, { "$ref": "#/parameters/billingRoleAssignmentNameParameter" @@ -4164,18 +4683,20 @@ } } } - }, - "delete": { + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}/billingRoleAssignments/{billingRoleAssignmentName}": { + "get": { "tags": [ "BillingRoleAssignments" ], "x-ms-examples": { - "InvoiceSectionRoleAssignmentDelete": { - "$ref": "./examples/InvoiceSectionRoleAssignmentDelete.json" + "EnrollmentAccountRoleAssignment": { + "$ref": "./examples/EnrollmentAccountRoleAssignment.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": "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" @@ -4184,10 +4705,7 @@ "$ref": "#/parameters/billingAccountNameParameter" }, { - "$ref": "#/parameters/billingProfileNameParameter" - }, - { - "$ref": "#/parameters/invoiceSectionNameParameter" + "$ref": "#/parameters/enrollmentAccountNameParameter" }, { "$ref": "#/parameters/billingRoleAssignmentNameParameter" @@ -4207,20 +4725,18 @@ } } } - } - }, - "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleAssignments/{billingRoleAssignmentName}": { - "get": { + }, + "delete": { "tags": [ "BillingRoleAssignments" ], "x-ms-examples": { - "BillingProfileRoleAssignment": { - "$ref": "./examples/BillingProfileRoleAssignment.json" + "EnrollmentAccountRoleAssignmentDelete": { + "$ref": "./examples/EnrollmentAccountRoleAssignmentDelete.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_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" @@ -4229,7 +4745,7 @@ "$ref": "#/parameters/billingAccountNameParameter" }, { - "$ref": "#/parameters/billingProfileNameParameter" + "$ref": "#/parameters/enrollmentAccountNameParameter" }, { "$ref": "#/parameters/billingRoleAssignmentNameParameter" @@ -4250,17 +4766,17 @@ } } }, - "delete": { + "put": { "tags": [ "BillingRoleAssignments" ], + "operationId": "EnrollmentAccountRoleAssignments_Put", + "description": "Create or update a billing role assignment.", "x-ms-examples": { - "BillingProfileRoleAssignmentDelete": { - "$ref": "./examples/BillingProfileRoleAssignmentDelete.json" + "PutEnrollmentAccountSubscriptionCreatorRoleAssignment": { + "$ref": "./examples/PutEnrollmentAccountSubscriptionCreatorRoleAssignment.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" @@ -4269,10 +4785,19 @@ "$ref": "#/parameters/billingAccountNameParameter" }, { - "$ref": "#/parameters/billingProfileNameParameter" + "$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": { @@ -4299,10 +4824,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" @@ -4324,6 +4852,9 @@ "$ref": "#/definitions/ErrorResponse" } } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, @@ -4552,6 +5083,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": [ @@ -6245,7 +6860,8 @@ "enum": [ "Due", "OverDue", - "Paid" + "Paid", + "Void" ], "readOnly": true, "x-ms-enum": { @@ -6359,6 +6975,11 @@ "description": "The ID of the subscription for which the invoice is generated.", "type": "string", "readOnly": true + }, + "rebillDetails": { + "description": "Rebill details of an Enterprise Agreement invoice.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/InvoiceRebillDetails" } } }, @@ -6402,6 +7023,34 @@ } } }, + "InvoiceRebillDetails": { + "description": "The rebill details of an invoice.", + "properties": { + "rebillDocumentType": { + "description": "The type of the document generated when an Enterprise Agreement invoice is rebilled.", + "type": "string", + "enum": [ + "Credit", + "Rebill", + "Original" + ], + "x-ms-enum": { + "name": "rebillDocumentType", + "modelAsString": true + } + }, + "rebilledInvoiceId": { + "description": "The ID of the invoice generated when an Enterprise Agreement invoice is rebilled.", + "type": "string", + "readOnly": true + }, + "latestInvoiceId": { + "description": "The ID of the latest invoice generated when an Enterprise Agreement invoice is rebilled.", + "type": "string", + "readOnly": true + } + } + }, "Document": { "description": "The properties of a document.", "properties": { @@ -6424,6 +7073,14 @@ "description": "Document URL.", "type": "string", "readOnly": true + }, + "documentNumbers": { + "description": "Document numbers for an Enterprise Agreement invoice.", + "type": "array", + "readOnly": true, + "items": { + "type": "string" + } } } }, @@ -7307,6 +7964,11 @@ "items": { "$ref": "#/definitions/BillingRoleAssignment" } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true } } }, @@ -7344,6 +8006,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", @@ -7351,18 +8018,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" } } }, @@ -7376,6 +8053,11 @@ "items": { "$ref": "#/definitions/BillingRoleDefinition" } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true } } }, @@ -7427,6 +8109,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/BillingAccountInvoice.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountInvoice.json new file mode 100644 index 000000000000..f79c4ce4b71e --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountInvoice.json @@ -0,0 +1,81 @@ +{ + "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", + "documents": [ + { + "kind": "Invoice", + "url": "https://microsoft.com/invoice.pdf" + }, + { + "kind": "TaxReceipt", + "url": "https://microsoft.com/taxDoc.pdf" + } + ], + "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/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/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/stable/2020-05-01/billing.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/billing.json new file mode 100644 index 000000000000..873581679036 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/billing.json @@ -0,0 +1,6092 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-05-01", + "title": "BillingManagementClient", + "description": "Billing client provides access to billing resources for Azure subscriptions." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.Billing/billingAccounts": { + "get": { + "tags": [ + "BillingAccounts" + ], + "x-ms-examples": { + "BillingAccountsList": { + "$ref": "./examples/BillingAccountsList.json" + }, + "BillingAccountsListWithExpand": { + "$ref": "./examples/BillingAccountsListWithExpand.json" + }, + "BillingAccountsListWithExpandForEnrollmentDetails": { + "$ref": "./examples/BillingAccountsListWithExpandForEnrollmentDetails.json" + } + }, + "operationId": "BillingAccounts_List", + "description": "Lists the billing accounts that a user has access to.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$expand", + "description": "May be used to expand the soldTo, invoice sections and billing profiles.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingAccountListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}": { + "get": { + "tags": [ + "BillingAccounts" + ], + "x-ms-examples": { + "BillingAccounts": { + "$ref": "./examples/BillingAccount.json" + }, + "BillingAccountWithExpand": { + "$ref": "./examples/BillingAccountWithExpand.json" + } + }, + "operationId": "BillingAccounts_Get", + "description": "Gets a billing account by its ID.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "name": "$expand", + "description": "May be used to expand the soldTo, invoice sections and billing profiles.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "BillingAccounts" + ], + "operationId": "BillingAccounts_Update", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "description": "Updates the properties of a billing account. Currently, displayName and address can be updated. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "x-ms-examples": { + "UpdateBillingAccount": { + "$ref": "./examples/UpdateBillingAccount.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BillingAccountUpdateRequest" + }, + "description": "Request parameters that are provided to the update billing account operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingAccount" + } + }, + "202": { + "description": "Accepted. Billing account update is in progress." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/listInvoiceSectionsWithCreateSubscriptionPermission": { + "post": { + "tags": [ + "BillingAccounts" + ], + "x-ms-examples": { + "InvoiceSectionsListWithCreateSubPermission": { + "$ref": "./examples/InvoiceSectionsListWithCreateSubPermission.json" + } + }, + "operationId": "BillingAccounts_ListInvoiceSectionsByCreateSubscriptionPermission", + "description": "Lists the invoice sections for which the user has permission to create Azure subscriptions. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/InvoiceSectionListWithCreateSubPermissionResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/validateAddress": { + "post": { + "tags": [ + "Address" + ], + "x-ms-examples": { + "AddressValid": { + "$ref": "./examples/AddressValid.json" + }, + "AddressInvalid": { + "$ref": "./examples/AddressInvalid.json" + } + }, + "operationId": "Address_Validate", + "description": "Validates an address. Use the operation to validate an address before using it as soldTo or a billTo address.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "address", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AddressDetails" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ValidateAddressResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/availableBalance/default": { + "get": { + "tags": [ + "AvailableBalances" + ], + "operationId": "AvailableBalances_Get", + "description": "The available credit balance for a billing profile. This is the balance that can be used for pay now to settle due or past due invoices. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "AvailableBalanceByBillingProfile": { + "$ref": "./examples/AvailableBalanceByBillingProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/AvailableBalance" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/instructions": { + "get": { + "tags": [ + "Instructions" + ], + "operationId": "Instructions_ListByBillingProfile", + "description": "Lists the instructions by billing profile id.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "InstructionsListByBillingProfile": { + "$ref": "./examples/InstructionsListByBillingProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/InstructionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/instructions/{instructionName}": { + "get": { + "tags": [ + "Instructions" + ], + "x-ms-examples": { + "Instruction": { + "$ref": "./examples/Instruction.json" + } + }, + "operationId": "Instructions_Get", + "description": "Get the instruction by name. These are custom billing instructions and are only applicable for certain customers.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/instructionNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Instruction" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Instructions" + ], + "operationId": "Instructions_Put", + "description": "Creates or updates an instruction. These are custom billing instructions and are only applicable for certain customers.", + "x-ms-examples": { + "PutInstruction": { + "$ref": "./examples/PutInstruction.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/instructionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Instruction" + }, + "description": "The new instruction." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Instruction" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles": { + "get": { + "tags": [ + "BillingProfiles" + ], + "x-ms-examples": { + "BillingProfilesListByBillingAccount": { + "$ref": "./examples/BillingProfilesListByBillingAccount.json" + }, + "BillingProfilesListWithExpand": { + "$ref": "./examples/BillingProfilesListWithExpand.json" + } + }, + "operationId": "BillingProfiles_ListByBillingAccount", + "description": "Lists the billing profiles that a user has access to. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "name": "$expand", + "description": "May be used to expand the invoice sections.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingProfileListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}": { + "get": { + "tags": [ + "BillingProfiles" + ], + "x-ms-examples": { + "BillingProfile": { + "$ref": "./examples/BillingProfile.json" + }, + "BillingProfileWithExpand": { + "$ref": "./examples/BillingProfileWithExpand.json" + } + }, + "operationId": "BillingProfiles_Get", + "description": "Gets a billing profile by its ID. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "name": "$expand", + "description": "May be used to expand the invoice sections.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "BillingProfiles" + ], + "operationId": "BillingProfiles_CreateOrUpdate", + "x-ms-long-running-operation": true, + "description": "Creates or updates a billing profile. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.", + "x-ms-examples": { + "CreateBillingProfile": { + "$ref": "./examples/PutBillingProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BillingProfile" + }, + "description": "The new or updated billing profile." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingProfile" + } + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "Location URI to poll for result", + "type": "string" + }, + "Retry-After": { + "description": "Recommended time to wait before making another request to check the status of the operation. The time is specified in seconds.", + "type": "integer" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/customers": { + "get": { + "tags": [ + "Customers" + ], + "x-ms-examples": { + "CustomersListByBillingAccount": { + "$ref": "./examples/CustomersListByBillingProfile.json" + } + }, + "operationId": "Customers_ListByBillingProfile", + "description": "Lists the customers that are billed to a billing profile. The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "name": "$search", + "description": "Used for searching customers by their name. Any customer with name containing the search text will be included in the response", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$filter", + "description": "May be used to filter the list of customers.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CustomerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections": { + "get": { + "tags": [ + "InvoiceSections" + ], + "x-ms-examples": { + "InvoiceSectionsListByBillingProfile": { + "$ref": "./examples/InvoiceSectionsListByBillingProfile.json" + } + }, + "operationId": "InvoiceSections_ListByBillingProfile", + "description": "Lists the invoice sections that a user has access to. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/InvoiceSectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}": { + "get": { + "tags": [ + "InvoiceSections" + ], + "x-ms-examples": { + "InvoiceSection": { + "$ref": "./examples/InvoiceSection.json" + } + }, + "operationId": "InvoiceSections_Get", + "description": "Gets an invoice section by its ID. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/invoiceSectionNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/InvoiceSection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "InvoiceSections" + ], + "operationId": "InvoiceSections_CreateOrUpdate", + "x-ms-long-running-operation": true, + "description": "Creates or updates an invoice section. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "x-ms-examples": { + "PutInvoiceSection": { + "$ref": "./examples/PutInvoiceSection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/invoiceSectionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/InvoiceSection" + }, + "description": "The new or updated invoice section." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/InvoiceSection" + } + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "Location URI to poll for result", + "type": "string" + }, + "Retry-After": { + "description": "Recommended time to wait before making another request to check the status of the operation. The time is specified in seconds.", + "type": "integer" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers": { + "get": { + "tags": [ + "Customers" + ], + "x-ms-examples": { + "CustomersListByBillingAccount": { + "$ref": "./examples/CustomersListByBillingAccount.json" + } + }, + "operationId": "Customers_ListByBillingAccount", + "description": "Lists the customers that are billed to a billing account. The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "name": "$search", + "description": "Used for searching customers by their name. Any customer with name containing the search text will be included in the response", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$filter", + "description": "May be used to filter the list of customers.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CustomerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}": { + "get": { + "tags": [ + "Customers" + ], + "x-ms-examples": { + "Customer": { + "$ref": "./examples/Customer.json" + }, + "CustomerWithExpand": { + "$ref": "./examples/CustomerWithExpand.json" + } + }, + "operationId": "Customers_Get", + "description": "Gets a customer by its ID. The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/customerNameParameter" + }, + { + "name": "$expand", + "description": "May be used to expand enabledAzurePlans and resellers", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Customer" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/billingPermissions": { + "get": { + "tags": [ + "BillingPermissions" + ], + "x-ms-examples": { + "BillingProfilePermissionsList": { + "$ref": "./examples/CustomerPermissionsList.json" + } + }, + "operationId": "BillingPermissions_ListByCustomer", + "description": "Lists the billing permissions the caller has for a customer.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/customerNameParameter" + } + ], + "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}/customers/{customerName}/billingSubscriptions": { + "get": { + "tags": [ + "BillingSubscriptions" + ], + "operationId": "BillingSubscriptions_ListByCustomer", + "description": "Lists the subscriptions for a customer. The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "BillingSubscriptionsListByCustomer": { + "$ref": "./examples/BillingSubscriptionsListByCustomer.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/customerNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingSubscriptionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/products": { + "get": { + "tags": [ + "Products" + ], + "operationId": "Products_ListByCustomer", + "description": "Lists the products for a customer. These don't include products billed based on usage.The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "ProductsListByInvoiceSection": { + "$ref": "./examples/ProductsListByCustomer.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/customerNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ProductsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices": { + "get": { + "tags": [ + "Invoices" + ], + "x-ms-examples": { + "BillingAccountInvoicesList": { + "$ref": "./examples/BillingAccountInvoicesList.json" + } + }, + "operationId": "Invoices_ListByBillingAccount", + "description": "Lists the invoices for a billing account for a given start date and end date. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "name": "periodStartDate", + "description": "The start date to fetch the invoices. The date should be specified in MM-DD-YYYY format.", + "in": "query", + "required": true, + "type": "string" + }, + { + "name": "periodEndDate", + "description": "The end date to fetch the invoices. The date should be specified in MM-DD-YYYY format.", + "in": "query", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/InvoiceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoices": { + "get": { + "tags": [ + "Invoices" + ], + "x-ms-examples": { + "InvoicesListByBillingProfile": { + "$ref": "./examples/InvoicesListByBillingProfile.json" + } + }, + "operationId": "Invoices_ListByBillingProfile", + "description": "Lists the invoices for a billing profile for a given start date and end date. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "name": "periodStartDate", + "description": "The start date to fetch the invoices. The date should be specified in MM-DD-YYYY format.", + "in": "query", + "required": true, + "type": "string" + }, + { + "name": "periodEndDate", + "description": "The end date to fetch the invoices. The date should be specified in MM-DD-YYYY format.", + "in": "query", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/InvoiceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}": { + "get": { + "tags": [ + "Invoices" + ], + "x-ms-examples": { + "Invoice": { + "$ref": "./examples/Invoice.json" + } + }, + "operationId": "Invoices_Get", + "description": "Gets an invoice by billing account name and ID. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/invoiceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Invoice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/default/invoices/{invoiceName}": { + "get": { + "tags": [ + "Invoices" + ], + "x-ms-examples": { + "Invoice": { + "$ref": "./examples/InvoiceById.json" + } + }, + "operationId": "Invoices_GetById", + "description": "Gets an invoice by ID. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/invoiceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Invoice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/download": { + "post": { + "tags": [ + "Invoices" + ], + "x-ms-examples": { + "InvoiceDownload": { + "$ref": "./examples/InvoiceDownload.json" + } + }, + "operationId": "Invoices_DownloadInvoice", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "description": "Gets a URL to download an invoice. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/invoiceNameParameter" + }, + { + "name": "downloadToken", + "description": "Download token with document source and document ID.", + "in": "query", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted.", + "headers": { + "Location": { + "description": "GET this URL to retrieve the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.", + "type": "string" + } + } + }, + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DownloadUrl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions": { + "get": { + "tags": [ + "BillingSubscriptions" + ], + "operationId": "BillingSubscriptions_ListByBillingAccount", + "description": "Lists the subscriptions for a billing account. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "BillingSubscriptionsListByBillingAccount": { + "$ref": "./examples/BillingSubscriptionsListByBillingAccount.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingSubscriptionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices": { + "get": { + "tags": [ + "Invoices" + ], + "operationId": "Invoices_ListByBillingSubscription", + "description": "Lists the invoices for a subscription.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "BillingSubscriptionsListByBillingAccount": { + "$ref": "./examples/BillingSubscriptionInvoicesList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "name": "periodStartDate", + "description": "Invoice period start date.", + "in": "query", + "required": true, + "type": "string" + }, + { + "name": "periodEndDate", + "description": "Invoice period end date.", + "in": "query", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/InvoiceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}": { + "get": { + "tags": [ + "Invoices" + ], + "operationId": "Invoices_GetBySubscriptionAndInvoiceId", + "description": "Gets an invoice by subscription ID and invoice ID.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "BillingSubscriptionsListByBillingAccount": { + "$ref": "./examples/BillingSubscriptionInvoice.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/invoiceNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Invoice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}/download": { + "post": { + "tags": [ + "Invoices" + ], + "x-ms-examples": { + "BillingSubscriptionInvoiceDownload": { + "$ref": "./examples/BillingSubscriptionInvoiceDownload.json" + } + }, + "operationId": "Invoices_DownloadBillingSubscriptionInvoice", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "description": "Gets a URL to download an invoice.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/invoiceNameParameter" + }, + { + "name": "downloadToken", + "description": "Download token with document source and document ID.", + "in": "query", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted.", + "headers": { + "Location": { + "description": "GET this URL to retrieve the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.", + "type": "string" + } + } + }, + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DownloadUrl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingSubscriptions": { + "get": { + "tags": [ + "BillingSubscriptions" + ], + "operationId": "BillingSubscriptions_ListByBillingProfile", + "description": "Lists the subscriptions that are billed to a billing profile. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "BillingSubscriptionsListByBillingProfile": { + "$ref": "./examples/BillingSubscriptionsListByBillingProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingSubscriptionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingSubscriptions": { + "get": { + "tags": [ + "BillingSubscriptions" + ], + "operationId": "BillingSubscriptions_ListByInvoiceSection", + "description": "Lists the subscriptions that are billed to an invoice section. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "BillingSubscriptionsListByInvoiceSection": { + "$ref": "./examples/BillingSubscriptionsListByInvoiceSection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/invoiceSectionNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingSubscriptionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}": { + "get": { + "tags": [ + "BillingSubscriptions" + ], + "operationId": "BillingSubscriptions_Get", + "description": "Gets a subscription by its ID. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement and Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "BillingSubscription": { + "$ref": "./examples/BillingSubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingSubscription" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "BillingSubscriptions" + ], + "operationId": "BillingSubscriptions_Update", + "description": "Updates the properties of a billing subscription. Currently, cost center can be updated. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "x-ms-examples": { + "UpdateBillingProperty": { + "$ref": "./examples/UpdateBillingSubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BillingSubscription" + }, + "description": "Request parameters that are provided to the update billing subscription operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingSubscription" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}/move": { + "post": { + "description": "Moves a subscription's charges to a new invoice section. The new invoice section must belong to the same billing profile as the existing invoice section. This operation is supported for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingSubscriptions_Move", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "MoveBillingSubscription": { + "$ref": "./examples/MoveBillingSubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TransferBillingSubscriptionRequestProperties" + }, + "description": "Request parameters that are provided to the move subscription operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingSubscription" + } + }, + "202": { + "description": "Accepted. Billing Subscription transfer is in progress.", + "headers": { + "Location": { + "description": "Location URI to poll for result.", + "type": "string" + }, + "Retry-After": { + "description": "Recommended time to wait before making another request to check the status of the operation. The time is specified in seconds.", + "type": "integer" + } + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}/validateMoveEligibility": { + "post": { + "x-ms-examples": { + "SubscriptionMoveValidateSuccess": { + "$ref": "./examples/ValidateSubscriptionMoveSuccess.json" + }, + "SubscriptionMoveValidateFailure": { + "$ref": "./examples/ValidateSubscriptionMoveFailure.json" + } + }, + "operationId": "BillingSubscriptions_ValidateMove", + "description": "Validates if a subscription's charges can be moved to a new invoice section. This operation is supported for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TransferBillingSubscriptionRequestProperties" + }, + "description": "Request parameters that are provided to the validate move eligibility operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ValidateSubscriptionTransferEligibilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products": { + "get": { + "tags": [ + "Products" + ], + "operationId": "Products_ListByBillingAccount", + "description": "Lists the products for a billing account. These don't include products billed based on usage. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "ProductsListByBillingAccount": { + "$ref": "./examples/ProductsListByBillingAccount.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$filter", + "description": "May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated by a colon (:).", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ProductsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/products": { + "get": { + "tags": [ + "Products" + ], + "operationId": "Products_ListByBillingProfile", + "description": "Lists the products for a billing profile. These don't include products billed based on usage. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "ProductsListByBillingProfile": { + "$ref": "./examples/ProductsListByBillingProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$filter", + "description": "May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated by a colon (:).", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ProductsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/products": { + "get": { + "tags": [ + "Products" + ], + "operationId": "Products_ListByInvoiceSection", + "description": "Lists the products for an invoice section. These don't include products billed based on usage. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "ProductsListByInvoiceSection": { + "$ref": "./examples/ProductsListByInvoiceSection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/invoiceSectionNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$filter", + "description": "May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated by a colon (:).", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ProductsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}": { + "get": { + "tags": [ + "Products" + ], + "operationId": "Products_Get", + "description": "Gets a product by ID. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "Product": { + "$ref": "./examples/Product.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/productNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Product" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Products" + ], + "operationId": "Products_Update", + "description": "Updates the properties of a Product. Currently, auto renew can be updated. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "x-ms-examples": { + "UpdateBillingProperty": { + "$ref": "./examples/UpdateProduct.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/productNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Product" + }, + "description": "Request parameters that are provided to the update product operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Product" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}/move": { + "post": { + "tags": [ + "Products" + ], + "operationId": "Products_Move", + "description": "Moves a product's charges to a new invoice section. The new invoice section must belong to the same billing profile as the existing invoice section. This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "MoveProduct": { + "$ref": "./examples/MoveProduct.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/productNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TransferProductRequestProperties" + }, + "description": "Request parameters that are provided to the move product operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Product" + } + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "Location URI to poll for result", + "type": "string" + }, + "Retry-After": { + "description": "Recommended time to wait before making another request to check the status of the operation. The time is specified in seconds.", + "type": "integer" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}/validateMoveEligibility": { + "post": { + "x-ms-examples": { + "SubscriptionMoveValidateSuccess": { + "$ref": "./examples/ValidateProductMoveSuccess.json" + }, + "SubscriptionMoveValidateFailure": { + "$ref": "./examples/ValidateProductMoveFailure.json" + } + }, + "operationId": "Products_ValidateMove", + "description": "Validates if a product's charges can be moved to a new invoice section. This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/productNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TransferProductRequestProperties" + }, + "description": "Request parameters that are provided to the validate move eligibility operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ValidateProductTransferEligibilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/transactions": { + "get": { + "tags": [ + "Transactions" + ], + "operationId": "Transactions_ListByInvoice", + "description": "Lists the transactions for an invoice. Transactions include purchases, refunds and Azure usage charges.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "TransactionsListByInvoice": { + "$ref": "./examples/TransactionsListByInvoice.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/invoiceNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/TransactionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/policies/default": { + "get": { + "tags": [ + "Policies" + ], + "operationId": "Policies_GetByBillingProfile", + "description": "Lists the policies for a billing profile. This operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "PolicyByBillingProfile": { + "$ref": "./examples/Policy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Policy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Policies" + ], + "operationId": "Policies_Update", + "description": "Updates the policies for a billing profile. This operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "x-ms-examples": { + "UpdatePolicy": { + "$ref": "./examples/UpdatePolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Policy" + }, + "description": "Request parameters that are provided to the update policies operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Policy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/policies/default": { + "get": { + "tags": [ + "Policies" + ], + "operationId": "Policies_GetByCustomer", + "description": "Lists the policies for a customer. This operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "PolicyByCustomer": { + "$ref": "./examples/CustomerPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/customerNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CustomerPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Policies" + ], + "operationId": "Policies_UpdateCustomer", + "description": "Updates the policies for a customer. This operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "x-ms-examples": { + "UpdateCustomer": { + "$ref": "./examples/UpdateCustomerPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/customerNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CustomerPolicy" + }, + "description": "Request parameters that are provided to the update policies operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CustomerPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingProperty/default": { + "get": { + "tags": [ + "BillingProperties" + ], + "operationId": "BillingProperty_Get", + "description": "Get the billing properties for a subscription. This operation is not supported for billing accounts with agreement type Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "BillingProperty": { + "$ref": "./examples/BillingProperty.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingProperty" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "BillingProperties" + ], + "operationId": "BillingProperty_Update", + "description": "Updates the billing property of a subscription. Currently, cost center can be updated. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "x-ms-examples": { + "UpdateBillingProperty": { + "$ref": "./examples/UpdateBillingProperty.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BillingProperty" + }, + "description": "Request parameters that are provided to the update billing property operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingProperty" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists the available billing REST API operations.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "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.Billing/billingAccounts/{billingAccountName}/billingPermissions": { + "get": { + "tags": [ + "BillingPermissions" + ], + "x-ms-examples": { + "BillingAccountPermissionsList": { + "$ref": "./examples/BillingAccountPermissionsList.json" + } + }, + "operationId": "BillingPermissions_ListByBillingAccount", + "description": "Lists the billing permissions the caller has on a billing account.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + } + ], + "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}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingPermissions": { + "get": { + "tags": [ + "BillingPermissions" + ], + "x-ms-examples": { + "InvoiceSectionPermissionsList": { + "$ref": "./examples/InvoiceSectionPermissionsList.json" + } + }, + "operationId": "BillingPermissions_ListByInvoiceSections", + "description": "Lists the billing permissions the caller has on an invoice section.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/invoiceSectionNameParameter" + } + ], + "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}/billingProfiles/{billingProfileName}/billingPermissions": { + "get": { + "tags": [ + "BillingPermissions" + ], + "x-ms-examples": { + "BillingProfilePermissionsList": { + "$ref": "./examples/BillingProfilePermissionsList.json" + } + }, + "operationId": "BillingPermissions_ListByBillingProfile", + "description": "Lists the billing permissions the caller has on a billing profile.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + } + ], + "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": [ + "BillingRoleDefinitions" + ], + "x-ms-examples": { + "BillingAccountRoleDefinition": { + "$ref": "./examples/BillingAccountRoleDefinition.json" + } + }, + "operationId": "BillingRoleDefinitions_GetByBillingAccount", + "description": "Gets the definition for a role on a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingRoleDefinitionNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleDefinitions/{billingRoleDefinitionName}": { + "get": { + "tags": [ + "BillingRoleDefinitions" + ], + "x-ms-examples": { + "InvoiceSectionRoleDefinition": { + "$ref": "./examples/InvoiceSectionRoleDefinition.json" + } + }, + "operationId": "BillingRoleDefinitions_GetByInvoiceSection", + "description": "Gets the definition for a role on an invoice section. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/invoiceSectionNameParameter" + }, + { + "$ref": "#/parameters/billingRoleDefinitionNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleDefinitions/{billingRoleDefinitionName}": { + "get": { + "tags": [ + "BillingRoleDefinitions" + ], + "x-ms-examples": { + "BillingProfileRoleDefinition": { + "$ref": "./examples/BillingProfileRoleDefinition.json" + } + }, + "operationId": "BillingRoleDefinitions_GetByBillingProfile", + "description": "Gets the definition for a role on a billing profile. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/billingRoleDefinitionNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions": { + "get": { + "tags": [ + "BillingRoleDefinitions" + ], + "x-ms-examples": { + "BillingAccountRoleDefinitionsList": { + "$ref": "./examples/BillingAccountRoleDefinitionsList.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.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleDefinitions": { + "get": { + "tags": [ + "BillingRoleDefinitions" + ], + "x-ms-examples": { + "InvoiceSectionRoleDefinitionsList": { + "$ref": "./examples/InvoiceSectionRoleDefinitionsList.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.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/invoiceSectionNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleDefinitions": { + "get": { + "tags": [ + "BillingRoleDefinitions" + ], + "x-ms-examples": { + "BillingProfileRoleDefinitionsList": { + "$ref": "./examples/BillingProfileRoleDefinitionsList.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.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments/{billingRoleAssignmentName}": { + "get": { + "tags": [ + "BillingRoleAssignments" + ], + "x-ms-examples": { + "BillingAccountRoleAssignment": { + "$ref": "./examples/BillingAccountRoleAssignment.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.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "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" + } + } + } + }, + "delete": { + "tags": [ + "BillingRoleAssignments" + ], + "x-ms-examples": { + "BillingAccountRoleAssignmentDelete": { + "$ref": "./examples/BillingAccountRoleAssignmentDelete.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.", + "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" + } + } + } + } + }, + "/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.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "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.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "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" + }, + { + "$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" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments": { + "get": { + "tags": [ + "BillingRoleAssignments" + ], + "x-ms-examples": { + "BillingAccountRoleAssignmentList": { + "$ref": "./examples/BillingAccountRoleAssignmentList.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.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + } + ], + "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}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleAssignments": { + "get": { + "tags": [ + "BillingRoleAssignments" + ], + "x-ms-examples": { + "InvoiceSectionRoleAssignmentList": { + "$ref": "./examples/InvoiceSectionRoleAssignmentList.json" + } + }, + "operationId": "BillingRoleAssignments_ListByInvoiceSection", + "description": "Lists the role assignments for the caller on an invoice section. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/invoiceSectionNameParameter" + } + ], + "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}/billingProfiles/{billingProfileName}/billingRoleAssignments": { + "get": { + "tags": [ + "BillingRoleAssignments" + ], + "x-ms-examples": { + "BillingProfileRoleAssignmentList": { + "$ref": "./examples/BillingProfileRoleAssignmentList.json" + } + }, + "operationId": "BillingRoleAssignments_ListByBillingProfile", + "description": "Lists the role assignments for the caller on a billing profile. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + } + ], + "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": [ + "Agreements" + ], + "x-ms-examples": { + "AgreementsListByBillingAccount": { + "$ref": "./examples/AgreementsListByBillingAccount.json" + } + }, + "operationId": "Agreements_ListByBillingAccount", + "description": "Lists the agreements for a billing account.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "name": "$expand", + "description": "May be used to expand the participants.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/AgreementListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/agreements/{agreementName}": { + "get": { + "tags": [ + "Agreements" + ], + "x-ms-examples": { + "AgreementByName": { + "$ref": "./examples/AgreementByName.json" + } + }, + "operationId": "Agreements_Get", + "description": "Gets an agreement by ID.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/agreementNameParameter" + }, + { + "name": "$expand", + "description": "May be used to expand the participants.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Agreement" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "CustomerListResult": { + "description": "The list of customers.", + "properties": { + "value": { + "description": "The list of customers.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Customer" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "Customer": { + "description": "A partner's customer.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "The customer.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/CustomerProperties" + } + } + }, + "CustomerProperties": { + "description": "The properties of a customer.", + "properties": { + "billingProfileId": { + "description": "The ID of the billing profile for the invoice section.", + "type": "string", + "readOnly": true + }, + "billingProfileDisplayName": { + "description": "The name of the billing profile for the invoice section.", + "type": "string", + "readOnly": true + }, + "displayName": { + "description": "The name of the customer.", + "type": "string" + }, + "enabledAzurePlans": { + "description": "Azure plans enabled for the customer.", + "type": "array", + "items": { + "$ref": "#/definitions/AzurePlan" + } + }, + "resellers": { + "description": "The list of resellers for which an Azure plan is enabled for the customer.", + "type": "array", + "items": { + "$ref": "#/definitions/Reseller" + } + } + } + }, + "ValidateAddressResponse": { + "type": "object", + "description": "Result of the address validation", + "properties": { + "status": { + "description": "status of the address validation.", + "$ref": "#/definitions/AddressValidationStatus" + }, + "suggestedAddresses": { + "description": "The list of suggested addresses.", + "type": "array", + "items": { + "$ref": "#/definitions/AddressDetails" + } + }, + "validationMessage": { + "description": "Validation error message.", + "type": "string" + } + } + }, + "AddressValidationStatus": { + "type": "string", + "description": "Status of the address validation.", + "enum": [ + "Valid", + "Invalid" + ], + "x-ms-enum": { + "name": "addressValidationStatus", + "modelAsString": true + } + }, + "TransferProductRequestProperties": { + "description": "The properties of the product to initiate a transfer.", + "properties": { + "destinationInvoiceSectionId": { + "type": "string", + "description": "The destination invoice section id." + } + } + }, + "TransferBillingSubscriptionRequestProperties": { + "type": "object", + "description": "Request parameters to transfer billing subscription.", + "required": [ + "destinationInvoiceSectionId" + ], + "properties": { + "destinationInvoiceSectionId": { + "type": "string", + "description": "The destination invoice section id." + } + } + }, + "ValidateSubscriptionTransferEligibilityResult": { + "type": "object", + "description": "Result of the transfer eligibility validation.", + "properties": { + "isMoveEligible": { + "description": "Specifies whether the subscription is eligible to be transferred.", + "type": "boolean", + "readOnly": true + }, + "errorDetails": { + "description": "Validation error details.", + "$ref": "#/definitions/ValidateSubscriptionTransferEligibilityError" + } + } + }, + "ValidateSubscriptionTransferEligibilityError": { + "type": "object", + "description": "Error details of the transfer eligibility validation", + "properties": { + "code": { + "description": "Error code for the product transfer validation.", + "$ref": "#/definitions/SubscriptionTransferValidationErrorCode" + }, + "message": { + "description": "The error message.", + "type": "string" + }, + "details": { + "description": "Detailed error message explaining the error.", + "type": "string" + } + } + }, + "SubscriptionTransferValidationErrorCode": { + "type": "string", + "description": "Error code of the transfer validation response.", + "enum": [ + "InvalidSource", + "SubscriptionNotActive", + "InsufficientPermissionOnSource", + "InsufficientPermissionOnDestination", + "DestinationBillingProfilePastDue", + "SubscriptionTypeNotSupported", + "CrossBillingAccountNotAllowed", + "NotAvailableForDestinationMarket" + ], + "x-ms-enum": { + "name": "subscriptionTransferValidationErrorCode", + "modelAsString": true + } + }, + "BillingAccountListResult": { + "description": "The list of billing accounts.", + "properties": { + "value": { + "description": "The list of billing accounts.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/BillingAccount" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "BillingAccount": { + "description": "A billing account.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "The properties of the billing account.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/BillingAccountProperties" + } + } + }, + "BillingAccountProperties": { + "description": "The properties of the billing account.", + "properties": { + "displayName": { + "description": "The billing account name.", + "type": "string" + }, + "soldTo": { + "description": "The address of the individual or organization that is responsible for the billing account.", + "$ref": "#/definitions/AddressDetails" + }, + "agreementType": { + "description": "The type of agreement.", + "type": "string", + "enum": [ + "MicrosoftCustomerAgreement", + "EnterpriseAgreement", + "MicrosoftOnlineServicesProgram", + "MicrosoftPartnerAgreement" + ], + "readOnly": true, + "x-ms-enum": { + "name": "AgreementType", + "modelAsString": true + } + }, + "accountType": { + "description": "The type of customer.", + "type": "string", + "enum": [ + "Enterprise", + "Individual", + "Partner" + ], + "readOnly": true, + "x-ms-enum": { + "name": "AccountType", + "modelAsString": true + } + }, + "accountStatus": { + "description": "The current status of the billing account.", + "type": "string", + "enum": [ + "Active", + "Deleted", + "Disabled", + "Expired", + "Transferred", + "Extended", + "Terminated" + ], + "readOnly": true, + "x-ms-enum": { + "name": "AccountStatus", + "modelAsString": true + } + }, + "billingProfiles": { + "description": "The billing profiles associated with the billing account. By default this is not populated, unless it's specified in $expand.", + "$ref": "#/definitions/BillingProfilesOnExpand" + }, + "enrollmentDetails": { + "description": "The details about the associated legacy enrollment. By default this is not populated, unless it's specified in $expand.", + "$ref": "#/definitions/Enrollment", + "readOnly": true + }, + "departments": { + "description": "The departments associated to the enrollment.", + "type": "array", + "items": { + "$ref": "#/definitions/Department" + } + }, + "enrollmentAccounts": { + "description": "The accounts associated to the enrollment.", + "type": "array", + "items": { + "$ref": "#/definitions/EnrollmentAccount" + } + }, + "hasReadAccess": { + "description": "Indicates whether user has read access to the billing account.", + "type": "boolean", + "readOnly": true + } + } + }, + "BillingProfilesOnExpand": { + "description": "The billing profiles associated with the billing account. By default this is not populated, unless it's specified in $expand.", + "properties": { + "hasMoreResults": { + "description": "Indicates whether there are more billing profiles than the ones listed in this collection. The collection lists a maximum of 50 billing profiles. To get all billing profiles, use the list billing profiles API.", + "type": "boolean", + "readOnly": true + }, + "value": { + "description": "The billing profiles associated with the billing account.", + "type": "array", + "items": { + "$ref": "#/definitions/BillingProfile" + } + } + } + }, + "BillingAccountUpdateRequest": { + "description": "The request properties of the billing account that can be updated.", + "properties": { + "properties": { + "description": "A billing property.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/BillingAccountProperties" + } + } + }, + "BillingProperty": { + "description": "A billing property.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "A billing property.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/BillingPropertyProperties" + } + } + }, + "BillingPropertyProperties": { + "description": "The billing property.", + "properties": { + "accountAdminNotificationEmailAddress": { + "description": "The email address on which the account admin gets all Azure notifications.", + "type": "string", + "readOnly": true + }, + "billingTenantId": { + "description": "The Azure AD tenant ID of the billing account for the subscription.", + "type": "string", + "readOnly": true + }, + "billingAccountId": { + "description": "The ID of the billing account to which the subscription is billed.", + "type": "string", + "readOnly": true + }, + "billingAccountDisplayName": { + "description": "The name of the billing account to which the subscription is billed.", + "type": "string", + "readOnly": true + }, + "billingProfileId": { + "description": "The ID of the billing profile to which the subscription is billed.", + "type": "string", + "readOnly": true + }, + "billingProfileDisplayName": { + "description": "The name of the billing profile to which the subscription is billed.", + "type": "string", + "readOnly": true + }, + "billingProfileStatus": { + "description": "The status of the billing profile.", + "enum": [ + "Active", + "Disabled", + "Warned" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BillingProfileStatus", + "modelAsString": true + } + }, + "billingProfileStatusReasonCode": { + "description": "Reason for the specified billing profile status.", + "enum": [ + "PastDue", + "SpendingLimitReached", + "SpendingLimitExpired" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BillingProfileStatusReasonCode", + "modelAsString": true + } + }, + "billingProfileSpendingLimit": { + "description": "The billing profile spending limit.", + "enum": [ + "Off", + "On" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BillingProfileSpendingLimit", + "modelAsString": true + } + }, + "costCenter": { + "description": "The cost center applied to the subscription.", + "type": "string" + }, + "invoiceSectionId": { + "description": "The ID of the invoice section to which the subscription is billed.", + "type": "string", + "readOnly": true + }, + "invoiceSectionDisplayName": { + "description": "The name of the invoice section to which the subscription is billed.", + "type": "string", + "readOnly": true + }, + "isAccountAdmin": { + "description": "Indicates whether user is the account admin.", + "type": "boolean", + "readOnly": true + }, + "productId": { + "description": "The product ID of the Azure plan.", + "type": "string", + "readOnly": true + }, + "productName": { + "description": "The product name of the Azure plan.", + "type": "string", + "readOnly": true + }, + "skuId": { + "description": "The sku ID of the Azure plan for the subscription.", + "type": "string", + "readOnly": true + }, + "skuDescription": { + "description": "The sku description of the Azure plan for the subscription.", + "type": "string", + "readOnly": true + } + } + }, + "Enrollment": { + "description": "The properties of an enrollment.", + "properties": { + "startDate": { + "description": "The start date of the enrollment.", + "type": "string", + "format": "date-time" + }, + "endDate": { + "description": "The end date of the enrollment.", + "type": "string", + "format": "date-time" + }, + "currency": { + "description": "The billing currency for the enrollment.", + "type": "string", + "readOnly": true + }, + "channel": { + "description": "The channel type of the enrollment.", + "type": "string", + "readOnly": true + }, + "policies": { + "description": "The policies for Enterprise Agreement enrollments.", + "$ref": "#/definitions/EnrollmentPolicies", + "readOnly": true + }, + "language": { + "description": "The language for the enrollment.", + "type": "string", + "readOnly": true + }, + "countryCode": { + "description": "The country code of the enrollment.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The current status of the enrollment.", + "type": "string", + "readOnly": true + }, + "billingCycle": { + "description": "The billing cycle for the enrollment.", + "type": "string", + "readOnly": true + } + } + }, + "EnrollmentPolicies": { + "description": "The policies for Enterprise Agreement enrollments.", + "properties": { + "accountOwnerViewCharges": { + "description": "The policy that controls whether Account Owners can view charges.", + "type": "boolean", + "readOnly": true + }, + "departmentAdminViewCharges": { + "description": "The policy that controls whether Department Administrators can view charges.", + "type": "boolean", + "readOnly": true + }, + "marketplacesEnabled": { + "description": "The policy that controls whether Azure marketplace purchases are allowed in the enrollment.", + "type": "boolean", + "readOnly": true + }, + "reservedInstancesEnabled": { + "description": "The policy that controls whether Azure reservation purchases are allowed in the enrollment.", + "type": "boolean", + "readOnly": true + } + } + }, + "Department": { + "description": "A department.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "A department.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/DepartmentProperties" + } + } + }, + "DepartmentProperties": { + "description": "The properties of a department.", + "properties": { + "departmentName": { + "description": "The name of the department.", + "type": "string" + }, + "costCenter": { + "description": "The cost center associated with the department.", + "type": "string" + }, + "status": { + "description": "The status of the department.", + "type": "string" + }, + "enrollmentAccounts": { + "description": "Associated enrollment accounts. By default this is not populated, unless it's specified in $expand.", + "type": "array", + "items": { + "$ref": "#/definitions/EnrollmentAccount" + } + } + } + }, + "EnrollmentAccount": { + "description": "An enrollment account.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "The properties of an enrollment account.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/EnrollmentAccountProperties" + } + } + }, + "EnrollmentAccountProperties": { + "description": "The properties of an enrollment account.", + "properties": { + "accountName": { + "description": "The name of the enrollment account.", + "type": "string" + }, + "costCenter": { + "description": "The cost center associated with the enrollment account.", + "type": "string" + }, + "accountOwner": { + "description": "The owner of the enrollment account.", + "type": "string" + }, + "status": { + "description": "The status of the enrollment account.", + "type": "string" + }, + "startDate": { + "description": "The start date of the enrollment account.", + "type": "string", + "format": "date-time" + }, + "endDate": { + "description": "The end date of the enrollment account.", + "type": "string", + "format": "date-time" + }, + "department": { + "description": "Associated department. By default this is not populated, unless it's specified in $expand.", + "$ref": "#/definitions/Department" + } + } + }, + "InstructionListResult": { + "description": "The list of billing instructions used during invoice generation.", + "properties": { + "value": { + "description": "The list of billing instructions used during invoice generation.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Instruction" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "BillingProfileListResult": { + "description": "The list of billing profiles.", + "properties": { + "value": { + "description": "The list of billing profiles.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/BillingProfile" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "BillingProfile": { + "description": "A billing profile.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "The properties of the billing profile.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/BillingProfileProperties" + } + } + }, + "Instruction": { + "description": "An instruction.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "A billing instruction used during invoice generation.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/InstructionProperties" + } + } + }, + "InstructionProperties": { + "description": "A billing instruction used during invoice generation.", + "required": [ + "amount", + "startDate", + "endDate" + ], + "properties": { + "amount": { + "description": "The amount budgeted for this billing instruction.", + "type": "number" + }, + "startDate": { + "description": "The date this billing instruction goes into effect.", + "type": "string", + "format": "date-time" + }, + "endDate": { + "description": "The date this billing instruction is no longer in effect.", + "type": "string", + "format": "date-time" + }, + "creationDate": { + "description": "The date this billing instruction was created.", + "type": "string", + "format": "date-time" + } + } + }, + "BillingProfileCreationRequest": { + "description": "The request parameters for creating a new billing profile.", + "properties": { + "displayName": { + "description": "The name of the billing profile.", + "type": "string" + }, + "poNumber": { + "description": "The purchase order name that will appear on the invoices generated for the billing profile.", + "type": "string" + }, + "billTo": { + "description": "The address of the individual or organization that is responsible for the billing profile.", + "$ref": "#/definitions/AddressDetails" + }, + "invoiceEmailOptIn": { + "description": "Flag controlling whether the invoices for the billing profile are sent through email.", + "type": "boolean" + }, + "enabledAzurePlans": { + "description": "Enabled azure plans for the billing profile.", + "type": "array", + "items": { + "$ref": "#/definitions/AzurePlan" + } + } + } + }, + "BillingProfileProperties": { + "description": "The properties of the billing profile.", + "properties": { + "displayName": { + "description": "The name of the billing profile.", + "type": "string" + }, + "poNumber": { + "description": "The purchase order name that will appear on the invoices generated for the billing profile.", + "type": "string" + }, + "billTo": { + "description": "Billing address.", + "$ref": "#/definitions/AddressDetails" + }, + "invoiceEmailOptIn": { + "description": "Flag controlling whether the invoices for the billing profile are sent through email.", + "type": "boolean" + }, + "invoiceDay": { + "description": "The day of the month when the invoice for the billing profile is generated.", + "type": "integer", + "readOnly": true + }, + "currency": { + "description": "The currency in which the charges for the billing profile are billed.", + "type": "string", + "readOnly": true + }, + "enabledAzurePlans": { + "description": "Information about the enabled azure plans.", + "type": "array", + "items": { + "$ref": "#/definitions/AzurePlan" + } + }, + "invoiceSections": { + "description": "The invoice sections associated to the billing profile. By default this is not populated, unless it's specified in $expand.", + "$ref": "#/definitions/InvoiceSectionsOnExpand" + }, + "hasReadAccess": { + "description": "Indicates whether user has read access to the billing profile.", + "type": "boolean", + "readOnly": true + }, + "systemId": { + "description": "The system generated unique identifier for a billing profile.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The status of the billing profile.", + "enum": [ + "Active", + "Disabled", + "Warned" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BillingProfileStatus", + "modelAsString": true + } + }, + "statusReasonCode": { + "description": "Reason for the specified billing profile status.", + "enum": [ + "PastDue", + "SpendingLimitReached", + "SpendingLimitExpired" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "StatusReasonCode", + "modelAsString": true + } + }, + "spendingLimit": { + "description": "The billing profile spending limit.", + "enum": [ + "Off", + "On" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SpendingLimit", + "modelAsString": true + } + } + } + }, + "InvoiceSectionsOnExpand": { + "description": "The invoice sections associated to the billing profile. By default this is not populated, unless it's specified in $expand.", + "properties": { + "hasMoreResults": { + "description": "Indicates whether there are more invoice sections than the ones listed in this collection. The collection lists a maximum of 50 invoice sections. To get all invoice sections, use the list invoice sections API.", + "type": "boolean", + "readOnly": true + }, + "value": { + "description": "The invoice sections associated to the billing profile.", + "type": "array", + "items": { + "$ref": "#/definitions/InvoiceSection" + } + } + } + }, + "AddressDetails": { + "description": "Address details.", + "required": [ + "addressLine1", + "country" + ], + "properties": { + "firstName": { + "description": "First name.", + "type": "string" + }, + "lastName": { + "description": "Last name.", + "type": "string" + }, + "companyName": { + "description": "Company name.", + "type": "string" + }, + "addressLine1": { + "description": "Address line 1.", + "type": "string" + }, + "addressLine2": { + "description": "Address line 2.", + "type": "string" + }, + "addressLine3": { + "description": "Address line 3.", + "type": "string" + }, + "city": { + "description": "Address city.", + "type": "string" + }, + "district": { + "description": "Address district.", + "type": "string" + }, + "region": { + "description": "Address region.", + "type": "string" + }, + "country": { + "description": "Country code uses ISO2, 2-digit format.", + "type": "string" + }, + "postalCode": { + "description": "Postal code.", + "type": "string" + }, + "email": { + "description": "Email address.", + "type": "string" + }, + "phoneNumber": { + "description": "Phone number.", + "type": "string" + } + } + }, + "InvoiceSectionCreationRequest": { + "description": "The properties of the invoice section.", + "properties": { + "displayName": { + "description": "The name of the invoice section.", + "type": "string" + } + } + }, + "InvoiceSectionListResult": { + "description": "The list of invoice sections.", + "properties": { + "value": { + "description": "The list of invoice sections.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/InvoiceSection" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "InvoiceSection": { + "description": "An invoice section.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "The properties of an invoice section.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/InvoiceSectionProperties" + } + } + }, + "InvoiceSectionProperties": { + "description": "The properties of an invoice section.", + "properties": { + "displayName": { + "description": "The name of the invoice section.", + "type": "string" + }, + "labels": { + "type": "object", + "description": "Dictionary of metadata associated with the invoice section.", + "additionalProperties": { + "type": "string" + }, + "maxItems": 1000 + }, + "systemId": { + "description": "The system generated unique identifier for an invoice section.", + "type": "string", + "readOnly": true + } + } + }, + "InvoiceSectionListWithCreateSubPermissionResult": { + "type": "object", + "description": "The list of invoice section properties with create subscription permission.", + "properties": { + "value": { + "description": "The list of invoice section properties with create subscription permission.", + "type": "array", + "items": { + "$ref": "#/definitions/InvoiceSectionWithCreateSubPermission" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "InvoiceSectionWithCreateSubPermission": { + "description": "Invoice section properties with create subscription permission.", + "properties": { + "invoiceSectionId": { + "description": "The ID of the invoice section.", + "type": "string", + "readOnly": true + }, + "invoiceSectionDisplayName": { + "description": "The name of the invoice section.", + "type": "string", + "readOnly": true + }, + "invoiceSectionSystemId": { + "description": "The system generated unique identifier for an invoice section.", + "type": "string", + "readOnly": true + }, + "billingProfileId": { + "description": "The ID of the billing profile for the invoice section.", + "type": "string", + "readOnly": true + }, + "billingProfileDisplayName": { + "description": "The name of the billing profile for the invoice section.", + "type": "string", + "readOnly": true + }, + "billingProfileStatus": { + "description": "The status of the billing profile.", + "enum": [ + "Active", + "Disabled", + "Warned" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BillingProfileStatus", + "modelAsString": true + } + }, + "billingProfileStatusReasonCode": { + "description": "Reason for the specified billing profile status.", + "enum": [ + "PastDue", + "SpendingLimitReached", + "SpendingLimitExpired" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "StatusReasonCodeForBillingProfile", + "modelAsString": true + } + }, + "billingProfileSpendingLimit": { + "description": "The billing profile spending limit.", + "enum": [ + "Off", + "On" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "name": "SpendingLimitForBillingProfile", + "modelAsString": true + } + }, + "billingProfileSystemId": { + "description": "The system generated unique identifier for a billing profile.", + "type": "string", + "readOnly": true + }, + "enabledAzurePlans": { + "description": "Enabled azure plans for the associated billing profile.", + "type": "array", + "items": { + "$ref": "#/definitions/AzurePlan" + } + } + } + }, + "AzurePlan": { + "description": "Details of the Azure plan.", + "properties": { + "skuId": { + "description": "The sku id.", + "type": "string" + }, + "skuDescription": { + "description": "The sku description.", + "type": "string", + "readOnly": true + } + } + }, + "DownloadUrl": { + "description": "A secure URL that can be used to download a an entity until the URL expires.", + "properties": { + "expiryTime": { + "description": "The time in UTC when the download URL will expire.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "url": { + "description": "The URL to the PDF file.", + "type": "string", + "readOnly": true + } + } + }, + "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" + } + } + }, + "Reseller": { + "description": "Details of the reseller.", + "properties": { + "resellerId": { + "description": "The MPN ID of the reseller.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The name of the reseller.", + "type": "string", + "readOnly": true + } + } + }, + "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 + }, + "InvoiceListResult": { + "description": "The list of invoices.", + "properties": { + "value": { + "description": "The list of invoices.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Invoice" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "Invoice": { + "description": "An invoice.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "An invoice.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/InvoiceProperties" + } + } + }, + "InvoiceProperties": { + "description": "The properties of the invoice.", + "properties": { + "dueDate": { + "description": "The due date for the invoice.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "invoiceDate": { + "description": "The date when the invoice was generated.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "status": { + "description": "The current status of the invoice.", + "type": "string", + "enum": [ + "Due", + "OverDue", + "Paid" + ], + "readOnly": true, + "x-ms-enum": { + "name": "InvoiceStatus", + "modelAsString": true + } + }, + "amountDue": { + "description": "The amount due as of now.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "azurePrepaymentApplied": { + "description": "The amount of Azure prepayment applied to the charges. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "billedAmount": { + "description": "The total charges for the invoice billing period.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "creditAmount": { + "description": "The total refund for returns and cancellations during the invoice billing period. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "freeAzureCreditApplied": { + "description": "The amount of free Azure credits applied to the charges. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "subTotal": { + "description": "The pre-tax amount due. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "taxAmount": { + "description": "The amount of tax charged for the billing period. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "totalAmount": { + "description": "The amount due when the invoice was generated. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "invoicePeriodStartDate": { + "description": "The start date of the billing period for which the invoice is generated.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "invoicePeriodEndDate": { + "description": "The end date of the billing period for which the invoice is generated.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "invoiceType": { + "description": "Invoice type.", + "enum": [ + "AzureService", + "AzureMarketplace", + "AzureSupport" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "InvoiceType", + "modelAsString": true + } + }, + "isMonthlyInvoice": { + "description": "Specifies if the invoice is generated as part of monthly invoicing cycle or not. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.", + "type": "boolean", + "readOnly": true + }, + "billingProfileId": { + "description": "The ID of the billing profile for which the invoice is generated.", + "type": "string", + "readOnly": true + }, + "billingProfileDisplayName": { + "description": "The name of the billing profile for which the invoice is generated.", + "type": "string", + "readOnly": true + }, + "purchaseOrderNumber": { + "description": "An optional purchase order number for the invoice.", + "type": "string", + "readOnly": true + }, + "documents": { + "description": "List of documents available to download such as invoice and tax receipt.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Document" + } + }, + "payments": { + "description": "List of payments.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/PaymentProperties" + } + }, + "subscriptionId": { + "description": "The ID of the subscription for which the invoice is generated.", + "type": "string", + "readOnly": true + } + } + }, + "PaymentProperties": { + "description": "The properties of a payment.", + "properties": { + "paymentType": { + "description": "The type of payment.", + "type": "string", + "readOnly": true + }, + "amount": { + "description": "The paid amount.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "date": { + "description": "The date when the payment was made.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "paymentMethodFamily": { + "description": "The family of payment method.", + "type": "string", + "enum": [ + "Credits", + "CheckWire", + "CreditCard", + "None" + ], + "x-ms-enum": { + "name": "PaymentMethodFamily", + "modelAsString": true + } + }, + "paymentMethodType": { + "description": "The type of payment method.", + "type": "string", + "readOnly": true + } + } + }, + "Document": { + "description": "The properties of a document.", + "properties": { + "kind": { + "description": "The type of the document.", + "type": "string", + "enum": [ + "Invoice", + "VoidNote", + "TaxReceipt", + "CreditNote" + ], + "readOnly": true, + "x-ms-enum": { + "name": "DocumentType", + "modelAsString": true + } + }, + "url": { + "description": "Document URL.", + "type": "string", + "readOnly": true + }, + "source": { + "description": "The source of the document. ENF for Brazil and DRS for rest of the world.", + "type": "string", + "enum": [ + "DRS", + "ENF" + ], + "readOnly": true, + "x-ms-enum": { + "name": "DocumentSource", + "modelAsString": true + } + } + } + }, + "ProductsListResult": { + "description": "The list of products. It contains a list of available product summaries in reverse chronological order by purchase date.", + "properties": { + "value": { + "description": "The list of products.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Product" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "Product": { + "description": "A product.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProductProperties", + "title": "Product properties" + } + } + }, + "ProductProperties": { + "description": "The properties of a product.", + "properties": { + "autoRenew": { + "description": "Indicates whether auto renewal is turned on or off for a product.", + "type": "string", + "enum": [ + "Off", + "On" + ], + "x-ms-enum": { + "name": "AutoRenew", + "modelAsString": true + } + }, + "displayName": { + "description": "The display name of the product.", + "type": "string", + "readOnly": true + }, + "purchaseDate": { + "description": "The date when the product was purchased.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "productTypeId": { + "description": "The ID of the type of product.", + "type": "string", + "readOnly": true + }, + "productType": { + "description": "The description of the type of product.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The current status of the product.", + "type": "string", + "enum": [ + "Active", + "Inactive", + "PastDue", + "Expiring", + "Expired", + "Disabled", + "Cancelled", + "AutoRenew" + ], + "x-ms-enum": { + "name": "ProductStatusType", + "modelAsString": true + } + }, + "endDate": { + "description": "The date when the product will be renewed or canceled.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "billingFrequency": { + "description": "The frequency at which the product will be billed.", + "type": "string", + "enum": [ + "OneTime", + "Monthly", + "UsageBased" + ], + "x-ms-enum": { + "name": "BillingFrequency", + "modelAsString": true + } + }, + "lastCharge": { + "description": "The last month charges.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "lastChargeDate": { + "description": "The date of the last charge.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "quantity": { + "description": "The quantity purchased for the product.", + "type": "number", + "readOnly": true + }, + "skuId": { + "description": "The sku ID of the product.", + "type": "string", + "readOnly": true + }, + "skuDescription": { + "description": "The sku description of the product.", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "The id of the tenant in which the product is used.", + "type": "string", + "readOnly": true + }, + "availabilityId": { + "description": "The availability of the product.", + "type": "string", + "readOnly": true + }, + "invoiceSectionId": { + "description": "The ID of the invoice section to which the product is billed.", + "type": "string", + "readOnly": true + }, + "invoiceSectionDisplayName": { + "description": "The name of the invoice section to which the product is billed.", + "type": "string", + "readOnly": true + }, + "billingProfileId": { + "description": "The ID of the billing profile to which the product is billed.", + "type": "string", + "readOnly": true + }, + "billingProfileDisplayName": { + "description": "The name of the billing profile to which the product is billed.", + "type": "string", + "readOnly": true + }, + "customerId": { + "description": "The ID of the customer for whom the product was purchased. The field is applicable only for Microsoft Partner Agreement billing account.", + "type": "string", + "readOnly": true + }, + "customerDisplayName": { + "description": "The name of the customer for whom the product was purchased. The field is applicable only for Microsoft Partner Agreement billing account.", + "type": "string", + "readOnly": true + }, + "reseller": { + "description": "Reseller for this product.", + "readOnly": true, + "$ref": "#/definitions/Reseller" + } + } + }, + "ValidateProductTransferEligibilityResult": { + "type": "object", + "description": "Result of the product transfer eligibility validation.", + "properties": { + "isMoveEligible": { + "description": "Specifies whether the transfer is eligible or not.", + "type": "boolean", + "readOnly": true + }, + "errorDetails": { + "description": "Validation error details.", + "$ref": "#/definitions/ValidateProductTransferEligibilityError" + } + } + }, + "ValidateProductTransferEligibilityError": { + "type": "object", + "description": "Error details of the product transfer eligibility validation.", + "properties": { + "code": { + "description": "Error code for the product transfer validation.", + "$ref": "#/definitions/ProductTransferValidationErrorCode" + }, + "message": { + "description": "The error message.", + "type": "string" + }, + "details": { + "description": "Detailed error message explaining the error.", + "type": "string" + } + } + }, + "ProductTransferValidationErrorCode": { + "type": "string", + "description": "Error code of the transfer validation response.", + "enum": [ + "InvalidSource", + "ProductNotActive", + "InsufficientPermissionOnSource", + "InsufficientPermissionOnDestination", + "DestinationBillingProfilePastDue", + "ProductTypeNotSupported", + "CrossBillingAccountNotAllowed", + "NotAvailableForDestinationMarket", + "OneTimePurchaseProductTransferNotAllowed" + ], + "x-ms-enum": { + "name": "ProductTransferValidationErrorCode", + "modelAsString": true + } + }, + "BillingSubscriptionsListResult": { + "description": "The list of billing subscriptions.", + "properties": { + "value": { + "description": "The list of billing subscriptions.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/BillingSubscription" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "BillingSubscription": { + "description": "A billing subscription.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BillingSubscriptionProperties", + "title": "Billing subscription properties" + } + } + }, + "BillingSubscriptionProperties": { + "description": "The billing properties of a subscription.", + "properties": { + "displayName": { + "description": "The name of the subscription.", + "type": "string", + "readOnly": true + }, + "subscriptionId": { + "description": "The ID of the subscription.", + "type": "string", + "format": "uuid", + "readOnly": true + }, + "subscriptionBillingStatus": { + "description": "The current billing status of the subscription.", + "type": "string", + "enum": [ + "Active", + "Inactive", + "Abandoned", + "Deleted", + "Warning" + ], + "x-ms-enum": { + "name": "BillingSubscriptionStatusType", + "modelAsString": true + } + }, + "lastMonthCharges": { + "description": "The last month charges.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "monthToDateCharges": { + "description": "The current month to date charges.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "billingProfileId": { + "description": "The ID of the billing profile to which the subscription is billed.", + "type": "string", + "readOnly": true + }, + "billingProfileDisplayName": { + "description": "The name of the billing profile to which the subscription is billed.", + "type": "string", + "readOnly": true + }, + "costCenter": { + "description": "The cost center applied to the subscription.", + "type": "string" + }, + "customerId": { + "description": "The ID of the customer for whom the subscription was created. The field is applicable only for Microsoft Partner Agreement billing account.", + "type": "string", + "readOnly": true + }, + "customerDisplayName": { + "description": "The name of the customer for whom the subscription was created. The field is applicable only for Microsoft Partner Agreement billing account.", + "type": "string", + "readOnly": true + }, + "invoiceSectionId": { + "description": "The ID of the invoice section to which the subscription is billed.", + "type": "string", + "readOnly": true + }, + "invoiceSectionDisplayName": { + "description": "The name of the invoice section to which the subscription is billed.", + "type": "string", + "readOnly": true + }, + "reseller": { + "description": "Reseller for this subscription.", + "readOnly": true, + "$ref": "#/definitions/Reseller" + }, + "skuId": { + "description": "The sku ID of the Azure plan for the subscription.", + "type": "string" + }, + "skuDescription": { + "description": "The sku description of the Azure plan for the subscription.", + "type": "string", + "readOnly": true + } + } + }, + "EnrollmentAccountContext": { + "description": "The enrollment account context", + "properties": { + "costCenter": { + "description": "The cost center associated with the enrollment account.", + "type": "string" + }, + "startDate": { + "description": "The start date of the enrollment account.", + "type": "string", + "format": "date-time" + }, + "endDate": { + "description": "The end date of the enrollment account.", + "type": "string", + "format": "date-time" + }, + "enrollmentAccountName": { + "description": "The ID of the enrollment account.", + "type": "string" + } + } + }, + "TransactionListResult": { + "description": "The list of transactions.", + "properties": { + "value": { + "description": "The list of transactions.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Transaction" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "Transaction": { + "description": "A transaction.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/TransactionProperties", + "title": "Transaction properties" + } + } + }, + "TransactionProperties": { + "description": "The properties of a transaction.", + "properties": { + "kind": { + "type": "string", + "description": "The kind of transaction. Options are all or reservation.", + "enum": [ + "all", + "reservation" + ], + "x-ms-enum": { + "name": "TransactionTypeKind", + "modelAsString": true + } + }, + "date": { + "description": "The date of transaction.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "invoice": { + "description": "Invoice on which the transaction was billed or 'pending' if the transaction is not billed.", + "type": "string", + "readOnly": true + }, + "invoiceId": { + "description": "The ID of the invoice on which the transaction was billed. This field is only applicable for transactions which are billed.", + "type": "string", + "readOnly": true + }, + "orderId": { + "description": "The order ID of the reservation. The field is only applicable for transaction of kind reservation.", + "type": "string", + "readOnly": true + }, + "orderName": { + "description": "The name of the reservation order. The field is only applicable for transactions of kind reservation.", + "type": "string", + "readOnly": true + }, + "productFamily": { + "description": "The family of the product for which the transaction took place.", + "type": "string", + "readOnly": true + }, + "productTypeId": { + "description": "The ID of the product type for which the transaction took place.", + "type": "string", + "readOnly": true + }, + "productType": { + "description": "The type of the product for which the transaction took place.", + "type": "string", + "readOnly": true + }, + "productDescription": { + "description": "The description of the product for which the transaction took place.", + "type": "string", + "readOnly": true + }, + "transactionType": { + "description": "The type of transaction.", + "type": "string", + "enum": [ + "Purchase", + "Usage Charge" + ], + "x-ms-enum": { + "name": "ReservationType", + "modelAsString": true + } + }, + "transactionAmount": { + "description": "The charge associated with the transaction.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "quantity": { + "description": "The quantity purchased in the transaction.", + "type": "integer", + "readOnly": true + }, + "invoiceSectionId": { + "description": "The ID of the invoice section which will be billed for the transaction.", + "type": "string", + "readOnly": true + }, + "invoiceSectionDisplayName": { + "description": "The name of the invoice section which will be billed for the transaction.", + "type": "string", + "readOnly": true + }, + "billingProfileId": { + "description": "The ID of the billing profile which will be billed for the transaction.", + "type": "string", + "readOnly": true + }, + "billingProfileDisplayName": { + "description": "The name of the billing profile which will be billed for the transaction.", + "type": "string", + "readOnly": true + }, + "customerId": { + "description": "The ID of the customer for which the transaction took place. The field is applicable only for Microsoft Partner Agreement billing account.", + "type": "string", + "readOnly": true + }, + "customerDisplayName": { + "description": "The name of the customer for which the transaction took place. The field is applicable only for Microsoft Partner Agreement billing account.", + "type": "string", + "readOnly": true + }, + "subscriptionId": { + "description": "The ID of the subscription that was used for the transaction. The field is only applicable for transaction of kind reservation.", + "type": "string", + "readOnly": true + }, + "subscriptionName": { + "description": "The name of the subscription that was used for the transaction. The field is only applicable for transaction of kind reservation.", + "type": "string", + "readOnly": true + }, + "azurePlan": { + "description": "The type of azure plan of the subscription that was used for the transaction.", + "type": "string", + "readOnly": true + }, + "azureCreditApplied": { + "description": "The amount of any Azure credits automatically applied to this transaction.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "billingCurrency": { + "description": "The ISO 4217 code for the currency in which this transaction is billed.", + "type": "string", + "readOnly": true + }, + "discount": { + "description": "The percentage discount, if any, applied to this transaction.", + "type": "number", + "readOnly": true + }, + "effectivePrice": { + "description": "The price of the product after applying any discounts.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "exchangeRate": { + "description": "The exchange rate used to convert charged amount to billing currency, if applicable.", + "type": "number", + "readOnly": true + }, + "marketPrice": { + "description": "The retail price of the product.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "pricingCurrency": { + "description": "The ISO 4217 code for the currency in which the product is priced.", + "type": "string", + "readOnly": true + }, + "servicePeriodStartDate": { + "description": "The date of the purchase of the product, or the start date of the month in which usage started.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "servicePeriodEndDate": { + "description": "The end date of the product term, or the end date of the month in which usage ended.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "subTotal": { + "description": "The pre-tax charged amount for the transaction.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "tax": { + "description": "The tax amount applied to the transaction.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "unitOfMeasure": { + "description": "The unit of measure used to bill for the product. For example, compute services are billed per hour.", + "type": "string", + "readOnly": true + }, + "units": { + "description": "The number of units used for a given product.", + "type": "number", + "readOnly": true + }, + "unitType": { + "description": "The description for the unit of measure for a given product.", + "type": "string", + "readOnly": true + } + } + }, + "Policy": { + "description": "A policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PolicyProperties", + "title": "Policy properties" + } + } + }, + "PolicyProperties": { + "description": "The properties of a policy.", + "properties": { + "marketplacePurchases": { + "description": "The policy that controls whether Azure marketplace purchases are allowed for a billing profile.", + "type": "string", + "enum": [ + "AllAllowed", + "OnlyFreeAllowed", + "NotAllowed" + ], + "x-ms-enum": { + "name": "MarketplacePurchasesPolicy", + "modelAsString": true + } + }, + "reservationPurchases": { + "description": "The policy that controls whether Azure reservation purchases are allowed for a billing profile.", + "type": "string", + "enum": [ + "Allowed", + "NotAllowed" + ], + "x-ms-enum": { + "name": "ReservationPurchasesPolicy", + "modelAsString": true + } + }, + "viewCharges": { + "description": "The policy that controls whether users with Azure RBAC access to a subscription can view its charges.", + "type": "string", + "enum": [ + "Allowed", + "NotAllowed" + ], + "x-ms-enum": { + "name": "ViewChargesPolicy", + "modelAsString": true + } + } + } + }, + "CustomerPolicy": { + "description": "The customer's Policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CustomerPolicyProperties", + "title": "Customer Policy properties" + } + } + }, + "CustomerPolicyProperties": { + "description": "The properties of a customer's policy.", + "properties": { + "viewCharges": { + "description": "The policy that controls whether the users in customer's organization can view charges at pay-as-you-go prices.", + "type": "string", + "enum": [ + "Allowed", + "NotAllowed" + ], + "x-ms-enum": { + "name": "ViewCharges", + "modelAsString": true + } + } + } + }, + "AvailableBalance": { + "description": "The latest Azure credit balance. This is the balance available for pay now.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AvailableBalanceProperties", + "title": "Available balance properties" + } + } + }, + "AvailableBalanceProperties": { + "description": "The properties of available balance.", + "properties": { + "amount": { + "description": "Balance amount.", + "readOnly": true, + "$ref": "#/definitions/Amount" + } + } + }, + "Amount": { + "description": "The amount.", + "properties": { + "currency": { + "description": "The currency for the amount value.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "Amount value.", + "type": "number" + } + } + }, + "Operation": { + "description": "A Billing 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.Billing.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "Resource on which the operation is performed such as invoice and billing subscription.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "Operation type such as read, write and delete.", + "type": "string", + "readOnly": true + } + } + } + } + }, + "OperationListResult": { + "description": "The list of billing operations and a URL link to get the next set of results.", + "properties": { + "value": { + "description": "The list of billing operations supported by the Microsoft.Billing 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 + } + } + }, + "BillingRoleAssignmentListResult": { + "description": "The list of role assignments.", + "properties": { + "value": { + "description": "The list of role assignments.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "BillingRoleAssignment": { + "description": "The role assignment", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "The properties of the role assignment.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/BillingRoleAssignmentProperties" + } + } + }, + "BillingRoleAssignmentProperties": { + "description": "The properties of the role assignment.", + "properties": { + "createdOn": { + "description": "The date the role assignment was created.", + "type": "string", + "readOnly": true + }, + "createdByPrincipalTenantId": { + "description": "The tenant Id of the user who created the role assignment.", + "type": "string", + "readOnly": true + }, + "createdByPrincipalId": { + "description": "The principal Id of the user who created the role assignment.", + "type": "string", + "readOnly": true + }, + "createdByUserEmailAddress": { + "description": "The email address of the user who created the role assignment.", + "type": "string", + "readOnly": true + }, + "principalId": { + "description": "The principal id of the user to whom the role was assigned.", + "type": "string", + "readOnly": true + }, + "principalTenantId": { + "description": "The principal tenant id of the user to whom the role was assigned.", + "type": "string", + "readOnly": true + }, + "roleDefinitionId": { + "description": "The ID of the role definition.", + "type": "string", + "readOnly": true + }, + "scope": { + "description": "The scope at which the role was assigned.", + "type": "string", + "readOnly": true + }, + "userAuthenticationType": { + "description": "The authentication type.", + "type": "string", + "readOnly": true + }, + "userEmailAddress": { + "description": "The email address of the user.", + "type": "string", + "readOnly": true + } + } + }, + "BillingRoleDefinitionListResult": { + "description": "The list of role definitions.", + "properties": { + "value": { + "description": "The role definitions.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/BillingRoleDefinition" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "BillingRoleDefinition": { + "description": "The properties of a role definition.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "The properties of the a role definition.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/BillingRoleDefinitionProperties" + } + } + }, + "BillingRoleDefinitionProperties": { + "description": "The properties of the a role definition.", + "properties": { + "description": { + "description": "The role description", + "type": "string", + "readOnly": true + }, + "permissions": { + "description": "The billingPermissions the role has", + "type": "array", + "items": { + "$ref": "#/definitions/BillingPermissionsProperties" + } + }, + "roleName": { + "description": "The name of the role", + "type": "string", + "readOnly": true + } + } + }, + "BillingPermissionsListResult": { + "description": "Result of list billingPermissions a caller has on a billing account.", + "properties": { + "value": { + "description": "The list of billingPermissions a caller has on a billing account.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/BillingPermissionsProperties" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "BillingPermissionsProperties": { + "description": "The set of allowed action and not allowed actions a caller has on a billing account", + "type": "object", + "properties": { + "actions": { + "description": "The set of actions that the caller is allowed to perform.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Action" + } + }, + "notActions": { + "description": "The set of actions that the caller is not allowed to perform.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/NotAction" + } + } + } + }, + "AgreementListResult": { + "description": "Result of listing agreements.", + "properties": { + "value": { + "description": "The list of agreements.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Agreement" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "Agreement": { + "description": "An agreement.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "The properties of an agreement.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/AgreementProperties" + } + } + }, + "AgreementProperties": { + "description": "The properties of an agreement.", + "properties": { + "agreementLink": { + "description": "The URL to download the agreement.", + "type": "string", + "readOnly": true + }, + "category": { + "type": "string", + "description": "The category of the agreement signed by a customer.", + "readOnly": true, + "enum": [ + "MicrosoftCustomerAgreement", + "AffiliatePurchaseTerms", + "Other" + ], + "x-ms-enum": { + "name": "category", + "modelAsString": true + } + }, + "acceptanceMode": { + "type": "string", + "description": "The mode of acceptance for an agreement.", + "readOnly": true, + "enum": [ + "ClickToAccept", + "ESignEmbedded", + "ESignOffline" + ], + "x-ms-enum": { + "name": "acceptanceMode", + "modelAsString": true + } + }, + "effectiveDate": { + "description": "The date from which the agreement is effective.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "expirationDate": { + "description": "The date when the agreement expires.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "participants": { + "description": "The list of participants that participates in acceptance of an agreement.", + "type": "array", + "items": { + "$ref": "#/definitions/Participants" + } + }, + "status": { + "description": "The current status of the agreement.", + "type": "string", + "readOnly": true + } + } + }, + "Participants": { + "description": "The details about a participant.", + "properties": { + "status": { + "description": "The acceptance status of the participant.", + "type": "string", + "readOnly": true + }, + "statusDate": { + "description": "The date when the status got changed.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "email": { + "description": "The email address of the participant.", + "type": "string", + "readOnly": true + } + } + }, + "Action": { + "description": "The action the caller is allowed to perform.", + "type": "string", + "readOnly": true + }, + "NotAction": { + "description": "The set of actions that the caller is not allowed to perform.", + "type": "string", + "readOnly": true + } + }, + "parameters": { + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The version of the API to be used with the client request. The current version is 2020-05-01." + }, + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The ID that uniquely identifies an Azure subscription.", + "required": true, + "type": "string" + }, + "billingAccountNameParameter": { + "name": "billingAccountName", + "in": "path", + "description": "The ID that uniquely identifies a billing account.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "invoiceSectionNameParameter": { + "name": "invoiceSectionName", + "in": "path", + "description": "The ID that uniquely identifies an invoice section.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "enrollmentAccountNameParameter": { + "name": "enrollmentAccountName", + "in": "path", + "description": "The ID that uniquely identifies an enrollment account.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "departmentNameParameter": { + "name": "departmentName", + "in": "path", + "description": "The ID that uniquely identifies a department.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "instructionNameParameter": { + "name": "instructionName", + "in": "path", + "description": "Instruction Name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "billingProfileNameParameter": { + "name": "billingProfileName", + "in": "path", + "description": "The ID that uniquely identifies a billing profile.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "operationIdParameter": { + "name": "operationId", + "in": "path", + "description": "Operation Id.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "billingRoleDefinitionNameParameter": { + "name": "billingRoleDefinitionName", + "in": "path", + "description": "The ID that uniquely identifies a role definition.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "billingRoleAssignmentNameParameter": { + "name": "billingRoleAssignmentName", + "in": "path", + "description": "The ID that uniquely identifies a role assignment.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "invoiceNameParameter": { + "name": "invoiceName", + "in": "path", + "description": "The ID that uniquely identifies an invoice.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "productNameParameter": { + "name": "productName", + "in": "path", + "description": "The ID that uniquely identifies a product.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "agreementNameParameter": { + "name": "agreementName", + "in": "path", + "description": "The ID that uniquely identifies an agreement.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "transactionNameParameter": { + "name": "transactionName", + "in": "path", + "description": "The ID that uniquely identifies a transaction.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "customerNameParameter": { + "name": "customerName", + "in": "path", + "description": "The ID that uniquely identifies a customer.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/AddressInvalid.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/AddressInvalid.json new file mode 100644 index 000000000000..d65cc255d3f3 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/AddressInvalid.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "address": { + "addressLine1": "1 Test", + "city": "bellevue", + "region": "wa", + "postalCode": "12345", + "country": "us" + } + }, + "responses": { + "200": { + "body": { + "status": "Invalid", + "suggestedAddresses": [ + { + "country": "US", + "region": "WA", + "city": "Bellevue", + "addressLine1": "1 Test Address", + "postalCode": "98052" + }, + { + "country": "US", + "region": "WA", + "city": "Bellevue", + "addressLine1": "1 Test Address", + "postalCode": "12345-0000" + } + ], + "validationMessage": "Invalid address" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/AddressValid.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/AddressValid.json new file mode 100644 index 000000000000..8f56faee38da --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/AddressValid.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "address": { + "addressLine1": "1 Test Address", + "city": "bellevue", + "region": "wa", + "postalCode": "12345", + "country": "us" + } + }, + "responses": { + "200": { + "body": { + "status": "Valid", + "suggestedAddresses": [ + { + "country": "US", + "region": "WA", + "city": "Bellevue", + "addressLine1": "1 Test Address", + "postalCode": "12345-0000" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/AgreementByName.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/AgreementByName.json new file mode 100644 index 000000000000..0b7f7f2c21c5 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/AgreementByName.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "agreementName": "{agreementName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/agreements/{agreementName}", + "name": "{agreementName}", + "type": "Microsoft.Billing/billingAccounts/agreements", + "properties": { + "agreementLink": "https://agreementuri1.com", + "category": "MicrosoftCustomerAgreement", + "acceptanceMode": "ClickToAccept", + "effectiveDate": "2018-12-05T00:00:00Z", + "expirationDate": "2018-12-05T00:00:00Z", + "participants": [ + { + "status": "Accepted", + "statusDate": "2018-11-01T00:00:00Z", + "email": "abc@contoso.com" + }, + { + "status": "Declined", + "statusDate": "2018-11-02T00:00:00Z", + "email": "xyz@contoso.com" + } + ], + "status": "Published" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/AgreementsListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/AgreementsListByBillingAccount.json new file mode 100644 index 000000000000..9be6ba760cbc --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/AgreementsListByBillingAccount.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/agreements/Agreement1", + "name": "Agreement1", + "type": "Microsoft.Billing/billingAccounts/agreements", + "properties": { + "agreementLink": "https://agreementuri1.com", + "category": "MicrosoftCustomerAgreement", + "acceptanceMode": "ClickToAccept", + "effectiveDate": "2018-12-05T00:00:00Z", + "expirationDate": "2018-12-05T00:00:00Z", + "participants": [ + { + "status": "Accepted", + "statusDate": "2018-11-01T00:00:00Z", + "email": "abc@contoso.com" + }, + { + "status": "Declined", + "statusDate": "2018-11-02T00:00:00Z", + "email": "xtz@contoso.com" + } + ], + "status": "Published" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/agreements/Agreement2", + "name": "Agreement2", + "type": "Microsoft.Billing/billingAccounts/agreements", + "properties": { + "agreementLink": "https://agreementuri2.com", + "category": "MicrosoftCustomerAgreement", + "acceptanceMode": "ESignEmbedded", + "effectiveDate": "2018-12-05T00:00:00Z", + "expirationDate": "2018-12-05T00:00:00Z", + "participants": [ + { + "status": "Unknown", + "statusDate": "2018-11-01T00:00:00Z", + "email": "abc@contoso.com" + } + ], + "status": "PendingSignature" + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/AvailableBalanceByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/AvailableBalanceByBillingProfile.json new file mode 100644 index 000000000000..03063a39e8d0 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/AvailableBalanceByBillingProfile.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/availableBalance/default", + "name": "default", + "type": "Microsoft.Billing/billingAccounts/billingProfiles/availableBalance", + "properties": { + "amount": { + "currency": "USD", + "value": 500.00 + } + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccount.json new file mode 100644 index 000000000000..30462b5d9d7e --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccount.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}", + "name": "{billingAccountName}", + "type": "Microsoft.Billing/billingAccounts", + "properties": { + "displayName": "Test Account", + "agreementType": "MicrosoftCustomerAgreement", + "accountStatus": "Active", + "accountType": "Enterprise", + "hasReadAccess": true + } + } + } + } +} 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 new file mode 100644 index 000000000000..843c4e2bc85a --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesList.json @@ -0,0 +1,150 @@ +{ + "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/1383723", + "name": "1383723", + "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", + "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" + } + ] + } + }, + { + "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", + "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/BillingAccountPermissionsList.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountPermissionsList.json new file mode 100644 index 000000000000..27bb3da53918 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountPermissionsList.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "actions": [ + "10000000-aaaa-bbbb-cccc-200000000006", + "10000000-aaaa-bbbb-cccc-200000000003", + "10000000-aaaa-bbbb-cccc-200000000002", + "10000000-aaaa-bbbb-cccc-200000000001", + "10000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000015", + "20000000-aaaa-bbbb-cccc-200000000002", + "30000000-aaaa-bbbb-cccc-200000000009", + "40000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000000", + "20000000-aaaa-bbbb-cccc-200000000000", + "10000000-aaaa-bbbb-cccc-200000000008", + "10000000-aaaa-bbbb-cccc-200000000007", + "40000000-aaaa-bbbb-cccc-200000000008", + "40000000-aaaa-bbbb-cccc-200000000006", + "40000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000010", + "30000000-aaaa-bbbb-cccc-200000000001" + ], + "notActions": [] + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountRoleAssignment.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountRoleAssignment.json new file mode 100644 index 000000000000..17693c2027f8 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountRoleAssignment.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingRoleAssignmentName": "{billingRoleAssignmentId}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments/10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "name": "10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "properties": { + "createdOn": "2018-06-21T21:34:12.2363515+00:00", + "createdByPrincipalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "createdByPrincipalId": "10000000-aaaa-bbbb-cccc-3fd5ff9d6aa1", + "principalId": "6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "scope": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}", + "principalTenantId": "10000000-aaaa-bbbb-cccc-2d7cd011db47", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions/50000000-aaaa-bbbb-cccc-100000000002" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleAssignments" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountRoleAssignmentDelete.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountRoleAssignmentDelete.json new file mode 100644 index 000000000000..2d1a0b6bdc87 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountRoleAssignmentDelete.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingRoleAssignmentName": "{billingRoleAssignmentName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments/10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "name": "10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "type": "Microsoft.Billing/billingAccounts/billingRoleAssignments", + "properties": { + "createdOn": "2018-06-21T21:34:12.2363515+00:00", + "createdByPrincipalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "createdByPrincipalId": "10000000-aaaa-bbbb-cccc-3fd5ff9d6aa1", + "principalId": "6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "scope": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}", + "principalTenantId": "10000000-aaaa-bbbb-cccc-2d7cd011db47", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions/50000000-aaaa-bbbb-cccc-100000000002" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountRoleAssignmentList.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountRoleAssignmentList.json new file mode 100644 index 000000000000..9d4e484d6671 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountRoleAssignmentList.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments/10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "name": "10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "properties": { + "createdOn": "2018-06-21T21:34:12.2363515+00:00", + "createdByPrincipalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "createdByPrincipalId": "10000000-aaaa-bbbb-cccc-3fd5ff9d6aa1", + "principalId": "6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "scope": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}", + "principalTenantId": "10000000-aaaa-bbbb-cccc-2d7cd011db47", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions/50000000-aaaa-bbbb-cccc-100000000002" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleAssignments" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments/10000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "name": "10000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "properties": { + "createdOn": "2018-06-21T21:58:19.9073876+00:00", + "createdByPrincipalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "createdByPrincipalId": "10000000-aaaa-bbbb-cccc-3fd5ff9d6aa1", + "principalId": "b1839933-b3ac-42ca-8112-d29c43f3ab47", + "scope": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}", + "principalTenantId": "10000000-aaaa-bbbb-cccc-2d7cd011db47", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions/50000000-aaaa-bbbb-cccc-100000000002" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleAssignments" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountRoleDefinition.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountRoleDefinition.json new file mode 100644 index 000000000000..9912b5ea4a17 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountRoleDefinition.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingRoleDefinitionName": "{billingRoleDefinitionName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions/{billingRoleDefinitionName}", + "name": "{billingRoleDefinitionName}", + "properties": { + "description": "The Owner role gives the user all permissions including access management rights to the billing account.", + "permissions": [ + { + "actions": [ + "10000000-aaaa-bbbb-cccc-200000000000", + "10000000-aaaa-bbbb-cccc-200000000008", + "10000000-aaaa-bbbb-cccc-200000000001", + "10000000-aaaa-bbbb-cccc-200000000002", + "10000000-aaaa-bbbb-cccc-200000000003", + "10000000-aaaa-bbbb-cccc-200000000006", + "10000000-aaaa-bbbb-cccc-200000000007", + "20000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000000", + "40000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000009", + "20000000-aaaa-bbbb-cccc-200000000002", + "30000000-aaaa-bbbb-cccc-200000000015", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000001", + "30000000-aaaa-bbbb-cccc-200000000010", + "40000000-aaaa-bbbb-cccc-200000000007", + "40000000-aaaa-bbbb-cccc-200000000006", + "40000000-aaaa-bbbb-cccc-200000000008" + ], + "notActions": [] + } + ], + "roleName": "Billing acount owner" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleDefinitions" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountRoleDefinitionsList.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountRoleDefinitionsList.json new file mode 100644 index 000000000000..1ccbc73a3065 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountRoleDefinitionsList.json @@ -0,0 +1,127 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions/10000000-aaaa-bbbb-cccc-100000000000", + "name": "10000000-aaaa-bbbb-cccc-100000000000", + "properties": { + "description": "The Owner role gives the user all permissions including access management rights to the billing account.", + "permissions": [ + { + "actions": [ + "10000000-aaaa-bbbb-cccc-200000000000", + "10000000-aaaa-bbbb-cccc-200000000008", + "10000000-aaaa-bbbb-cccc-200000000001", + "10000000-aaaa-bbbb-cccc-200000000002", + "10000000-aaaa-bbbb-cccc-200000000003", + "10000000-aaaa-bbbb-cccc-200000000006", + "10000000-aaaa-bbbb-cccc-200000000007", + "20000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000000", + "40000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000009", + "20000000-aaaa-bbbb-cccc-200000000002", + "30000000-aaaa-bbbb-cccc-200000000015", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000001", + "30000000-aaaa-bbbb-cccc-200000000010", + "40000000-aaaa-bbbb-cccc-200000000007", + "40000000-aaaa-bbbb-cccc-200000000006", + "40000000-aaaa-bbbb-cccc-200000000008" + ], + "notActions": [] + } + ], + "roleName": "Billing account owner" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleDefinitions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions/10000000-aaaa-bbbb-cccc-100000000001", + "name": "10000000-aaaa-bbbb-cccc-100000000001", + "properties": { + "description": "The Contributor role give the user all permissions except access management rights to the billing account.", + "permissions": [ + { + "actions": [ + "10000000-aaaa-bbbb-cccc-200000000008", + "10000000-aaaa-bbbb-cccc-200000000001", + "10000000-aaaa-bbbb-cccc-200000000002", + "10000000-aaaa-bbbb-cccc-200000000003", + "10000000-aaaa-bbbb-cccc-200000000006", + "10000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000009", + "20000000-aaaa-bbbb-cccc-200000000002", + "30000000-aaaa-bbbb-cccc-200000000015", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000001", + "30000000-aaaa-bbbb-cccc-200000000010", + "40000000-aaaa-bbbb-cccc-200000000007", + "40000000-aaaa-bbbb-cccc-200000000006", + "40000000-aaaa-bbbb-cccc-200000000008" + ], + "notActions": [] + } + ], + "roleName": "Billing account contributor" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleDefinitions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions/10000000-aaaa-bbbb-cccc-100000000002", + "name": "10000000-aaaa-bbbb-cccc-100000000002", + "properties": { + "description": "The Reader role gives the user read only access to the billing account.", + "permissions": [ + { + "actions": [ + "10000000-aaaa-bbbb-cccc-200000000008", + "10000000-aaaa-bbbb-cccc-200000000003", + "20000000-aaaa-bbbb-cccc-200000000002", + "30000000-aaaa-bbbb-cccc-200000000015", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000001", + "30000000-aaaa-bbbb-cccc-200000000010", + "40000000-aaaa-bbbb-cccc-200000000007", + "40000000-aaaa-bbbb-cccc-200000000006", + "40000000-aaaa-bbbb-cccc-200000000008" + ], + "notActions": [] + } + ], + "roleName": "Billing account reader" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleDefinitions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions/10000000-aaaa-bbbb-cccc-100000000003", + "name": "10000000-aaaa-bbbb-cccc-100000000003", + "properties": { + "description": "The Signatory role can sign agreements on behalf of the customer.", + "permissions": [ + { + "actions": [ + "10000000-aaaa-bbbb-cccc-200000000002", + "10000000-aaaa-bbbb-cccc-200000000003" + ], + "notActions": [] + } + ], + "roleName": "Signatory" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleDefinitions" + } + ] + } + } + } +} 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 new file mode 100644 index 000000000000..fc45287d5e7a --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountWithExpand.json @@ -0,0 +1,159 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "$expand": "soldTo,billingProfiles,billingProfiles/invoiceSections" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}", + "name": "{billingAccountName}", + "type": "Microsoft.Billing/billingAccounts", + "properties": { + "displayName": "Test Account 1", + "agreementType": "MicrosoftCustomerAgreement", + "accountStatus": "Active", + "soldTo": { + "companyName": "Contoso", + "firstName": "Test", + "lastName": "User", + "addressLine1": "Test Address", + "addressLine2": "Test Address", + "addressLine3": "Test Address", + "city": "City", + "postalCode": "00000", + "region": "WA", + "country": "US", + "email": "abc@contoso.com", + "phoneNumber": "000-000-0000" + }, + "accountType": "Enterprise", + "billingProfiles": { + "hasMoreResults": true, + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "name": "11000000-0000-0000-0000-000000000000", + "type": "Microsoft.Billing/billingAccounts/billingProfiles", + "properties": { + "displayName": "BillingProfile1", + "billTo": { + "companyName": "Contoso", + "firstName": "Test", + "lastName": "User", + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "postalCode": "00000", + "region": "WA", + "country": "US", + "email": "abc@contoso.com", + "phoneNumber": "000-000-0000" + }, + "currency": "USD", + "enabledAzurePlans": [ + { + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan" + }, + { + "skuId": "0002", + "skuDescription": "Microsoft Azure Plan for DevTest" + } + ], + "invoiceDay": 5, + "invoiceEmailOptIn": true, + "poNumber": "ABC12345", + "hasReadAccess": true, + "systemId": "1XXX-11XX-XX1-XXXX-XXX", + "status": "Warned", + "statusReasonCode": "PastDue", + "spendingLimit": "On", + "invoiceSections": { + "hasMoreResults": true, + "value": [ + { + "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", + "labels": { + "pcCode": "A123456", + "costCategory": "Support" + }, + "systemId": "9XXX-11XX-XX1-XXXX-XXX" + } + } + ] + } + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000001", + "name": "11000000-0000-0000-0000-000000000001", + "type": "Microsoft.Billing/billingAccounts/billingProfiles", + "properties": { + "displayName": "BillingProfile2", + "billTo": { + "companyName": "Contoso", + "firstName": "Test", + "lastName": "User", + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "postalCode": "00000", + "region": "WA", + "country": "US", + "email": "abc@contoso.com", + "phoneNumber": "000-000-0000" + }, + "currency": "USD", + "enabledAzurePlans": [ + { + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan" + }, + { + "skuId": "0002", + "skuDescription": "Microsoft Azure Plan for DevTest" + } + ], + "invoiceDay": 5, + "invoiceEmailOptIn": true, + "poNumber": "ABC12345", + "hasReadAccess": true, + "systemId": "2XXX-22XX-XX1-XXXX-XXX", + "status": "Active", + "spendingLimit": "Off", + "invoiceSections": { + "hasMoreResults": true, + "value": [ + { + "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", + "labels": { + "pcCode": "Z223456", + "costCategory": "Marketing" + }, + "systemId": "9XXX-22XX-XX1-XXXX-XXX" + } + } + ] + } + } + } + ] + }, + "hasReadAccess": true + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountsList.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountsList.json new file mode 100644 index 000000000000..ca8792baf70d --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountsList.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000", + "type": "Microsoft.Billing/billingAccounts", + "properties": { + "displayName": "Test Account 1", + "agreementType": "MicrosoftCustomerAgreement", + "accountStatus": "Active", + "accountType": "Enterprise", + "hasReadAccess": true + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000", + "name": "10000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000", + "type": "Microsoft.Billing/billingAccounts", + "properties": { + "displayName": "Test Account 2", + "agreementType": "MicrosoftCustomerAgreement", + "accountStatus": "Active", + "soldTo": null, + "accountType": "Enterprise", + "hasReadAccess": true + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/20000000-0000-0000-0000-000000000002_00000000-0000-0000-0000-000000000000", + "name": "20000000-0000-0000-0000-000000000002_00000000-0000-0000-0000-000000000000", + "type": "Microsoft.Billing/billingAccounts", + "properties": { + "displayName": "Test Account 3", + "agreementType": "MicrosoftCustomerAgreement", + "accountStatus": "Active", + "accountType": "Enterprise", + "hasReadAccess": true + } + } + ] + } + } + } +} 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 new file mode 100644 index 000000000000..840377864089 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountsListWithExpand.json @@ -0,0 +1,337 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "$expand": "soldTo,billingProfiles,billingProfiles/invoiceSections" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000", + "type": "Microsoft.Billing/billingAccounts", + "properties": { + "displayName": "Test Account 1", + "agreementType": "MicrosoftCustomerAgreement", + "accountStatus": "Active", + "soldTo": { + "companyName": "Contoso", + "firstName": "Test", + "lastName": "User", + "addressLine1": "Test Address", + "addressLine2": "Test Address", + "addressLine3": "Test Address", + "city": "City", + "postalCode": "00000", + "region": "WA", + "country": "US", + "email": "abc@contoso.com", + "phoneNumber": "000-000-0000" + }, + "accountType": "Enterprise", + "billingProfiles": { + "hasMoreResults": true, + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000/billingProfiles/11000000-0000-0000-0000-000000000000", + "name": "11000000-0000-0000-0000-000000000000", + "type": "Microsoft.Billing/billingAccounts/billingProfiles", + "properties": { + "displayName": "BillingProfile1", + "billTo": { + "companyName": "Contoso", + "firstName": "Test", + "lastName": "User", + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "postalCode": "00000", + "region": "WA", + "country": "US", + "email": "abc@contoso.com", + "phoneNumber": "000-000-0000" + }, + "currency": "USD", + "enabledAzurePlans": [ + { + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan" + }, + { + "skuId": "0002", + "skuDescription": "Microsoft Azure Plan for DevTest" + } + ], + "invoiceDay": 5, + "invoiceEmailOptIn": true, + "poNumber": "ABC12345", + "hasReadAccess": true, + "systemId": "1XXX-11XX-XX1-XXXX-XXX", + "status": "Warned", + "statusReasonCode": "PastDue", + "spendingLimit": "On", + "invoiceSections": { + "hasMoreResults": false, + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000/billingProfiles/11000000-0000-0000-0000-000000000000/invoiceSections/invoiceSectionId1", + "name": "invoiceSectionId1", + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections", + "properties": { + "displayName": "invoiceSectionName1", + "labels": { + "pcCode": "A123456", + "costCategory": "Support" + }, + "systemId": "9XXX-11XX-XX1-XXXX-XXX" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000/billingProfiles/11000000-0000-0000-0000-000000000000/invoiceSections/invoiceSectionId2", + "name": "invoiceSectionId2", + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections", + "properties": { + "displayName": "invoiceSectionName2", + "labels": { + "pcCode": "B223456", + "costCategory": "Finance" + }, + "systemId": "9XXX-22XX-XX1-XXXX-XXX" + } + } + ] + } + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000/billingProfiles/11000000-0000-0000-0000-000000000001", + "name": "11000000-0000-0000-0000-000000000001", + "type": "Microsoft.Billing/billingAccounts/billingProfiles", + "properties": { + "displayName": "BillingProfile2", + "billTo": { + "companyName": "Contoso", + "firstName": "Test", + "lastName": "User", + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "postalCode": "00000", + "region": "WA", + "country": "US", + "email": "abc@contoso.com", + "phoneNumber": "000-000-0000" + }, + "currency": "USD", + "enabledAzurePlans": [ + { + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan" + }, + { + "skuId": "0002", + "skuDescription": "Microsoft Azure Plan for DevTest" + } + ], + "invoiceDay": 5, + "invoiceEmailOptIn": true, + "poNumber": "ABC12345", + "hasReadAccess": true, + "systemId": "2XXX-22XX-XX1-XXXX-XXX", + "status": "Active", + "spendingLimit": "Off", + "invoiceSections": { + "hasMoreResults": false, + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000/billingProfiles/11000000-0000-0000-0000-000000000001/invoiceSections/invoiceSectionId11", + "name": "invoiceSectionId11", + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections", + "properties": { + "displayName": "invoiceSectionName11", + "labels": { + "pcCode": "Z223456", + "costCategory": "Marketing" + }, + "systemId": "9XXX-33XX-XX1-XXXX-XXX" + } + } + ] + } + } + } + ] + }, + "hasReadAccess": true + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000", + "name": "10000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000", + "type": "Microsoft.Billing/billingAccounts", + "properties": { + "displayName": "Test Account 2", + "agreementType": "MicrosoftCustomerAgreement", + "accountStatus": "Active", + "soldTo": null, + "accountType": "Enterprise", + "billingProfiles": { + "hasMoreResults": true, + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000/billingProfiles/11000000-0000-0000-0000-000000000004", + "name": "11000000-0000-0000-0000-000000000004", + "type": "Microsoft.Billing/billingAccounts/billingProfiles", + "properties": { + "displayName": "BillingProfile3", + "billTo": { + "companyName": "Contoso Test", + "firstName": "Test", + "lastName": "User", + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "postalCode": "00000", + "region": "WA", + "country": "US", + "email": "abc@contoso.com", + "phoneNumber": "000-000-0000" + }, + "currency": "USD", + "enabledAzurePlans": [ + { + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan" + }, + { + "skuId": "0002", + "skuDescription": "Microsoft Azure Plan for DevTest" + } + ], + "invoiceDay": 5, + "invoiceEmailOptIn": true, + "poNumber": "ABC12345", + "hasReadAccess": true, + "systemId": "3XXX-33XX-XX1-XXXX-XXX", + "status": "Warned", + "statusReasonCode": "PastDue", + "spendingLimit": "On", + "invoiceSections": { + "hasMoreResults": true, + "value": [ + { + "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", + "labels": { + "pcCode": "C123456", + "costCategory": "Support" + }, + "systemId": "9XXX-44XX-XX1-XXXX-XXX" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000/billingProfiles/11000000-0000-0000-0000-000000000004/invoiceSections/invoiceSectionId4", + "name": "invoiceSectionId4", + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections", + "properties": { + "displayName": "invoiceSectionName4", + "labels": { + "pcCode": "D123456", + "costCategory": "Marketing" + }, + "systemId": "9XXX-55XX-XX1-XXXX-XXX" + } + } + ] + } + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000/billingProfiles/11000000-0000-0000-0000-000000000005", + "name": "11000000-0000-0000-0000-000000000005", + "type": "Microsoft.Billing/billingAccounts/billingProfiles", + "properties": { + "displayName": "BillingProfile4", + "billTo": { + "companyName": "Contoso Test", + "firstName": "Test", + "lastName": "User", + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "postalCode": "00000", + "region": "WA", + "country": "US", + "email": "abc@contoso.com", + "phoneNumber": "000-000-0000" + }, + "currency": "USD", + "enabledAzurePlans": [ + { + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan" + }, + { + "skuId": "0002", + "skuDescription": "Microsoft Azure Plan for DevTest" + } + ], + "invoiceDay": 5, + "invoiceEmailOptIn": true, + "poNumber": "ABC12345", + "hasReadAccess": true, + "systemId": "4XXX-44XX-XX1-XXXX-XXX", + "status": "Warned", + "statusReasonCode": "PastDue", + "spendingLimit": "On", + "invoiceSections": { + "hasMoreResults": true, + "value": [ + { + "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", + "labels": { + "pcCode": "E123456", + "costCategory": "Finance" + }, + "systemId": "9XXX-66XX-XX1-XXXX-XXX" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000/billingProfiles/11000000-0000-0000-0000-000000000005/invoiceSections/invoiceSectionId6", + "name": "invoiceSectionId6", + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections", + "properties": { + "displayName": "invoiceSectionName6", + "labels": { + "pcCode": "O123456", + "costCategory": "Support" + }, + "systemId": "9XXX-77XX-XX1-XXXX-XXX" + } + } + ] + } + } + } + ] + }, + "hasReadAccess": true + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountsListWithExpandForEnrollmentDetails.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountsListWithExpandForEnrollmentDetails.json new file mode 100644 index 000000000000..a546b96ac97f --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountsListWithExpandForEnrollmentDetails.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "$expand": "enrollmentDetails,departments,enrollmentAccounts" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/7645820", + "name": "7645820", + "type": "Microsoft.Billing/billingAccounts", + "properties": { + "agreementType": "EnterpriseAgreement", + "soldTo": { + "addressLine1": "Test Address", + "addressLine2": "Test Address", + "addressLine3": "Test Address", + "city": "City", + "postalCode": "00000", + "region": "WA", + "country": "US" + }, + "enrollmentDetails": { + "startDate": "2018-05-01T17:32:28Z", + "endDate": "2019-05-31T17:32:28Z", + "currency": "USD", + "channel": "EaDirect", + "language": "en", + "countryCode": "US", + "status": "Active", + "billingCycle": "Monthly", + "policies": { + "accountOwnerViewCharges": true, + "departmentAdminViewCharges": true, + "marketplacesEnabled": true, + "reservedInstancesEnabled": true + } + }, + "departments": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/departments/departmentId1", + "name": "departmentId1", + "type": "Microsoft.Billing/departments", + "properties": { + "departmentName": "departmentName1", + "costCenter": "C1", + "status": "Active" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/departments/departmentId2", + "name": "departmentId2", + "type": "Microsoft.Billing/departments", + "properties": { + "departmentName": "departmentName2", + "costCenter": "C4", + "status": "Active" + } + } + ], + "enrollmentAccounts": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/enrollmentAccounts/accountId0", + "name": "accountId0", + "type": "Microsoft.Billing/enrollmentAccounts", + "properties": { + "accountName": "AccountName0", + "costCenter": "C0", + "status": "Active", + "startDate": "2018-05-01T17:32:28Z", + "endDate": "2019-05-31T17:32:28Z" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/enrollmentAccounts/accountId1", + "name": "accountId1", + "type": "Microsoft.Billing/enrollmentAccounts", + "properties": { + "accountName": "AccountName1", + "costCenter": "C4", + "status": "Active", + "startDate": "2018-05-01T17:32:28Z", + "endDate": "2019-05-31T17:32:28Z" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/enrollmentAccounts/accountId2", + "name": "accountId2", + "type": "Microsoft.Billing/enrollmentAccounts", + "properties": { + "accountName": "AccountName2", + "costCenter": "C4", + "status": "Active", + "startDate": "2018-05-01T17:32:28Z", + "endDate": "2019-05-31T17:32:28Z" + } + } + ] + } + } + ] + } + } + } +} 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 new file mode 100644 index 000000000000..a8dcf52150fa --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfile.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}", + "name": "{billingProfileName}", + "type": "Microsoft.Billing/billingAccounts/billingProfiles", + "properties": { + "displayName": "Billing Profile1", + "billTo": { + "companyName": "Contoso", + "firstName": "Test", + "lastName": "User", + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "postalCode": "00000", + "region": "WA", + "country": "US", + "email": "abc@contoso.com", + "phoneNumber": "000-000-0000" + }, + "currency": "USD", + "enabledAzurePlans": [ + { + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan" + }, + { + "skuId": "0002", + "skuDescription": "Microsoft Azure Plan for DevTest" + } + ], + "invoiceDay": 5, + "invoiceEmailOptIn": true, + "poNumber": "ABC12345", + "hasReadAccess": true, + "systemId": "1XXX-11XX-XX1-XXXX-XXX", + "status": "Warned", + "statusReasonCode": "PastDue", + "spendingLimit": "On" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfilePermissionsList.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfilePermissionsList.json new file mode 100644 index 000000000000..131dcb9aeff1 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfilePermissionsList.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "actions": [ + "10000000-aaaa-bbbb-cccc-200000000006", + "10000000-aaaa-bbbb-cccc-200000000003", + "10000000-aaaa-bbbb-cccc-200000000002", + "10000000-aaaa-bbbb-cccc-200000000001", + "10000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000015", + "20000000-aaaa-bbbb-cccc-200000000002", + "30000000-aaaa-bbbb-cccc-200000000009", + "40000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000000", + "20000000-aaaa-bbbb-cccc-200000000000", + "10000000-aaaa-bbbb-cccc-200000000008", + "10000000-aaaa-bbbb-cccc-200000000007", + "40000000-aaaa-bbbb-cccc-200000000008", + "40000000-aaaa-bbbb-cccc-200000000006", + "40000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000010", + "30000000-aaaa-bbbb-cccc-200000000001" + ], + "notActions": [] + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfileRoleAssignment.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfileRoleAssignment.json new file mode 100644 index 000000000000..6de1eb19bc72 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfileRoleAssignment.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}", + "billingRoleAssignmentName": "{billingRoleAssignmentName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleAssignments/10000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "name": "10000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "properties": { + "createdOn": "2018-06-21T21:58:19.9073876+00:00", + "scope": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}", + "createdByPrincipalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "createdByPrincipalId": "10000000-aaaa-bbbb-cccc-3fd5ff9d6aa1", + "principalId": "6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "principalTenantId": "10000000-aaaa-bbbb-cccc-2d7cd011db47", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions/50000000-aaaa-bbbb-cccc-100000000002" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/billingRoleAssignments" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfileRoleAssignmentDelete.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfileRoleAssignmentDelete.json new file mode 100644 index 000000000000..417086394bb9 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfileRoleAssignmentDelete.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}", + "billingRoleAssignmentName": "{billingRoleAssignmentName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/10000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "name": "10000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "properties": { + "createdOn": "2018-06-21T21:58:19.9073876+00:00", + "scope": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}", + "createdByPrincipalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "createdByPrincipalId": "10000000-aaaa-bbbb-cccc-3fd5ff9d6aa1", + "principalId": "6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "principalTenantId": "10000000-aaaa-bbbb-cccc-2d7cd011db47", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions/50000000-aaaa-bbbb-cccc-100000000002" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/billingRoleAssignments" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfileRoleAssignmentList.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfileRoleAssignmentList.json new file mode 100644 index 000000000000..d550705d7a17 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfileRoleAssignmentList.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "name": "10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "properties": { + "createdOn": "2018-06-21T21:34:12.2363515+00:00", + "scope": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}", + "createdByPrincipalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "createdByPrincipalId": "10000000-aaaa-bbbb-cccc-3fd5ff9d6aa1", + "principalId": "6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "principalTenantId": "10000000-aaaa-bbbb-cccc-2d7cd011db47", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions/50000000-aaaa-bbbb-cccc-100000000002" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/billingRoleAssignments" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/10000000-aaaa-bbbb-cccc-100000000000_00000000-0000-0000-0000-000000000000", + "name": "10000000-aaaa-bbbb-cccc-100000000000_00000000-0000-0000-0000-000000000000", + "properties": { + "createdOn": "2018-06-21T21:58:19.9073876+00:00", + "scope": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}", + "createdByPrincipalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "createdByPrincipalId": "10000000-aaaa-bbbb-cccc-3fd5ff9d6aa1", + "principalId": "b1839933-b3ac-42ca-8112-d29c43f3ab47", + "principalTenantId": "10000000-aaaa-bbbb-cccc-2d7cd011db47", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions/50000000-aaaa-bbbb-cccc-100000000002" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/billingRoleAssignments" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfileRoleDefinition.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfileRoleDefinition.json new file mode 100644 index 000000000000..ddbac23b4fdc --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfileRoleDefinition.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}", + "billingRoleDefinitionName": "{billingRoleDefinitionName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleDefinitions/{billingRoleDefinitionName}", + "name": "{billingRoleDefinitionName}", + "properties": { + "description": "The Owner role gives the user all permissions including access management rights to the billing profile.", + "permissions": [ + { + "actions": [ + "10000000-aaaa-bbbb-cccc-200000000000", + "10000000-aaaa-bbbb-cccc-200000000008", + "10000000-aaaa-bbbb-cccc-200000000001", + "10000000-aaaa-bbbb-cccc-200000000002", + "10000000-aaaa-bbbb-cccc-200000000003", + "10000000-aaaa-bbbb-cccc-200000000006", + "10000000-aaaa-bbbb-cccc-200000000007", + "20000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000000", + "40000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000009", + "20000000-aaaa-bbbb-cccc-200000000002", + "30000000-aaaa-bbbb-cccc-200000000015", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000001", + "30000000-aaaa-bbbb-cccc-200000000010", + "40000000-aaaa-bbbb-cccc-200000000007", + "40000000-aaaa-bbbb-cccc-200000000006", + "40000000-aaaa-bbbb-cccc-200000000008" + ], + "notActions": [] + } + ], + "roleName": "Billing profile owner" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/billingRoleDefinitions" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfileRoleDefinitionsList.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfileRoleDefinitionsList.json new file mode 100644 index 000000000000..0437df534f06 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfileRoleDefinitionsList.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleDefinitions/10000000-aaaa-bbbb-cccc-100000000000", + "name": "10000000-aaaa-bbbb-cccc-100000000000", + "properties": { + "description": "The Owner role gives the user all permissions including access management rights to the billing profile.", + "permissions": [ + { + "actions": [ + "10000000-aaaa-bbbb-cccc-200000000000", + "10000000-aaaa-bbbb-cccc-200000000008", + "10000000-aaaa-bbbb-cccc-200000000001", + "10000000-aaaa-bbbb-cccc-200000000002", + "10000000-aaaa-bbbb-cccc-200000000003", + "10000000-aaaa-bbbb-cccc-200000000006", + "10000000-aaaa-bbbb-cccc-200000000007", + "20000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000000", + "40000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000009", + "20000000-aaaa-bbbb-cccc-200000000002", + "30000000-aaaa-bbbb-cccc-200000000015", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000001", + "30000000-aaaa-bbbb-cccc-200000000010", + "40000000-aaaa-bbbb-cccc-200000000007", + "40000000-aaaa-bbbb-cccc-200000000006", + "40000000-aaaa-bbbb-cccc-200000000008" + ], + "notActions": [] + } + ], + "roleName": "Billing profile owner" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/billingRoleDefinitions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleDefinitions/10000000-aaaa-bbbb-cccc-100000000001", + "name": "10000000-aaaa-bbbb-cccc-100000000001", + "properties": { + "description": "The Contributor role give the user all permissions except access management rights to the billing profile.", + "permissions": [ + { + "actions": [ + "10000000-aaaa-bbbb-cccc-200000000008", + "10000000-aaaa-bbbb-cccc-200000000001", + "10000000-aaaa-bbbb-cccc-200000000002", + "10000000-aaaa-bbbb-cccc-200000000003", + "10000000-aaaa-bbbb-cccc-200000000006", + "10000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000009", + "20000000-aaaa-bbbb-cccc-200000000002", + "30000000-aaaa-bbbb-cccc-200000000015", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000001", + "30000000-aaaa-bbbb-cccc-200000000010", + "40000000-aaaa-bbbb-cccc-200000000007", + "40000000-aaaa-bbbb-cccc-200000000006", + "40000000-aaaa-bbbb-cccc-200000000008" + ], + "notActions": [] + } + ], + "roleName": "Billing profile contributor" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/billingRoleDefinitions" + } + ] + } + } + } +} 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 new file mode 100644 index 000000000000..ef48d861b956 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfileWithExpand.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}", + "$expand": "invoiceSections" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}", + "name": "{billingProfileName}", + "type": "Microsoft.Billing/billingAccounts/billingProfiles", + "properties": { + "displayName": "Billing Profile1", + "billTo": { + "companyName": "Contoso", + "firstName": "Test", + "lastName": "User", + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "postalCode": "00000", + "region": "WA", + "country": "US", + "email": "abc@contoso.com", + "phoneNumber": "000-000-0000" + }, + "currency": "USD", + "enabledAzurePlans": [ + { + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan" + }, + { + "skuId": "0002", + "skuDescription": "Microsoft Azure Plan for DevTest" + } + ], + "invoiceDay": 5, + "invoiceEmailOptIn": true, + "poNumber": "ABC12345", + "hasReadAccess": true, + "systemId": "1XXX-11XX-XX1-XXXX-XXX", + "status": "Warned", + "statusReasonCode": "PastDue", + "spendingLimit": "On", + "invoiceSections": { + "hasMoreResults": false, + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/invoiceSectionId1", + "name": "invoiceSectionId1", + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections", + "properties": { + "displayName": "invoiceSectionName1", + "labels": { + "pcCode": "A123456", + "costCategory": "Support" + }, + "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 new file mode 100644 index 000000000000..d3d8175d403d --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfilesListByBillingAccount.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "name": "11000000-0000-0000-0000-000000000000", + "type": "Microsoft.Billing/billingAccounts/billingProfiles", + "properties": { + "displayName": "BillingProfile1", + "billTo": { + "companyName": "Contoso", + "firstName": "Test", + "lastName": "User", + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "postalCode": "00000", + "region": "WA", + "country": "US", + "email": "abc@contoso.com", + "phoneNumber": "000-000-0000" + }, + "currency": "USD", + "enabledAzurePlans": [ + { + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan" + }, + { + "skuId": "0002", + "skuDescription": "Microsoft Azure Plan for DevTest" + } + ], + "invoiceDay": 5, + "invoiceEmailOptIn": true, + "poNumber": "ABC12345", + "hasReadAccess": true, + "systemId": "1XXX-11XX-XX1-XXXX-XXX", + "status": "Warned", + "statusReasonCode": "PastDue", + "spendingLimit": "On" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000001", + "name": "11000000-0000-0000-0000-000000000001", + "type": "Microsoft.Billing/billingAccounts/billingProfiles", + "properties": { + "displayName": "BillingProfile2", + "billTo": { + "companyName": "Contoso", + "firstName": "Test", + "lastName": "User", + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "postalCode": "00000", + "region": "WA", + "country": "US", + "email": "abc@contoso.com", + "phoneNumber": "000-000-0000" + }, + "currency": "USD", + "enabledAzurePlans": [ + { + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan" + }, + { + "skuId": "0002", + "skuDescription": "Microsoft Azure Plan for DevTest" + } + ], + "invoiceDay": 5, + "invoiceEmailOptIn": true, + "poNumber": "ABC12345", + "hasReadAccess": true, + "systemId": "2XXX-22XX-XX1-XXXX-XXX", + "status": "Active", + "spendingLimit": "Off" + } + } + ] + } + } + } +} 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 new file mode 100644 index 000000000000..85a10f54a285 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfilesListWithExpand.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "$expand": "invoiceSections" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "name": "11000000-0000-0000-0000-000000000000", + "type": "Microsoft.Billing/billingAccounts/billingProfiles", + "properties": { + "displayName": "BillingProfile1", + "billTo": { + "companyName": "Contoso", + "firstName": "Test", + "lastName": "User", + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "postalCode": "00000", + "region": "WA", + "country": "US", + "email": "abc@contoso.com", + "phoneNumber": "000-000-0000" + }, + "currency": "USD", + "enabledAzurePlans": [ + { + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan" + }, + { + "skuId": "0002", + "skuDescription": "Microsoft Azure Plan for DevTest" + } + ], + "invoiceDay": 5, + "invoiceEmailOptIn": true, + "poNumber": "ABC12345", + "hasReadAccess": true, + "systemId": "1XXX-11XX-XX1-XXXX-XXX", + "status": "Warned", + "statusReasonCode": "PastDue", + "spendingLimit": "On", + "invoiceSections": { + "hasMoreResults": false, + "value": [ + { + "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", + "labels": { + "pcCode": "A123456", + "costCategory": "Support" + }, + "systemId": "9XXX-11XX-XX1-XXXX-XXX" + } + } + ] + } + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000001", + "name": "11000000-0000-0000-0000-000000000001", + "type": "Microsoft.Billing/billingAccounts/billingProfiles", + "properties": { + "displayName": "BillingProfile2", + "billTo": { + "companyName": "Contoso", + "firstName": "Test", + "lastName": "User", + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "postalCode": "00000", + "region": "WA", + "country": "US", + "email": "abc@contoso.com", + "phoneNumber": "000-000-0000" + }, + "currency": "USD", + "enabledAzurePlans": [ + { + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan" + }, + { + "skuId": "0002", + "skuDescription": "Microsoft Azure Plan for DevTest" + } + ], + "invoiceDay": 5, + "invoiceEmailOptIn": true, + "poNumber": "ABC12345", + "hasReadAccess": true, + "systemId": "2XXX-22XX-XX1-XXXX-XXX", + "status": "Warned", + "statusReasonCode": "PastDue", + "spendingLimit": "On", + "invoiceSections": { + "hasMoreResults": false, + "value": [ + { + "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", + "labels": { + "pcCode": "Z223456", + "costCategory": "Marketing" + }, + "systemId": "9XXX-22XX-XX1-XXXX-XXX" + } + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProperty.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProperty.json new file mode 100644 index 000000000000..70e263978a92 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProperty.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "{subscriptionId}" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingProperty/default", + "name": "default", + "type": "Microsoft.Billing/billingProperty", + "properties": { + "accountAdminNotificationEmailAddress": "test@contoso.com", + "billingTenantId": "90000000-0000-0000-0000-000000000011", + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000", + "billingAccountDisplayName": "My Account", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso operations billing", + "billingProfileStatus": "Warned", + "billingProfileStatusReasonCode": "PastDue", + "billingProfileSpendingLimit": "On", + "costCenter": "1010", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000/invoiceSections/22000000-0000-0000-0000-000000000000", + "invoiceSectionDisplayName": "Contoso operations invoice section", + "isAccountAdmin": true, + "productId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000/invoiceSections/22000000-0000-0000-0000-000000000000/products/44000000-0000-0000-0000-000000000000", + "productName": "Standard Dev", + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan for DevTest" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscription.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscription.json new file mode 100644 index 000000000000..82f9307e93a9 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscription.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "subscriptionId": "{subscriptionId}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}", + "name": "{subscriptionId}", + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions", + "properties": { + "displayName": "My Subscription", + "subscriptionId": "6b96d3f2-9008-4a9d-912f-f87744185aa3", + "subscriptionBillingStatus": "Active", + "lastMonthCharges": { + "currency": "USD", + "value": 5000.00 + }, + "monthToDateCharges": { + "currency": "USD", + "value": 600 + }, + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000/invoiceSections/22000000-0000-0000-0000-000000000000", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso operations billing", + "costCenter": "ABC1234", + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionInvoice.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionInvoice.json new file mode 100644 index 000000000000..84718dc27df1 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionInvoice.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "{subscriptionId}", + "invoiceName": "{invoiceName}" + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/11000000-0000-0000-0000-000000000000/invoices/1383724", + "name": "1383724", + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions/invoices", + "properties": { + "dueDate": "2018-03-01T17:32:28Z", + "invoiceDate": "2018-02-01T17:32:28Z", + "status": "Paid", + "amountDue": { + "currency": "USD", + "value": 2000.00 + }, + "billedAmount": { + "currency": "USD", + "value": 2000.00 + }, + "invoicePeriodStartDate": "2018-02-01T17:32:28Z", + "invoicePeriodEndDate": "2018-02-30T17:32:28Z", + "invoiceType": "AzureMarketplace", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso Operations Billing", + "purchaseOrderNumber": "123456", + "documents": [ + { + "kind": "Invoice", + "url": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/11000000-0000-0000-0000-000000000000/invoices/1383724/download", + "source": "DRS" + } + ], + "payments": [ + { + "date": "2018-01-14T17:32:28Z", + "paymentType": "credited", + "amount": { + "currency": "USD", + "value": 2000.00 + }, + "paymentMethodFamily": "CreditCard", + "paymentMethodType": "visa" + } + ], + "subscriptionId": "55000000-0000-0000-0000-000000000011" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionInvoiceDownload.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionInvoiceDownload.json new file mode 100644 index 000000000000..226bfa9ef63e --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionInvoiceDownload.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "{subscriptionId}", + "invoiceName": "{invoiceName}", + "downloadToken": "DRS_12345" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/11000000-0000-0000-0000-000000000000/operationResults/invoiceDownload_11000000-0000-0000-0000-000000000000?api-version=2020-05-01", + "Retry-After": "10" + } + }, + "200": { + "body": { + "url": "https://myaccount.blob.core.windows.net/invoices/1383724.pdf?sv=2019-02-02&sr=b&sig=sp=r" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionInvoicesList.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionInvoicesList.json new file mode 100644 index 000000000000..7fabd49c628b --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionInvoicesList.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "{subscriptionId}", + "periodStartDate": "2018-01-01", + "periodEndDate": "2018-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/11000000-0000-0000-0000-000000000000/invoices/1383723", + "name": "1383723", + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions/invoices", + "properties": { + "dueDate": "2018-01-16T17:32:28Z", + "invoiceDate": "2018-01-01T17:32:28Z", + "status": "Due", + "amountDue": { + "currency": "USD", + "value": 2000.00 + }, + "invoicePeriodStartDate": "2018-01-01T17:32:28Z", + "invoicePeriodEndDate": "2018-01-15T17:32:28Z", + "invoiceType": "AzureServices", + "purchaseOrderNumber": "123456", + "subscriptionId": "55000000-0000-0000-0000-000000000011" + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/11000000-0000-0000-0000-000000000000/invoices/1383724", + "name": "1383724", + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions/invoices", + "properties": { + "dueDate": "2018-03-01T17:32:28Z", + "invoiceDate": "2018-02-01T17:32:28Z", + "status": "Paid", + "amountDue": { + "currency": "USD", + "value": 2000.00 + }, + "billedAmount": { + "currency": "USD", + "value": 2000.00 + }, + "invoicePeriodStartDate": "2018-02-01T17:32:28Z", + "invoicePeriodEndDate": "2018-02-30T17:32:28Z", + "invoiceType": "AzureMarketplace", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso Operations Billing", + "purchaseOrderNumber": "123456", + "documents": [ + { + "kind": "Invoice", + "url": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/11000000-0000-0000-0000-000000000000/invoices/1383724/download", + "source": "DRS" + } + ], + "payments": [ + { + "date": "2018-01-14T17:32:28Z", + "paymentType": "credited", + "amount": { + "currency": "USD", + "value": 2000.00 + }, + "paymentMethodFamily": "CreditCard", + "paymentMethodType": "visa" + } + ], + "subscriptionId": "55000000-0000-0000-0000-000000000011" + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionsListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionsListByBillingAccount.json new file mode 100644 index 000000000000..93283f3627e2 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionsListByBillingAccount.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/billingSubscriptions/90000000-0000-0000-0000-000000000000", + "name": "90000000-0000-0000-0000-000000000000", + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions", + "properties": { + "displayName": "My subscription", + "subscriptionId": "6b96d3f2-9008-4a9d-912f-f87744185aa3", + "subscriptionBillingStatus": "Active", + "lastMonthCharges": { + "currency": "USD", + "value": 5000.00 + }, + "monthToDateCharges": { + "currency": "USD", + "value": 600 + }, + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/22000000-0000-0000-0000-000000000000", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso operations billing", + "costCenter": "ABC1234", + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan" + } + }, + { + "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/billingSubscriptions/90000000-0000-0000-0000-000000000001", + "name": "90000000-0000-0000-0000-000000000001", + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions", + "properties": { + "displayName": "Test subscription", + "subscriptionId": "6b96d3f2-9008-4a9d-912f-6b96d3f2", + "subscriptionBillingStatus": "Active", + "lastMonthCharges": { + "currency": "USD", + "value": 1000.00 + }, + "monthToDateCharges": { + "currency": "USD", + "value": 400 + }, + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/22000000-0000-0000-0000-000000000000", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso operations billing", + "costCenter": "ABC1234", + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan" + } + }, + { + "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/billingSubscriptions/90000000-0000-0000-0000-000000000002", + "name": "90000000-0000-0000-0000-000000000002", + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions", + "properties": { + "displayName": "Dev Subscription", + "subscriptionId": "6b96d3f2-4a9d-9008-912f-f87744185aa3", + "subscriptionBillingStatus": "Active", + "lastMonthCharges": { + "currency": "USD", + "value": 6000.00 + }, + "monthToDateCharges": { + "currency": "USD", + "value": 900 + }, + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/22000000-0000-0000-0000-000000000000", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso operations billing", + "costCenter": "ABC1234", + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan" + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionsListByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionsListByBillingProfile.json new file mode 100644 index 000000000000..ac88af9bc396 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionsListByBillingProfile.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/billingSubscriptions/billinSubscriptionId1", + "name": "billingSubscriptionId1", + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions", + "properties": { + "displayName": "My subscription", + "subscriptionId": "6b96d3f2-9008-4a9d-912f-f87744185aa3", + "subscriptionBillingStatus": "Active", + "lastMonthCharges": { + "currency": "USD", + "value": 5000.00 + }, + "monthToDateCharges": { + "currency": "USD", + "value": 600 + }, + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/22000000-0000-0000-0000-000000000000", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}", + "billingProfileDisplayName": "Contoso operations billing", + "costCenter": "ABC1234", + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan" + } + }, + { + "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/billingSubscriptions/billinSubscriptionId2", + "name": "billingSubscriptionId2", + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions", + "properties": { + "displayName": "Test subscription", + "subscriptionId": "6b96d3f2-9008-4a9d-912f-6b96d3f2", + "subscriptionBillingStatus": "Active", + "lastMonthCharges": { + "currency": "USD", + "value": 1000.00 + }, + "monthToDateCharges": { + "currency": "USD", + "value": 400 + }, + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/22000000-0000-0000-0000-000000000000", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}", + "billingProfileDisplayName": "Contoso operations billing", + "costCenter": "ABC1234", + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan" + } + }, + { + "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/billingSubscriptions/billinSubscriptionId3", + "name": "billingSubscriptionId3", + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions", + "properties": { + "displayName": "Dev Subscription", + "subscriptionId": "6b96d3f2-4a9d-9008-912f-f87744185aa3", + "subscriptionBillingStatus": "Active", + "lastMonthCharges": { + "currency": "USD", + "value": 6000.00 + }, + "monthToDateCharges": { + "currency": "USD", + "value": 900 + }, + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/22000000-0000-0000-0000-000000000000", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}", + "billingProfileDisplayName": "Contoso operations billing", + "costCenter": "ABC1234", + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan" + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionsListByCustomer.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionsListByCustomer.json new file mode 100644 index 000000000000..966ab091b901 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionsListByCustomer.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "customerName": "{customerName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/billingSubscriptions/billinSubscriptionId1", + "name": "billingSubscriptionId1", + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions", + "properties": { + "displayName": "My subscription", + "subscriptionId": "6b96d3f2-9008-4a9d-912f-f87744185aa3", + "subscriptionBillingStatus": "Active", + "lastMonthCharges": { + "currency": "USD", + "value": 5000.00 + }, + "monthToDateCharges": { + "currency": "USD", + "value": 600.00 + }, + "costCenter": "ABC1234", + "customerId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}", + "customerDisplayName": "Customer1", + "reseller": { + "resellerId": "89e87bdf-a2a2-4687-925f-4c18b27bccfd", + "description": "Reseller1" + }, + "skuId": "0002", + "skuDescription": "Microsoft Azure Plan for DevTest" + } + }, + { + "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/billingSubscriptions/billinSubscriptionId2", + "name": "billingSubscriptionId2", + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions", + "properties": { + "displayName": "Test subscription", + "subscriptionId": "6b96d3f2-9008-4a9d-912f-6b96d3f2", + "subscriptionBillingStatus": "Active", + "lastMonthCharges": { + "currency": "USD", + "value": 1000.00 + }, + "monthToDateCharges": { + "currency": "USD", + "value": 400 + }, + "costCenter": "ABC1234", + "customerId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}", + "customerDisplayName": "Customer1", + "reseller": { + "resellerId": "3b65b5a8-bd4f-4084-90e9-e1bd667a2b19", + "description": "Reseller3" + }, + "skuId": "0002", + "skuDescription": "Microsoft Azure Plan for DevTest" + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionsListByInvoiceSection.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionsListByInvoiceSection.json new file mode 100644 index 000000000000..b2f82cede0d2 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionsListByInvoiceSection.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}", + "invoiceSectionName": "{invoiceSectionName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/billingSubscriptions/billinSubscriptionId1", + "name": "billingSubscriptionId1", + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions", + "properties": { + "displayName": "My subscription", + "subscriptionId": "6b96d3f2-9008-4a9d-912f-f87744185aa3", + "subscriptionBillingStatus": "Active", + "lastMonthCharges": { + "currency": "USD", + "value": 5000.00 + }, + "monthToDateCharges": { + "currency": "USD", + "value": 600 + }, + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso operations billing", + "costCenter": "ABC1234", + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan" + } + }, + { + "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/billingSubscriptions/billinSubscriptionId2", + "name": "billingSubscriptionId2", + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions", + "properties": { + "displayName": "Test subscription", + "subscriptionId": "6b96d3f2-9008-4a9d-912f-6b96d3f2", + "subscriptionBillingStatus": "Active", + "lastMonthCharges": { + "currency": "USD", + "value": 1000.00 + }, + "monthToDateCharges": { + "currency": "USD", + "value": 400 + }, + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso operations billing", + "costCenter": "ABC1234", + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan" + } + }, + { + "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/billingSubscriptions/billinSubscriptionId3", + "name": "billingSubscriptionId3", + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions", + "properties": { + "displayName": "Dev Subscription", + "subscriptionId": "6b96d3f2-4a9d-9008-912f-f87744185aa3", + "subscriptionBillingStatus": "Active", + "lastMonthCharges": { + "currency": "USD", + "value": 6000.00 + }, + "monthToDateCharges": { + "currency": "USD", + "value": 900 + }, + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso operations billing", + "costCenter": "ABC1234", + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan" + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Customer.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Customer.json new file mode 100644 index 000000000000..69251765abd1 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Customer.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "customerName": "{customerName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}", + "name": "{customerName}", + "type": "Microsoft.Billing/billingAccounts/customers", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso Operations Billing", + "displayName": "customer1" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/CustomerPermissionsList.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/CustomerPermissionsList.json new file mode 100644 index 000000000000..9227b211a749 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/CustomerPermissionsList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "customerName": "{customerName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "actions": [ + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000015", + "30000000-aaaa-bbbb-cccc-200000000009", + "30000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000010", + "30000000-aaaa-bbbb-cccc-200000000001" + ], + "notActions": [] + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/CustomerPolicy.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/CustomerPolicy.json new file mode 100644 index 000000000000..601f3d77477e --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/CustomerPolicy.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "customerName": "{customerName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/policies/default", + "name": "default", + "type": "Microsoft.Billing/billingAccounts/customers/policies", + "properties": { + "viewCharges": "Allowed" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/CustomerWithExpand.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/CustomerWithExpand.json new file mode 100644 index 000000000000..59bb6cd2dc4d --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/CustomerWithExpand.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "customerName": "{customerName}", + "$expand": "enabledAzurePlans,resellers" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}", + "name": "{customerName}", + "type": "Microsoft.Billing/billingAccounts/customers", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso Operations Billing", + "displayName": "customerName1", + "enabledAzurePlans": [ + { + "skuId": "0002", + "skuDescription": "Microsoft Azure Plan for DevTest" + } + ], + "resellers": [ + { + "resellerId": "89e87bdf-a2a2-4687-925f-4c18b27bccfd", + "description": "Reseller1" + }, + { + "resellerId": "3b65b5a8-bd4f-4084-90e9-e1bd667a2b19", + "description": "Reseller2" + } + ] + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/CustomersListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/CustomersListByBillingAccount.json new file mode 100644 index 000000000000..5cf414465d11 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/CustomersListByBillingAccount.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/22000000-0000-0000-0000-000000000000", + "name": "22000000-0000-0000-0000-000000000000", + "type": "Microsoft.Billing/billingAccounts/customers", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso Operations Billing", + "displayName": "customer1" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/22000000-0000-0000-0000-000000000011", + "name": "22000000-0000-0000-0000-000000000011", + "type": "Microsoft.Billing/billingAccounts/customers", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso Operations Billing", + "displayName": "customer2" + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/CustomersListByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/CustomersListByBillingProfile.json new file mode 100644 index 000000000000..a7eb9a6bd73e --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/CustomersListByBillingProfile.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/22000000-0000-0000-0000-000000000000", + "name": "22000000-0000-0000-0000-000000000000", + "type": "Microsoft.Billing/billingAccounts/customers", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso Operations Billing", + "displayName": "customer1" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/22000000-0000-0000-0000-000000000011", + "name": "22000000-0000-0000-0000-000000000011", + "type": "Microsoft.Billing/billingAccounts/customers", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso Operations Billing", + "displayName": "customer2" + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Instruction.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Instruction.json new file mode 100644 index 000000000000..9b4093430abe --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Instruction.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}", + "instructionName": "{instructionName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/instructions/{instructionName}", + "name": "{instructionName}", + "type": "Microsoft.Billing/billingAccounts/billingProfiles/instructions", + "properties": { + "amount": 5000.0, + "startDate": "2019-12-30T21:26:47.997Z", + "endDate": "2020-12-30T21:26:47.997Z" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InstructionsListByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InstructionsListByBillingProfile.json new file mode 100644 index 000000000000..ab48e69d2cb5 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InstructionsListByBillingProfile.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/instructions/TO1:CLIN001", + "name": "TO1:CLIN001", + "type": "Microsoft.Billing/billingAccounts/billingProfiles/instructions", + "properties": { + "amount": 5000.0, + "startDate": "2019-12-30T21:26:47.997Z", + "endDate": "2020-12-30T21:26:47.997Z" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/instructions/TO1:CLIN002", + "name": "TO1:CLIN002", + "type": "Microsoft.Billing/billingAccounts/billingProfiles/instructions", + "properties": { + "amount": 2000.0, + "startDate": "2019-12-30T21:26:47.997Z", + "endDate": "2020-12-30T21:26:47.997Z" + } + } + ] + } + } + } +} 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 new file mode 100644 index 000000000000..a956b6a06d95 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Invoice.json @@ -0,0 +1,83 @@ +{ + "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", + "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/InvoiceById.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceById.json new file mode 100644 index 000000000000..54b50a2366a0 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceById.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "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", + "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/InvoiceDownload.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceDownload.json new file mode 100644 index 000000000000..9bf994a947cb --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceDownload.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "invoiceName": "{invoiceName}", + "downloadToken": "DRS_12345" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/operationResults/invoiceDownload_11000000-0000-0000-0000-000000000000?api-version=2020-05-01", + "Retry-After": "10" + } + }, + "200": { + "body": { + "url": "https://myaccount.blob.core.windows.net/invoices/1383724.pdf?sv=2019-02-02&sr=b&sp=r" + } + } + } +} 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 new file mode 100644 index 000000000000..c751111a6438 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSection.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}", + "invoiceSectionName": "{invoiceSectionName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}", + "name": "{invoiceSectionName}", + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections", + "properties": { + "displayName": "invoiceSection1", + "labels": { + "pcCode": "A123456", + "costCategory": "Support" + }, + "systemId": "XX1X-XXAA-XXX-ZZZ" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionPermissionsList.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionPermissionsList.json new file mode 100644 index 000000000000..d948b9bf01b4 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionPermissionsList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}", + "invoiceSectionName": "{invoiceSectionName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "actions": [ + "10000000-aaaa-bbbb-cccc-200000000006", + "10000000-aaaa-bbbb-cccc-200000000003", + "10000000-aaaa-bbbb-cccc-200000000002", + "10000000-aaaa-bbbb-cccc-200000000001", + "10000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000015", + "20000000-aaaa-bbbb-cccc-200000000002", + "30000000-aaaa-bbbb-cccc-200000000009", + "40000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000000", + "20000000-aaaa-bbbb-cccc-200000000000", + "10000000-aaaa-bbbb-cccc-200000000008", + "10000000-aaaa-bbbb-cccc-200000000007", + "40000000-aaaa-bbbb-cccc-200000000008", + "40000000-aaaa-bbbb-cccc-200000000006", + "40000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000010", + "30000000-aaaa-bbbb-cccc-200000000001" + ], + "notActions": [] + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionRoleAssignment.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionRoleAssignment.json new file mode 100644 index 000000000000..d5788f6c9243 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionRoleAssignment.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}", + "invoiceSectionName": "{invoiceSectionName}", + "billingRoleAssignmentName": "{billingRoleAssignmentName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "name": "10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "properties": { + "createdOn": "2018-06-21T21:34:12.2363515+00:00", + "scope": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}", + "createdByPrincipalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "createdByPrincipalId": "10000000-aaaa-bbbb-cccc-3fd5ff9d6aa1", + "principalId": "6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "principalTenantId": "10000000-aaaa-bbbb-cccc-2d7cd011db47", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions/50000000-aaaa-bbbb-cccc-100000000002" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections/billingRoleAssignments" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionRoleAssignmentDelete.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionRoleAssignmentDelete.json new file mode 100644 index 000000000000..d5788f6c9243 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionRoleAssignmentDelete.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}", + "invoiceSectionName": "{invoiceSectionName}", + "billingRoleAssignmentName": "{billingRoleAssignmentName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "name": "10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "properties": { + "createdOn": "2018-06-21T21:34:12.2363515+00:00", + "scope": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}", + "createdByPrincipalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "createdByPrincipalId": "10000000-aaaa-bbbb-cccc-3fd5ff9d6aa1", + "principalId": "6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "principalTenantId": "10000000-aaaa-bbbb-cccc-2d7cd011db47", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions/50000000-aaaa-bbbb-cccc-100000000002" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections/billingRoleAssignments" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionRoleAssignmentList.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionRoleAssignmentList.json new file mode 100644 index 000000000000..bc1c0400589f --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionRoleAssignmentList.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}", + "invoiceSectionName": "{invoiceSectionName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "name": "10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "properties": { + "createdOn": "2018-06-21T21:34:12.2363515+00:00", + "scope": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}", + "createdByPrincipalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "createdByPrincipalId": "10000000-aaaa-bbbb-cccc-3fd5ff9d6aa1", + "principalId": "6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "principalTenantId": "10000000-aaaa-bbbb-cccc-2d7cd011db47", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions/50000000-aaaa-bbbb-cccc-100000000002" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections/billingRoleAssignments" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/10000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "name": "10000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "properties": { + "createdOn": "2018-06-21T21:58:19.9073876+00:00", + "scope": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}", + "createdByPrincipalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "createdByPrincipalId": "10000000-aaaa-bbbb-cccc-3fd5ff9d6aa1", + "principalId": "6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "principalTenantId": "10000000-aaaa-bbbb-cccc-2d7cd011db47", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions/50000000-aaaa-bbbb-cccc-100000000002" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections/billingRoleAssignments" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionRoleDefinition.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionRoleDefinition.json new file mode 100644 index 000000000000..47ebe75b139f --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionRoleDefinition.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}", + "invoiceSectionName": "{invoiceSectionName}", + "billingRoleDefinitionName": "{billingRoleDefinitionName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleDefinitions/{billingRoleDefinitionName}", + "name": "{billingRoleDefinitionName}", + "properties": { + "description": "The Owner role gives the user all permissions including access management rights to the invoice section.", + "permissions": [ + { + "actions": [ + "10000000-aaaa-bbbb-cccc-200000000000", + "10000000-aaaa-bbbb-cccc-200000000008", + "10000000-aaaa-bbbb-cccc-200000000001", + "10000000-aaaa-bbbb-cccc-200000000002", + "10000000-aaaa-bbbb-cccc-200000000003", + "10000000-aaaa-bbbb-cccc-200000000006", + "10000000-aaaa-bbbb-cccc-200000000007", + "20000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000000", + "40000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000009", + "20000000-aaaa-bbbb-cccc-200000000002", + "30000000-aaaa-bbbb-cccc-200000000015", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000001", + "30000000-aaaa-bbbb-cccc-200000000010", + "40000000-aaaa-bbbb-cccc-200000000007", + "40000000-aaaa-bbbb-cccc-200000000006", + "40000000-aaaa-bbbb-cccc-200000000008" + ], + "notActions": [] + } + ], + "roleName": "Invoice section owner" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections/billingRoleDefinitions" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionRoleDefinitionsList.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionRoleDefinitionsList.json new file mode 100644 index 000000000000..735412e49a6b --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionRoleDefinitionsList.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}", + "invoiceSectionName": "{invoiceSectionName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleDefinitions/10000000-aaaa-bbbb-cccc-100000000000", + "name": "10000000-aaaa-bbbb-cccc-100000000000", + "properties": { + "description": "The Owner role gives the user all permissions including access management rights to the invoice section.", + "permissions": [ + { + "actions": [ + "10000000-aaaa-bbbb-cccc-200000000000", + "10000000-aaaa-bbbb-cccc-200000000008", + "10000000-aaaa-bbbb-cccc-200000000001", + "10000000-aaaa-bbbb-cccc-200000000002", + "10000000-aaaa-bbbb-cccc-200000000003", + "10000000-aaaa-bbbb-cccc-200000000006", + "10000000-aaaa-bbbb-cccc-200000000007", + "20000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000000", + "40000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000009", + "20000000-aaaa-bbbb-cccc-200000000002", + "30000000-aaaa-bbbb-cccc-200000000015", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000001", + "30000000-aaaa-bbbb-cccc-200000000010", + "40000000-aaaa-bbbb-cccc-200000000007", + "40000000-aaaa-bbbb-cccc-200000000006", + "40000000-aaaa-bbbb-cccc-200000000008" + ], + "notActions": [] + } + ], + "roleName": "Invoice section owner" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections/billingRoleDefinitions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleDefinitions/10000000-aaaa-bbbb-cccc-100000000001", + "name": "10000000-aaaa-bbbb-cccc-100000000001", + "properties": { + "description": "The Contributor role give the user all permissions except access management rights to the invoice section.", + "permissions": [ + { + "actions": [ + "10000000-aaaa-bbbb-cccc-200000000008", + "10000000-aaaa-bbbb-cccc-200000000001", + "10000000-aaaa-bbbb-cccc-200000000002", + "10000000-aaaa-bbbb-cccc-200000000003", + "10000000-aaaa-bbbb-cccc-200000000006", + "10000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000009", + "20000000-aaaa-bbbb-cccc-200000000002", + "30000000-aaaa-bbbb-cccc-200000000015", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000001", + "30000000-aaaa-bbbb-cccc-200000000010", + "40000000-aaaa-bbbb-cccc-200000000007", + "40000000-aaaa-bbbb-cccc-200000000006", + "40000000-aaaa-bbbb-cccc-200000000008" + ], + "notActions": [] + } + ], + "roleName": "Invoice section contributor" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections/billingRoleDefinitions" + } + ] + } + } + } +} 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 new file mode 100644 index 000000000000..e3bda0d87fb7 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionsListByBillingProfile.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/22000000-0000-0000-0000-000000000000", + "name": "22000000-0000-0000-0000-000000000000", + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections", + "properties": { + "displayName": "invoiceSection1", + "labels": { + "pcCode": "A123456", + "costCategory": "Support" + }, + "systemId": "XX1X-XXAA-XXX-ZZZ" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/22000000-0000-0000-0000-000000000011", + "name": "22000000-0000-0000-0000-000000000011", + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections", + "properties": { + "displayName": "invoiceSection2", + "labels": { + "pcCode": "Z223456", + "costCategory": "Marketing" + }, + "systemId": "YY1X-BBAA-XXX-ZZZ" + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionsListWithCreateSubPermission.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionsListWithCreateSubPermission.json new file mode 100644 index 000000000000..26aea84f6b4b --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionsListWithCreateSubPermission.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000/invoiceSections/22000000-0000-0000-0000-000000000000", + "invoiceSectionDisplayName": "invoiceSection1", + "invoiceSectionSystemId": "9XXX-11XX-XX1-XXXX-XXX", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso operations billing", + "billingProfileStatus": "Warned", + "billingProfileStatusReasonCode": "PastDue", + "billingProfileSpendingLimit": "On", + "billingProfileSystemId": "1XXX-11XX-XX1-XXXX-XXX", + "enabledAzurePlans": [ + { + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan" + }, + { + "skuId": "0002", + "skuDescription": "Microsoft Azure Plan for DevTest" + } + ] + } + ] + } + } + } +} 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 new file mode 100644 index 000000000000..f2dd0ffc9c42 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfile.json @@ -0,0 +1,161 @@ +{ + "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/1383723", + "name": "1383723", + "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", + "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" + } + ] + } + }, + { + "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", + "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/MoveBillingSubscription.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/MoveBillingSubscription.json new file mode 100644 index 000000000000..91fbf144a862 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/MoveBillingSubscription.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "subscriptionId": "{subscriptionId}", + "parameters": { + "destinationInvoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{newInvoiceSectionName}" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "displayName": "My Subscription", + "subscriptionId": "6b96d3f2-9008-4a9d-912f-f87744185aa3", + "subscriptionBillingStatus": "Active", + "lastMonthCharges": { + "currency": "USD", + "value": 5000.00 + }, + "monthToDateCharges": { + "currency": "USD", + "value": 600 + }, + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000/invoiceSections/22000000-0000-0000-0000-000000000000", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso operations billing", + "costCenter": "ABC1234", + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/operationResults/moveBillingSubscription_11000000-0000-0000-0000-000000000000:22000000-0000-0000-0000-000000000000:{subscriptionId}:44000000-0000-0000-0000-000000000055:10000000-0000-0000-0000-000000000001?api-version=2020-05-01", + "Retry-After": "30" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/MoveProduct.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/MoveProduct.json new file mode 100644 index 000000000000..78387257995c --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/MoveProduct.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "productName": "{productName}", + "parameters": { + "destinationInvoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{newInvoiceSectionName}" + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{newInvoiceSectionName}/products/{productName}", + "name": "{productName}", + "type": "Microsoft.Billing/billingAccounts/products", + "properties": { + "autoRenew": "On", + "productTypeId": "A12345", + "productType": "Subscription", + "displayName": "Test Product", + "status": "Active", + "purchaseDate": "2018-05-01T17:32:28Z", + "lastCharge": { + "currency": "USD", + "value": 5000.00 + }, + "lastChargeDate": "2018-06-15T17:32:28Z", + "billingFrequency": "Monthly", + "quantity": 4, + "skuId": "0001", + "skuDescription": "Enterprise Agreement Development", + "tenantId": "515a6d36-aaf8-4ca2-a5e8-c45deb0c5cce", + "availabilityId": "AvailabilityId1", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{newBillingProfileName}/invoiceSections/{newInvoiceSectionName}", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso operations billing" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/operationResults/44000000-0000-0000-0000-000000000000?api-version=2020-05-01", + "Retry-After": "60", + "OData-EntityId": "44000000-0000-0000-0000-000000000000" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Policy.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Policy.json new file mode 100644 index 000000000000..f625de03e3d1 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Policy.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/policies/default", + "name": "default", + "type": "Microsoft.Billing/billingAccounts/billingProfiles/policies", + "properties": { + "marketplacePurchases": "AllAllowed", + "reservationPurchases": "Allowed", + "viewCharges": "Allowed" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Product.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Product.json new file mode 100644 index 000000000000..5a2061c7b298 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Product.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "productName": "{productName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/products/{productName}", + "name": "{productName}", + "type": "Microsoft.Billing/billingAccounts/products", + "properties": { + "autoRenew": "On", + "productTypeId": "A12345", + "productType": "Subscription", + "displayName": "AIP Dev", + "status": "Active", + "purchaseDate": "2018-05-01T17:32:28Z", + "lastCharge": { + "currency": "USD", + "value": 5000.00 + }, + "lastChargeDate": "2018-06-15T17:32:28Z", + "billingFrequency": "Monthly", + "quantity": 4, + "skuId": "0001", + "skuDescription": "Enterprise Agreement Development", + "tenantId": "515a6d36-aaf8-4ca2-a5e8-c45deb0c5cce", + "availabilityId": "AvailabilityId1", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso operations billing" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ProductsListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ProductsListByBillingAccount.json new file mode 100644 index 000000000000..764393d75c29 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ProductsListByBillingAccount.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/products/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.Billing/billingAccounts/products", + "properties": { + "autoRenew": "On", + "productTypeId": "A12345", + "productType": "Reservation", + "displayName": "Eng Reservation (1a13s21awe)", + "status": "Active", + "purchaseDate": "2018-05-01T17:32:28Z", + "lastCharge": { + "currency": "USD", + "value": 5000.00 + }, + "lastChargeDate": "2018-06-15T17:32:28Z", + "quantity": 4, + "skuId": "0001", + "skuDescription": "Enterprise Agreement Development", + "tenantId": "515a6d36-aaf8-4ca2-a5e8-c45deb0c5cce", + "availabilityId": "AvailabilityId1", + "billingFrequency": "OneTime", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/22000000-0000-0000-0000-000000000000", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso operations billing" + } + }, + { + "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/products/10000000-0000-0000-0000-000000000001", + "name": "10000000-0000-0000-0000-000000000001", + "type": "Microsoft.Billing/billingAccounts/products", + "properties": { + "autoRenew": "On", + "productTypeId": "A12345", + "productType": "Azure subscription", + "displayName": "Engineering Email", + "status": "Active", + "purchaseDate": "2018-04-01T17:32:28Z", + "lastCharge": { + "currency": "USD", + "value": 5000.00 + }, + "lastChargeDate": "2018-06-15T17:32:28Z", + "quantity": 4, + "skuId": "0001", + "skuDescription": "Enterprise Agreement Development", + "tenantId": "515a6d36-aaf8-4ca2-a5e8-c45deb0c5cce", + "availabilityId": "AvailabilityId1", + "billingFrequency": "Monthly", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/22000000-0000-0000-0000-000000000000", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso operations billing" + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ProductsListByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ProductsListByBillingProfile.json new file mode 100644 index 000000000000..67a72146df6b --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ProductsListByBillingProfile.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/products/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.Billing/billingAccounts/products", + "properties": { + "autoRenew": "On", + "productTypeId": "A12345", + "productType": "Reservation", + "displayName": "Eng Reservation (1a13s21awe)", + "status": "Active", + "purchaseDate": "2018-05-01T17:32:28Z", + "lastCharge": { + "currency": "USD", + "value": 5000.00 + }, + "lastChargeDate": "2018-06-15T17:32:28Z", + "quantity": 4, + "skuId": "0001", + "skuDescription": "Enterprise Agreement Development", + "tenantId": "515a6d36-aaf8-4ca2-a5e8-c45deb0c5cce", + "availabilityId": "AvailabilityId1", + "billingFrequency": "OneTime", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/22000000-0000-0000-0000-000000000000", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso operations billing" + } + }, + { + "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/products/10000000-0000-0000-0000-000000000001", + "name": "10000000-0000-0000-0000-000000000001", + "type": "Microsoft.Billing/billingAccounts/products", + "properties": { + "autoRenew": "On", + "productTypeId": "A12345", + "productType": "Azure subscription", + "displayName": "Engineering Email", + "status": "Active", + "purchaseDate": "2018-04-01T17:32:28Z", + "lastCharge": { + "currency": "USD", + "value": 5000.00 + }, + "lastChargeDate": "2018-06-15T17:32:28Z", + "quantity": 4, + "skuId": "0001", + "skuDescription": "Enterprise Agreement Development", + "tenantId": "515a6d36-aaf8-4ca2-a5e8-c45deb0c5cce", + "availabilityId": "AvailabilityId1", + "billingFrequency": "Monthly", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/22000000-0000-0000-0000-000000000000", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso operations billing" + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ProductsListByCustomer.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ProductsListByCustomer.json new file mode 100644 index 000000000000..ff18e2fdfe07 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ProductsListByCustomer.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "customerName": "{customerName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/products/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.Billing/billingAccounts/products", + "properties": { + "autoRenew": "On", + "productTypeId": "A12345", + "productType": "Reservation", + "displayName": "Eng Reservation (1a13s21awe)", + "status": "Active", + "purchaseDate": "2018-05-01T17:32:28Z", + "lastCharge": { + "currency": "USD", + "value": 5000.00 + }, + "lastChargeDate": "2018-06-15T17:32:28Z", + "billingFrequency": "OneTime", + "quantity": 4, + "skuId": "0001", + "skuDescription": "Enterprise Agreement Development", + "tenantId": "515a6d36-aaf8-4ca2-a5e8-c45deb0c5cce", + "availabilityId": "AvailabilityId1", + "customerId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}", + "customerDisplayName": "Customer 1", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso operations billing", + "reseller": { + "resellerId": "2c917292-b7bc-42f2-99a2-e498b9087c06", + "description": "Reseller1" + } + } + }, + { + "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/products/10000000-0000-0000-0000-000000000001", + "name": "10000000-0000-0000-0000-000000000001", + "type": "Microsoft.Billing/billingAccounts/products", + "properties": { + "autoRenew": "On", + "productTypeId": "A12345", + "productType": "Azure subscription", + "displayName": "Engineering Email", + "status": "Active", + "purchaseDate": "2018-04-01T17:32:28Z", + "lastCharge": { + "currency": "USD", + "value": 500.00 + }, + "lastChargeDate": "2018-06-15T17:32:28Z", + "billingFrequency": "Monthly", + "quantity": 4, + "skuId": "0001", + "skuDescription": "Enterprise Agreement Development", + "tenantId": "515a6d36-aaf8-4ca2-a5e8-c45deb0c5cce", + "availabilityId": "AvailabilityId1", + "customerId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}", + "customerDisplayName": "Customer 1", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso operations billing" + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ProductsListByInvoiceSection.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ProductsListByInvoiceSection.json new file mode 100644 index 000000000000..d2a538072eea --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ProductsListByInvoiceSection.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}", + "invoiceSectionName": "{invoiceSectionName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/products/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.Billing/billingAccounts/products", + "properties": { + "autoRenew": "On", + "productTypeId": "A12345", + "productType": "Reservation", + "displayName": "Eng Reservation (1a13s21awe)", + "status": "Active", + "purchaseDate": "2018-05-01T17:32:28Z", + "lastCharge": { + "currency": "USD", + "value": 5000.00 + }, + "lastChargeDate": "2018-06-15T17:32:28Z", + "billingFrequency": "OneTime", + "quantity": 4, + "skuId": "0001", + "skuDescription": "Enterprise Agreement Development", + "tenantId": "515a6d36-aaf8-4ca2-a5e8-c45deb0c5cce", + "availabilityId": "AvailabilityId1", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso operations billing" + } + }, + { + "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/products/10000000-0000-0000-0000-000000000001", + "name": "10000000-0000-0000-0000-000000000001", + "type": "Microsoft.Billing/billingAccounts/products", + "properties": { + "autoRenew": "On", + "productTypeId": "A12345", + "productType": "Azure subscription", + "displayName": "Engineering Email", + "status": "Active", + "purchaseDate": "2018-04-01T17:32:28Z", + "lastCharge": { + "currency": "USD", + "value": 500.00 + }, + "lastChargeDate": "2018-06-15T17:32:28Z", + "billingFrequency": "Monthly", + "quantity": 4, + "skuId": "0001", + "skuDescription": "Enterprise Agreement Development", + "availabilityId": "AvailabilityId1", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso operations billing" + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/PutBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/PutBillingProfile.json new file mode 100644 index 000000000000..34cd9b1a3b3a --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/PutBillingProfile.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}", + "parameters": { + "properties": { + "displayName": "Finance", + "billTo": { + "firstName": "Test", + "lastName": "User", + "addressLine1": "Test Address 1", + "city": "Redmond", + "postalCode": "12345", + "region": "WA", + "country": "US" + }, + "enabledAzurePlans": [ + { + "skuId": "0001" + }, + { + "skuId": "0002" + } + ], + "invoiceEmailOptIn": true, + "poNumber": "ABC12345" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/operationResults/putBillingProfile_00000000-0000-0000-0000-000000000000?api-version=2020-05-01", + "Retry-After": "60" + } + }, + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/billingProfileId1", + "name": "billingProfileId1", + "type": "Microsoft.Billing/billingAccounts/billingProfiles", + "properties": { + "displayName": "Finance", + "billTo": { + "firstName": "Test", + "lastName": "User", + "addressLine1": "Test Address 1", + "city": "Redmond", + "postalCode": "12345", + "region": "WA", + "country": "US" + }, + "currency": "USD", + "enabledAzurePlans": [ + { + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan" + }, + { + "skuId": "0002", + "skuDescription": "Microsoft Azure Plan for DevTest" + } + ], + "invoiceDay": 5, + "invoiceEmailOptIn": true, + "poNumber": "ABC12345", + "hasReadAccess": true, + "systemId": "1XXX-11XX-XX1-XXXX-XXX", + "status": "Active", + "spendingLimit": "Off" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/PutInstruction.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/PutInstruction.json new file mode 100644 index 000000000000..a140f1b32e61 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/PutInstruction.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}", + "instructionName": "{instructionName}", + "parameters": { + "properties": { + "amount": 5000.0, + "startDate": "2019-12-30T21:26:47.997Z", + "endDate": "2020-12-30T21:26:47.997Z" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/instructions/{instructionName}", + "name": "{instructionName}", + "type": "Microsoft.Billing/billingAccounts/billingProfiles/instructions", + "properties": { + "amount": 5000.0, + "startDate": "2019-12-30T21:26:47.997Z", + "endDate": "2020-12-30T21:26:47.997Z" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/PutInvoiceSection.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/PutInvoiceSection.json new file mode 100644 index 000000000000..363ccd587a07 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/PutInvoiceSection.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}", + "invoiceSectionName": "{invoiceSectionName}", + "parameters": { + "properties": { + "displayName": "invoiceSection1", + "labels": { + "pcCode": "A123456", + "costCategory": "Support" + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/operationResults/putInvoiceSection_00000000-0000-0000-0000-000000000000?api-version=2020-05-01", + "Retry-After": "60" + } + }, + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}", + "name": "{invoiceSectionName}", + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections", + "properties": { + "displayName": "invoiceSection1", + "labels": { + "pcCode": "A123456", + "costCategory": "Support" + }, + "systemId": "XX1X-XXAA-XXX-ZZZ" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/TransactionsListByInvoice.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/TransactionsListByInvoice.json new file mode 100644 index 000000000000..3cd3d055db94 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/TransactionsListByInvoice.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "invoiceName": "{invoiceName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/transactions/41000000-0000-0000-0000-000000000000", + "name": "41000000-0000-0000-0000-000000000000", + "type": "Microsoft.Billing/billingAccounts/transactions", + "properties": { + "kind": "all", + "date": "2018-05-01T00:00:00Z", + "invoice": "2344233", + "invoiceId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/2344233", + "productFamily": "Storage", + "productTypeId": "A12345", + "productType": "VM Instance", + "productDescription": "Standard D1, US West 3", + "transactionType": "Purchase", + "transactionAmount": { + "currency": "USD", + "value": 5000.00 + }, + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/22000000-0000-0000-0000-000000000000", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}", + "billingProfileDisplayName": "Contoso operations billing", + "azurePlan": "Microsoft Azure Plan for DevTest", + "azureCreditApplied": { + "currency": "USD", + "value": 2000.00 + }, + "billingCurrency": "USD", + "discount": 0.1, + "effectivePrice": { + "currency": "USD", + "value": 10.00 + }, + "exchangeRate": 1, + "marketPrice": { + "currency": "USD", + "value": 20.00 + }, + "pricingCurrency": "USD", + "quantity": 1, + "servicePeriodStartDate": "2018-05-01T00:00:00Z", + "servicePeriodEndDate": "2018-09-30T00:00:00Z", + "subTotal": { + "currency": "USD", + "value": 4500.00 + }, + "tax": { + "currency": "USD", + "value": 500.00 + }, + "unitOfMeasure": "1 Minute", + "units": 11.25, + "unitType": "1 Runtime Minute" + } + }, + { + "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/transactions/51000000-0000-0000-0000-000000000000", + "name": "51000000-0000-0000-0000-000000000000", + "type": "Microsoft.Billing/billingAccounts/transactions", + "properties": { + "kind": "all", + "date": "2018-04-01T00:00:00Z", + "invoice": "pending", + "productFamily": "Storage", + "productTypeId": "A12345", + "productType": "VM Instance", + "productDescription": "Standard Support", + "transactionType": "Cancel", + "transactionAmount": { + "currency": "USD", + "value": 50.00 + }, + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/22000000-0000-0000-0000-000000000000", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}", + "billingProfileDisplayName": "Contoso operations billing", + "azurePlan": "Microsoft Azure Plan for DevTest", + "azureCreditApplied": { + "currency": "USD", + "value": 20.00 + }, + "billingCurrency": "USD", + "discount": 0.1, + "effectivePrice": { + "currency": "USD", + "value": 10.00 + }, + "exchangeRate": 1, + "marketPrice": { + "currency": "USD", + "value": 20.00 + }, + "pricingCurrency": "USD", + "quantity": 1, + "servicePeriodStartDate": "2018-05-01T00:00:00Z", + "servicePeriodEndDate": "2018-09-30T00:00:00Z", + "subTotal": { + "currency": "USD", + "value": 45.00 + }, + "tax": { + "currency": "USD", + "value": 5.00 + }, + "unitOfMeasure": "1 Minute", + "units": 1.25, + "unitType": "1 Runtime Minute" + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/UpdateBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/UpdateBillingAccount.json new file mode 100644 index 000000000000..fa0dca4f26c5 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/UpdateBillingAccount.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "parameters": { + "properties": { + "displayName": "Test Account", + "soldTo": { + "companyName": "Contoso", + "firstName": "Test", + "lastName": "User", + "addressLine1": "Test Address 1", + "city": "Redmond", + "postalCode": "12345", + "region": "WA", + "country": "US" + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/operationStatus/65e1f2bf-c31c-4b89-a599-25d9d4172af9?api-version=2020-05-01", + "Retry-After": "10" + } + }, + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}", + "name": "{billingAccountName}", + "type": "Microsoft.Billing/billingAccounts", + "properties": { + "displayName": "Test Account", + "agreementType": "MicrosoftCustomerAgreement", + "accountStatus": "Active", + "accountType": "Enterprise", + "hasReadAccess": true, + "soldTo": { + "companyName": "Contoso", + "firstName": "Test", + "lastName": "User", + "addressLine1": "Test Address 1", + "city": "Redmond", + "postalCode": "12345", + "region": "WA", + "country": "US" + } + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/UpdateBillingProperty.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/UpdateBillingProperty.json new file mode 100644 index 000000000000..564cea55db9e --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/UpdateBillingProperty.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "{subscriptionId}", + "parameters": { + "properties": { + "costCenter": "1010" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingProperty/default", + "name": "default", + "type": "Microsoft.Billing/billingProperty", + "properties": { + "accountAdminNotificationEmailAddress": "test@contoso.com", + "billingTenantId": "90000000-0000-0000-0000-000000000011", + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000", + "billingAccountDisplayName": "My Account", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso operations billing", + "billingProfileStatus": "Warned", + "billingProfileStatusReasonCode": "PastDue", + "billingProfileSpendingLimit": "On", + "costCenter": "1010", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000/invoiceSections/22000000-0000-0000-0000-000000000000", + "invoiceSectionDisplayName": "Contoso operations invoice section", + "isAccountAdmin": true, + "productId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000/invoiceSections/22000000-0000-0000-0000-000000000000/products/44000000-0000-0000-0000-000000000000", + "productName": "Standard Dev", + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan for DevTest" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/UpdateBillingSubscription.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/UpdateBillingSubscription.json new file mode 100644 index 000000000000..9b4bc71b63f3 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/UpdateBillingSubscription.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "subscriptionId": "{subscriptionId}", + "parameters": { + "properties": { + "costCenter": "ABC1234" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}", + "name": "{subscriptionId}", + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions", + "properties": { + "displayName": "My Subscription", + "subscriptionId": "6b96d3f2-9008-4a9d-912f-f87744185aa3", + "subscriptionBillingStatus": "Active", + "lastMonthCharges": { + "currency": "USD", + "value": 5000.00 + }, + "monthToDateCharges": { + "currency": "USD", + "value": 600 + }, + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000/invoiceSections/22000000-0000-0000-0000-000000000000", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso operations billing", + "costCenter": "ABC1234", + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/UpdateCustomerPolicy.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/UpdateCustomerPolicy.json new file mode 100644 index 000000000000..c014d2859aaa --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/UpdateCustomerPolicy.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "customerName": "{customerName}", + "parameters": { + "properties": { + "viewCharges": "NotAllowed" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/policies/default", + "name": "default", + "type": "Microsoft.Billing/billingAccounts/customers/policies", + "properties": { + "viewCharges": "NotAllowed" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/UpdatePolicy.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/UpdatePolicy.json new file mode 100644 index 000000000000..c85677e85d94 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/UpdatePolicy.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}", + "parameters": { + "properties": { + "marketplacePurchases": "OnlyFreeAllowed", + "reservationPurchases": "NotAllowed", + "viewCharges": "Allowed" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/policies/default", + "name": "default", + "type": "Microsoft.Billing/billingAccounts/billingProfiles/policies", + "properties": { + "marketplacePurchases": "OnlyFreeAllowed", + "reservationPurchases": "NotAllowed", + "viewCharges": "Allowed" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/UpdateProduct.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/UpdateProduct.json new file mode 100644 index 000000000000..5d1beb7bafc5 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/UpdateProduct.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "productName": "{productName}", + "parameters": { + "properties": { + "autoRenew": "Off" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/products/{productName}", + "name": "{productName}", + "type": "Microsoft.Billing/billingAccounts/products", + "properties": { + "autoRenew": "Off", + "productTypeId": "A12345", + "productType": "Subscription", + "displayName": "AIP Dev", + "status": "Active", + "purchaseDate": "2018-05-01T17:32:28Z", + "lastCharge": { + "currency": "USD", + "value": 5000.00 + }, + "lastChargeDate": "2018-06-15T17:32:28Z", + "billingFrequency": "Monthly", + "quantity": 4, + "skuId": "0001", + "skuDescription": "Enterprise Agreement Development", + "tenantId": "515a6d36-aaf8-4ca2-a5e8-c45deb0c5cce", + "availabilityId": "AvailabilityId1", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso operations billing" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ValidateProductMoveFailure.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ValidateProductMoveFailure.json new file mode 100644 index 000000000000..bd75b901d431 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ValidateProductMoveFailure.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "productName": "{productName}", + "parameters": { + "destinationInvoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{newInvoiceSectionName}" + } + }, + "responses": { + "200": { + "body": { + "isMoveEligible": false, + "errorDetails": { + "code": "ProductTypeNotSupported", + "message": "Product '{productName}' is not allowed to be transferred." + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ValidateProductMoveSuccess.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ValidateProductMoveSuccess.json new file mode 100644 index 000000000000..12669b188250 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ValidateProductMoveSuccess.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "productName": "{productName}", + "parameters": { + "destinationInvoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{newInvoiceSectionName}" + } + }, + "responses": { + "200": { + "body": { + "isMoveEligible": true + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ValidateSubscriptionMoveFailure.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ValidateSubscriptionMoveFailure.json new file mode 100644 index 000000000000..baadfc3441da --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ValidateSubscriptionMoveFailure.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "subscriptionId": "{subscriptionId}", + "parameters": { + "destinationInvoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{newInvoiceSectionName}" + } + }, + "responses": { + "200": { + "body": { + "isMoveEligible": false, + "errorDetails": { + "code": "SubscriptionNotActive", + "message": "Invoice Sections can only be changed for active subscriptions." + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ValidateSubscriptionMoveSuccess.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ValidateSubscriptionMoveSuccess.json new file mode 100644 index 000000000000..7fe8119fa29f --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ValidateSubscriptionMoveSuccess.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "subscriptionId": "{subscriptionId}", + "parameters": { + "destinationInvoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{newInvoiceSectionName}" + } + }, + "responses": { + "200": { + "body": { + "isMoveEligible": true + } + } + } +} diff --git a/specification/billing/resource-manager/readme.go.md b/specification/billing/resource-manager/readme.go.md index 73acea981762..f6bf507cb97e 100644 --- a/specification/billing/resource-manager/readme.go.md +++ b/specification/billing/resource-manager/readme.go.md @@ -13,12 +13,22 @@ go: ### Go multi-api ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-05 - tag: package-2018-11-preview - tag: package-2018-03-preview - tag: package-2017-04-preview - tag: package-2017-02-preview ``` +### 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/preview/$(namespace)/mgmt/2020-05-01-preview/$(namespace) +``` + ### Tag: package-2018-11-preview and go These settings apply only when `--tag=package-2018-11-preview --go` is specified on the command line. diff --git a/specification/billing/resource-manager/readme.md b/specification/billing/resource-manager/readme.md index 8bb331f5cb59..31988a610128 100644 --- a/specification/billing/resource-manager/readme.md +++ b/specification/billing/resource-manager/readme.md @@ -26,7 +26,16 @@ These are the global settings for the Billing API. ``` yaml openapi-type: arm -tag: package-2019-10-preview +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.Billing/stable/2020-05-01/billing.json ``` ### Tag: package-2019-10-preview @@ -133,6 +142,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-billing ``` yaml $(java) && $(multiapi) batch: + - tag: package-2020-05 - tag: package-2019-10-preview - tag: package-2018-11-preview - tag: package-2018-03-preview @@ -140,6 +150,19 @@ batch: - tag: package-2017-02-preview ``` +### 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.billing.v2020_05_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/billing/mgmt-v2020_05_01 +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2019-10-preview and java These settings apply only when `--tag=package-2019-10-preview --java` is specified on the command line. @@ -219,6 +242,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/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 1aa6339d90ab..fcb9843607a5 100644 --- a/specification/billing/resource-manager/readme.ruby.md +++ b/specification/billing/resource-manager/readme.ruby.md @@ -16,6 +16,16 @@ batch: - tag: package-2017-02-preview ``` +### Tag: package-2020-05 and ruby + +These settings apply only when `--tag=package-2020-05 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-05' && $(ruby) +namespace: "Azure::Billing::Mgmt::V2020_05" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_billing/lib +``` + ### Tag: package-2017-04-preview and ruby These settings apply only when `--tag=package-2017-04-preview --ruby` is specified on the command line. diff --git a/specification/blockchain/resource-manager/readme.cli.md b/specification/blockchain/resource-manager/readme.cli.md index 5c4de203b0f6..3b953b2334e9 100644 --- a/specification/blockchain/resource-manager/readme.cli.md +++ b/specification/blockchain/resource-manager/readme.cli.md @@ -1,8 +1,6 @@ - -# Dns -This directory contains the Cli common model for the Blockchain service. +## CLI -> Metadata +These settings apply only when `--cli` is specified on the command line. ``` yaml # Migrated from Powershell's readme @@ -29,18 +27,4 @@ cli: operationGroup: 'locations' operation: 'listConsortiums' name: 'list' - # - select: 'operationGroup' - # where: - # operationGroup: 'blockchainMemberOperationResults' - # hidden: true - # - select: 'operation' - # where: - # operationGroup: 'blockchainMembers' - # operation: '(create|update)' - # hidden: true - # - select: 'operation' - # where: - # operationGroup: 'transactionNodes' - # operation: '(create|update)' - # hidden: true ``` \ No newline at end of file diff --git a/specification/blockchain/resource-manager/readme.md b/specification/blockchain/resource-manager/readme.md index d0aa094d899f..806fc6ac3e2d 100644 --- a/specification/blockchain/resource-manager/readme.md +++ b/specification/blockchain/resource-manager/readme.md @@ -58,6 +58,7 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_blockchain'] + - repo: azure-cli-extensions ``` ## C# 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.md b/specification/botservice/resource-manager/readme.md index 4e13dd4c54a1..16c01f946217 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 @@ -113,7 +124,7 @@ See configuration in [readme.java.md](./readme.java.md) See readme.python.md file. -## 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. @@ -130,11 +141,10 @@ input-file: ``` -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/2020-04-15/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdn.json index 312c0e0e51bb..72cf5b68f35b 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 @@ -4461,7 +4461,7 @@ "type": "string" }, "privateEndpointStatus": { - "description": "The Approval status for the connection to the Private Link", + "description": "The approval status for the connection to the Private Link", "type": "string", "readOnly": true, "enum": [ @@ -4473,7 +4473,7 @@ ], "x-ms-enum": { "name": "PrivateEndpointStatus", - "modelAsString": false + "modelAsString": true } } } 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.md b/specification/cloudshell/resource-manager/readme.md new file mode 100644 index 000000000000..383773dcd1ce --- /dev/null +++ b/specification/cloudshell/resource-manager/readme.md @@ -0,0 +1,148 @@ +# 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'] +``` + +## 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 +``` \ No newline at end of file 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 8a3f2b3797fc..ac5d89494132 100644 --- a/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/AnomalyDetector.json +++ b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/AnomalyDetector.json @@ -188,7 +188,7 @@ }, "Granularity": { "type": "string", - "description": "Can only be one of yearly, monthly, weekly, daily, hourly or minutely. Granularity is used for verify whether input series is valid.", + "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", @@ -200,7 +200,8 @@ "weekly", "daily", "hourly", - "minutely" + "minutely", + "secondly" ] }, "CustomInterval": { @@ -404,7 +405,7 @@ }, "granularity": { "$ref": "#/definitions/Granularity", - "description": "Can only be one of yearly, monthly, weekly, daily, hourly or minutely. Granularity is used for verify whether input series is valid." + "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": { "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}.", diff --git a/specification/cognitiveservices/data-plane/ComputerVision/readme.go.md b/specification/cognitiveservices/data-plane/ComputerVision/readme.go.md index 3696b8eb182f..8fb795822422 100644 --- a/specification/cognitiveservices/data-plane/ComputerVision/readme.go.md +++ b/specification/cognitiveservices/data-plane/ComputerVision/readme.go.md @@ -42,5 +42,5 @@ These settings apply only when `--tag=release_3_0 --go` is specified on the comm Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'release_3_0' && $(go) -output-folder: $(go-sdk-folder)/services/preview/cognitiveservices/v3.0-preview/$(namespace) +output-folder: $(go-sdk-folder)/services/cognitiveservices/v3.0/$(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 31c01fd4644b..020fca003e1d 100644 --- a/specification/cognitiveservices/data-plane/ComputerVision/readme.md +++ b/specification/cognitiveservices/data-plane/ComputerVision/readme.md @@ -4,11 +4,11 @@ Configuration for generating Computer Vision SDK. -The current release is `release_2_1`. +The current release is `release_3_0`. ``` yaml -tag: release_2_1 +tag: release_3_0 add-credentials: true openapi-type: data-plane ``` @@ -32,12 +32,21 @@ input-file: - stable/v2.1/Ocr.json ``` +### Release 3.0-preview +These settings apply only when `--tag=release_3_0_preview` is specified on the command line. + +``` yaml $(tag) == 'release_3_0_preview' +input-file: + - preview/v3.0-preview/Ocr.json +``` + ### Release 3.0 These settings apply only when `--tag=release_3_0` is specified on the command line. ``` yaml $(tag) == 'release_3_0' input-file: - - preview/v3.0-preview/Ocr.json + - stable/v3.0/ComputerVision.json + - stable/v3.0/Ocr.json ``` ## Swagger to SDK @@ -155,6 +164,8 @@ input-file: - $(this-folder)/stable/v2.1/ComputerVision.json - $(this-folder)/stable/v2.1/Ocr.json - $(this-folder)/preview/v3.0-preview/Ocr.json + - $(this-folder)/stable/v3.0/ComputerVision.json + - $(this-folder)/stable/v3.0/Ocr.json ``` diff --git a/specification/cognitiveservices/data-plane/ComputerVision/readme.ruby.md b/specification/cognitiveservices/data-plane/ComputerVision/readme.ruby.md index 543dbe567e1d..019525023fad 100644 --- a/specification/cognitiveservices/data-plane/ComputerVision/readme.ruby.md +++ b/specification/cognitiveservices/data-plane/ComputerVision/readme.ruby.md @@ -31,3 +31,14 @@ namespace: "Azure::CognitiveServices::ComputerVision::V2_1" output-folder: $(ruby-sdks-folder)/data/azure_cognitiveservices_computervision/lib title: "ComputerVisionClient" ``` + +### Tag: release_3_0 and ruby + +These settings apply only when `--tag=release_3_0 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'release_3_0' && $(ruby) +namespace: "Azure::CognitiveServices::ComputerVision::V3_0" +output-folder: $(ruby-sdks-folder)/data/azure_cognitiveservices_computervision/lib +title: "ComputerVisionClient" +``` \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/ComputerVision.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/ComputerVision.json new file mode 100644 index 000000000000..4ffa82212a66 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/ComputerVision.json @@ -0,0 +1,1840 @@ +{ + "swagger": "2.0", + "info": { + "version": "3.0", + "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.0", + "schemes": [ + "https" + ], + "paths": { + "/analyze": { + "post": { + "description": "This operation extracts a rich set of visual features based on the image content.\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL. Within your request, there is an optional parameter to allow you to choose which features to return. By default, image categories are returned in the response.\r\nA successful response will be returned in JSON. If the request failed, the response will contain an error code and a message to help understand what went wrong.", + "operationId": "AnalyzeImage", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/VisualFeatures" + }, + { + "name": "details", + "in": "query", + "description": "A string indicating which domain-specific details to return. Multiple values should be comma-separated. Valid visual feature types include: Celebrities - identifies celebrities if detected in the image, Landmarks - identifies notable landmarks in the image.", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "Celebrities", + "Landmarks" + ], + "x-nullable": false, + "x-ms-enum": { + "name": "Details", + "modelAsString": false + } + }, + "collectionFormat": "csv", + "x-nullable": true + }, + { + "$ref": "#/parameters/ServiceLanguage" + }, + { + "$ref": "#/parameters/DescriptionExclude" + }, + { + "$ref": "#/parameters/ImageUrl" + } + ], + "responses": { + "200": { + "description": "The response include the extracted features in JSON format. Here is the definitions for enumeration types:\r\n ClipartType\r\n Non - clipart = 0, ambiguous = 1, normal - clipart = 2, good - clipart = 3. LineDrawingTypeNon - LineDrawing = 0, LineDrawing = 1.", + "schema": { + "$ref": "#/definitions/ImageAnalysis" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful AnalyzeImage request": { + "$ref": "./examples/SuccessfulAnalyzeImageWithUrl.json" + } + } + } + }, + "/describe": { + "post": { + "description": "This operation generates a description of an image in human readable language with complete sentences. The description is based on a collection of content tags, which are also returned by the operation. More than one description can be generated for each image. Descriptions are ordered by their confidence score. Descriptions may include results from celebrity and landmark domain models, if applicable.\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL.\r\nA successful response will be returned in JSON. If the request failed, the response will contain an error code and a message to help understand what went wrong.", + "operationId": "DescribeImage", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "maxCandidates", + "in": "query", + "description": "Maximum number of candidate descriptions to be returned. The default is 1.", + "required": false, + "type": "integer", + "format": "int32", + "default": 1, + "x-nullable": true + }, + { + "$ref": "#/parameters/ServiceLanguage" + }, + { + "$ref": "#/parameters/DescriptionExclude" + }, + { + "$ref": "#/parameters/ImageUrl" + } + ], + "responses": { + "200": { + "description": "Image description object.", + "schema": { + "$ref": "#/definitions/ImageDescription" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful DescribeImage request": { + "$ref": "./examples/SuccessfulDescribeImageWithUrl.json" + } + } + } + }, + "/detect": { + "post": { + "description": "Performs object detection on the specified image.\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL.\r\nA successful response will be returned in JSON. If the request failed, the response will contain an error code and a message to help understand what went wrong.", + "operationId": "DetectObjects", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ImageUrl" + } + ], + "responses": { + "200": { + "description": "The response include the detected objects in JSON format.", + "schema": { + "$ref": "#/definitions/DetectResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful DetectObjects request": { + "$ref": "./examples/SuccessfulDetectObjectsWithUrl.json" + } + } + } + }, + "/models": { + "get": { + "description": "This operation returns the list of domain-specific models that are supported by the Computer Vision API. Currently, the API supports following domain-specific models: celebrity recognizer, landmark recognizer.\r\nA successful response will be returned in JSON. If the request failed, the response will contain an error code and a message to help understand what went wrong.", + "operationId": "ListModels", + "consumes": [], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "List of available domain models.", + "schema": { + "$ref": "#/definitions/ListModelsResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful ListModels request": { + "$ref": "./examples/SuccessfulListModels.json" + } + } + } + }, + "/models/{model}/analyze": { + "post": { + "description": "This operation recognizes content within an image by applying a domain-specific model. The list of domain-specific models that are supported by the Computer Vision API can be retrieved using the /models GET request. Currently, the API provides following domain-specific models: celebrities, landmarks.\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL.\r\nA successful response will be returned in JSON.\r\nIf the request failed, the response will contain an error code and a message to help understand what went wrong.", + "operationId": "AnalyzeImageByDomain", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "model", + "in": "path", + "description": "The domain-specific content to recognize.", + "required": true, + "type": "string", + "x-nullable": true + }, + { + "$ref": "#/parameters/ServiceLanguage" + }, + { + "$ref": "#/parameters/ImageUrl" + } + ], + "responses": { + "200": { + "description": "Analysis result based on the domain model.", + "schema": { + "$ref": "#/definitions/DomainModelResults" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful AnalyzeImageByDomain request": { + "$ref": "./examples/SuccessfulAnalyzeImageByDomainWithUrl.json" + } + } + } + }, + "/ocr": { + "post": { + "description": "Optical Character Recognition (OCR) detects text in an image and extracts the recognized characters into a machine-usable character stream.\r\nUpon success, the OCR results will be returned.\r\nUpon failure, the error code together with an error message will be returned. The error code can be one of InvalidImageUrl, InvalidImageFormat, InvalidImageSize, NotSupportedImage, NotSupportedLanguage, or InternalServerError.", + "operationId": "RecognizePrintedText", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/DetectOrientation" + }, + { + "$ref": "#/parameters/OcrLanguage" + }, + { + "$ref": "#/parameters/ImageUrl" + } + ], + "responses": { + "200": { + "description": "The OCR results in the hierarchy of region/line/word. The results include text, bounding box for regions, lines and words. The angle, in radians, of the detected text with respect to the closest horizontal or vertical direction. After rotating the input image clockwise by this angle, the recognized text lines become horizontal or vertical. In combination with the orientation property it can be used to overlay recognition results correctly on the original image, by rotating either the original image or recognition results by a suitable angle around the center of the original image. If the angle cannot be confidently detected, this property is not present. If the image contains text at different angles, only part of the text will be recognized correctly.", + "schema": { + "$ref": "#/definitions/OcrResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful RecognizePrintedText request": { + "$ref": "./examples/SuccessfulRecognizePrintedTextWithUrl.json" + } + } + } + }, + "/tag": { + "post": { + "description": "This operation generates a list of words, or tags, that are relevant to the content of the supplied image. The Computer Vision API can return tags based on objects, living beings, scenery or actions found in images. Unlike categories, tags are not organized according to a hierarchical classification system, but correspond to image content. Tags may contain hints to avoid ambiguity or provide context, for example the tag \"ascomycete\" may be accompanied by the hint \"fungus\".\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL.\r\nA successful response will be returned in JSON. If the request failed, the response will contain an error code and a message to help understand what went wrong.", + "operationId": "TagImage", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ServiceLanguage" + }, + { + "$ref": "#/parameters/ImageUrl" + } + ], + "responses": { + "200": { + "description": "Image tags object.", + "schema": { + "$ref": "#/definitions/TagResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful TagImage request": { + "$ref": "./examples/SuccessfulTagImageWithUrl.json" + } + } + } + }, + "/generateThumbnail": { + "post": { + "description": "This operation generates a thumbnail image with the user-specified width and height. By default, the service analyzes the image, identifies the region of interest (ROI), and generates smart cropping coordinates based on the ROI. Smart cropping helps when you specify an aspect ratio that differs from that of the input image.\r\nA successful response contains the thumbnail image binary. If the request failed, the response contains an error code and a message to help determine what went wrong.\r\nUpon failure, the error code and an error message are returned. The error code could be one of InvalidImageUrl, InvalidImageFormat, InvalidImageSize, InvalidThumbnailSize, NotSupportedImage, FailedToProcess, Timeout, or InternalServerError.", + "operationId": "GenerateThumbnail", + "consumes": [ + "application/json" + ], + "produces": [ + "application/octet-stream" + ], + "parameters": [ + { + "name": "width", + "in": "query", + "description": "Width of the thumbnail, in pixels. It must be between 1 and 1024. Recommended minimum of 50.", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 1024, + "minimum": 1, + "x-nullable": false + }, + { + "name": "height", + "in": "query", + "description": "Height of the thumbnail, in pixels. It must be between 1 and 1024. Recommended minimum of 50.", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 1024, + "minimum": 1, + "x-nullable": false + }, + { + "name": "smartCropping", + "in": "query", + "description": "Boolean flag for enabling smart cropping.", + "required": false, + "type": "boolean", + "default": false, + "x-nullable": true + }, + { + "$ref": "#/parameters/ImageUrl" + } + ], + "responses": { + "200": { + "description": "The generated thumbnail in binary format.", + "schema": { + "type": "file" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful GenerateThumbnail request": { + "$ref": "./examples/SuccessfulGenerateThumbnailWithUrl.json" + } + } + } + }, + "/areaOfInterest": { + "post": { + "description": "This operation returns a bounding box around the most important area of the image.\r\nA successful response will be returned in JSON. If the request failed, the response contains an error code and a message to help determine what went wrong.\r\nUpon failure, the error code and an error message are returned. The error code could be one of InvalidImageUrl, InvalidImageFormat, InvalidImageSize, NotSupportedImage, FailedToProcess, Timeout, or InternalServerError.", + "operationId": "GetAreaOfInterest", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ImageUrl" + } + ], + "responses": { + "200": { + "description": "The response includes the extracted area of interest in JSON format.", + "schema": { + "$ref": "#/definitions/AreaOfInterestResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetAreaOfInterest request": { + "$ref": "./examples/SuccessfulGetAreaOfInterestWithUrl.json" + } + } + } + } + }, + "definitions": { + "ImageAnalysis": { + "description": "Result of AnalyzeImage operation.", + "type": "object", + "properties": { + "categories": { + "description": "An array indicating identified categories.", + "type": "array", + "items": { + "$ref": "#/definitions/Category" + }, + "x-nullable": true + }, + "adult": { + "$ref": "#/definitions/AdultInfo", + "description": "An object describing whether the image contains adult-oriented content and/or is racy." + }, + "color": { + "$ref": "#/definitions/ColorInfo", + "description": "An object providing additional metadata describing color attributes." + }, + "imageType": { + "$ref": "#/definitions/ImageType", + "description": "An object providing possible image types and matching confidence levels." + }, + "tags": { + "description": "A list of tags with confidence level.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageTag" + }, + "x-nullable": true + }, + "description": { + "$ref": "#/definitions/ImageDescriptionDetails", + "description": "A collection of content tags, along with a list of captions sorted by confidence level, and image metadata." + }, + "faces": { + "description": "An array of possible faces within the image.", + "type": "array", + "items": { + "$ref": "#/definitions/FaceDescription" + }, + "x-nullable": true + }, + "objects": { + "description": "Array of objects describing what was detected in the image.", + "type": "array", + "items": { + "$ref": "#/definitions/DetectedObject" + }, + "x-nullable": true + }, + "brands": { + "description": "Array of brands detected in the image.", + "type": "array", + "items": { + "$ref": "#/definitions/DetectedBrand" + }, + "x-nullable": true + }, + "requestId": { + "description": "Id of the REST API request.", + "type": "string", + "x-nullable": true + }, + "metadata": { + "$ref": "#/definitions/ImageMetadata" + } + }, + "x-nullable": true + }, + "Category": { + "description": "An object describing identified category.", + "type": "object", + "properties": { + "name": { + "description": "Name of the category.", + "type": "string", + "x-nullable": true + }, + "score": { + "format": "double", + "description": "Scoring of the category.", + "type": "number", + "x-nullable": false + }, + "detail": { + "$ref": "#/definitions/CategoryDetail", + "description": "Details of the identified category." + } + }, + "x-nullable": true + }, + "AdultInfo": { + "description": "An object describing whether the image contains adult-oriented content and/or is racy.", + "type": "object", + "properties": { + "isAdultContent": { + "description": "A value indicating if the image contains adult-oriented content.", + "type": "boolean", + "x-nullable": false + }, + "isRacyContent": { + "description": "A value indicating if the image is racy.", + "type": "boolean", + "x-nullable": false + }, + "isGoryContent": { + "description": "A value indicating if the image is gory.", + "type": "boolean", + "x-nullable": false + }, + "adultScore": { + "format": "double", + "description": "Score from 0 to 1 that indicates how much the content is considered adult-oriented within the image.", + "type": "number", + "x-nullable": false + }, + "racyScore": { + "format": "double", + "description": "Score from 0 to 1 that indicates how suggestive is the image.", + "type": "number", + "x-nullable": false + }, + "goreScore": { + "format": "double", + "description": "Score from 0 to 1 that indicates how gory is the image.", + "type": "number", + "x-nullable": false + } + }, + "x-nullable": true + }, + "ColorInfo": { + "description": "An object providing additional metadata describing color attributes.", + "type": "object", + "properties": { + "dominantColorForeground": { + "description": "Possible dominant foreground color.", + "type": "string", + "x-nullable": true + }, + "dominantColorBackground": { + "description": "Possible dominant background color.", + "type": "string", + "x-nullable": true + }, + "dominantColors": { + "description": "An array of possible dominant colors.", + "type": "array", + "items": { + "type": "string", + "x-nullable": true + }, + "x-nullable": true + }, + "accentColor": { + "description": "Possible accent color.", + "type": "string", + "x-nullable": true + }, + "isBWImg": { + "description": "A value indicating if the image is black and white.", + "type": "boolean", + "x-nullable": false + } + }, + "x-nullable": true + }, + "ImageType": { + "description": "An object providing possible image types and matching confidence levels.", + "type": "object", + "properties": { + "clipArtType": { + "format": "int32", + "description": "Confidence level that the image is a clip art.", + "type": "integer", + "x-nullable": false + }, + "lineDrawingType": { + "format": "int32", + "description": "Confidence level that the image is a line drawing.", + "type": "integer", + "x-nullable": false + } + }, + "x-nullable": true + }, + "ImageTag": { + "description": "An entity observation in the image, along with the confidence score.", + "type": "object", + "properties": { + "name": { + "description": "Name of the entity.", + "type": "string", + "x-nullable": true + }, + "confidence": { + "format": "double", + "description": "The level of confidence that the entity was observed.", + "type": "number", + "x-nullable": false + }, + "hint": { + "description": "Optional hint/details for this tag.", + "type": "string", + "x-nullable": true + } + }, + "x-nullable": true + }, + "ImageDescriptionDetails": { + "description": "A collection of content tags, along with a list of captions sorted by confidence level, and image metadata.", + "type": "object", + "properties": { + "tags": { + "description": "A collection of image tags.", + "type": "array", + "items": { + "type": "string", + "x-nullable": true + }, + "x-nullable": true + }, + "captions": { + "description": "A list of captions, sorted by confidence level.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageCaption" + }, + "x-nullable": true + } + }, + "x-nullable": true + }, + "FaceDescription": { + "description": "An object describing a face identified in the image.", + "type": "object", + "properties": { + "age": { + "format": "int32", + "description": "Possible age of the face.", + "type": "integer", + "x-nullable": false + }, + "gender": { + "description": "Possible gender of the face.", + "enum": [ + "Male", + "Female" + ], + "type": "string", + "x-ms-enum": { + "name": "Gender", + "modelAsString": false + }, + "x-nullable": true + }, + "faceRectangle": { + "$ref": "#/definitions/FaceRectangle", + "description": "Rectangle in the image containing the identified face." + } + }, + "x-nullable": true + }, + "DetectedObject": { + "description": "An object detected in an image.", + "type": "object", + "properties": { + "rectangle": { + "$ref": "#/definitions/BoundingRect", + "description": "Approximate location of the detected object.", + "readOnly": true + }, + "object": { + "description": "Label for the object.", + "type": "string", + "x-nullable": true + }, + "confidence": { + "format": "double", + "description": "Confidence score of having observed the object in the image, as a value ranging from 0 to 1.", + "type": "number", + "x-nullable": false + }, + "parent": { + "$ref": "#/definitions/ObjectHierarchy", + "description": "The parent object, from a taxonomy perspective.\r\nThe parent object is a more generic form of this object. For example, a 'bulldog' would have a parent of 'dog'." + } + }, + "x-nullable": true + }, + "DetectedBrand": { + "description": "A brand detected in an image.", + "type": "object", + "properties": { + "name": { + "description": "Label for the brand.", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "confidence": { + "format": "double", + "description": "Confidence score of having observed the brand in the image, as a value ranging from 0 to 1.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "rectangle": { + "$ref": "#/definitions/BoundingRect", + "description": "Approximate location of the detected brand.", + "readOnly": true + } + }, + "x-nullable": true + }, + "ImageMetadata": { + "description": "Image metadata.", + "type": "object", + "properties": { + "width": { + "format": "int32", + "description": "Image width, in pixels.", + "type": "integer", + "x-nullable": false + }, + "height": { + "format": "int32", + "description": "Image height, in pixels.", + "type": "integer", + "x-nullable": false + }, + "format": { + "description": "Image format.", + "type": "string", + "x-nullable": true + } + }, + "x-nullable": true + }, + "CategoryDetail": { + "description": "An object describing additional category details.", + "type": "object", + "properties": { + "celebrities": { + "description": "An array of celebrities if any identified.", + "type": "array", + "items": { + "$ref": "#/definitions/CelebritiesModel" + }, + "x-nullable": true + }, + "landmarks": { + "description": "An array of landmarks if any identified.", + "type": "array", + "items": { + "$ref": "#/definitions/LandmarksModel" + }, + "x-nullable": true + } + }, + "x-nullable": true + }, + "ImageCaption": { + "description": "An image caption, i.e. a brief description of what the image depicts.", + "type": "object", + "properties": { + "text": { + "description": "The text of the caption.", + "type": "string", + "x-nullable": true + }, + "confidence": { + "format": "double", + "description": "The level of confidence the service has in the caption.", + "type": "number", + "x-nullable": false + } + }, + "x-nullable": true + }, + "FaceRectangle": { + "description": "An object describing face rectangle.", + "type": "object", + "properties": { + "left": { + "format": "int32", + "description": "X-coordinate of the top left point of the face, in pixels.", + "type": "integer", + "x-nullable": false + }, + "top": { + "format": "int32", + "description": "Y-coordinate of the top left point of the face, in pixels.", + "type": "integer", + "x-nullable": false + }, + "width": { + "format": "int32", + "description": "Width measured from the top-left point of the face, in pixels.", + "type": "integer", + "x-nullable": false + }, + "height": { + "format": "int32", + "description": "Height measured from the top-left point of the face, in pixels.", + "type": "integer", + "x-nullable": false + } + }, + "x-nullable": true + }, + "BoundingRect": { + "description": "A bounding box for an area inside an image.", + "type": "object", + "properties": { + "x": { + "format": "int32", + "description": "X-coordinate of the top left point of the area, in pixels.", + "type": "integer", + "x-nullable": false + }, + "y": { + "format": "int32", + "description": "Y-coordinate of the top left point of the area, in pixels.", + "type": "integer", + "x-nullable": false + }, + "w": { + "format": "int32", + "description": "Width measured from the top-left point of the area, in pixels.", + "type": "integer", + "x-nullable": false + }, + "h": { + "format": "int32", + "description": "Height measured from the top-left point of the area, in pixels.", + "type": "integer", + "x-nullable": false + } + }, + "x-nullable": false + }, + "ObjectHierarchy": { + "description": "An object detected inside an image.", + "type": "object", + "properties": { + "object": { + "description": "Label for the object.", + "type": "string", + "x-nullable": true + }, + "confidence": { + "format": "double", + "description": "Confidence score of having observed the object in the image, as a value ranging from 0 to 1.", + "type": "number", + "x-nullable": false + }, + "parent": { + "$ref": "#/definitions/ObjectHierarchy", + "description": "The parent object, from a taxonomy perspective.\r\nThe parent object is a more generic form of this object. For example, a 'bulldog' would have a parent of 'dog'." + } + }, + "x-nullable": true + }, + "CelebritiesModel": { + "description": "An object describing possible celebrity identification.", + "type": "object", + "properties": { + "name": { + "description": "Name of the celebrity.", + "type": "string", + "x-nullable": true + }, + "confidence": { + "format": "double", + "description": "Confidence level for the celebrity recognition as a value ranging from 0 to 1.", + "type": "number", + "x-nullable": false + }, + "faceRectangle": { + "$ref": "#/definitions/FaceRectangle", + "description": "Location of the identified face in the image." + } + }, + "x-nullable": true + }, + "LandmarksModel": { + "description": "A landmark recognized in the image.", + "type": "object", + "properties": { + "name": { + "description": "Name of the landmark.", + "type": "string", + "x-nullable": true + }, + "confidence": { + "format": "double", + "description": "Confidence level for the landmark recognition as a value ranging from 0 to 1.", + "type": "number", + "x-nullable": false + } + }, + "x-nullable": true + }, + "ImageDescription": { + "description": "A collection of content tags, along with a list of captions sorted by confidence level, and image metadata.", + "type": "object", + "properties": { + "description": { + "$ref": "#/definitions/ImageDescriptionDetails", + "description": "A collection of content tags, along with a list of captions sorted by confidence level, and image metadata.", + "x-ms-client-flatten": true + }, + "requestId": { + "description": "Id of the REST API request.", + "type": "string", + "x-nullable": true + }, + "metadata": { + "$ref": "#/definitions/ImageMetadata" + } + }, + "x-nullable": true + }, + "DetectResult": { + "description": "Result of a DetectImage call.", + "type": "object", + "properties": { + "objects": { + "description": "An array of detected objects.", + "type": "array", + "items": { + "$ref": "#/definitions/DetectedObject" + }, + "readOnly": true, + "x-nullable": true + }, + "requestId": { + "description": "Id of the REST API request.", + "type": "string", + "x-nullable": true + }, + "metadata": { + "$ref": "#/definitions/ImageMetadata" + } + }, + "x-nullable": true + }, + "ListModelsResult": { + "description": "Result of the List Domain Models operation.", + "type": "object", + "properties": { + "models": { + "description": "An array of supported models.", + "type": "array", + "items": { + "$ref": "#/definitions/ModelDescription" + }, + "readOnly": true, + "x-nullable": true + } + }, + "x-nullable": true + }, + "ModelDescription": { + "description": "An object describing supported model by name and categories.", + "type": "object", + "properties": { + "name": { + "description": "The name of the model.", + "type": "string", + "x-nullable": true + }, + "categories": { + "description": "Categories of the model.", + "type": "array", + "items": { + "type": "string", + "x-nullable": true + }, + "x-nullable": true + } + }, + "x-nullable": true + }, + "DomainModelResults": { + "description": "Result of image analysis using a specific domain model including additional metadata.", + "type": "object", + "properties": { + "result": { + "description": "Model-specific response.", + "type": "object", + "x-ms-client-flatten": true + }, + "requestId": { + "description": "Id of the REST API request.", + "type": "string", + "x-nullable": true + }, + "metadata": { + "$ref": "#/definitions/ImageMetadata" + } + }, + "x-nullable": true + }, + "OcrResult": { + "type": "object", + "properties": { + "language": { + "description": "The BCP-47 language code of the text in the image.", + "type": "string", + "x-nullable": true + }, + "textAngle": { + "format": "double", + "description": "The angle, in radians, of the detected text with respect to the closest horizontal or vertical direction. After rotating the input image clockwise by this angle, the recognized text lines become horizontal or vertical. In combination with the orientation property it can be used to overlay recognition results correctly on the original image, by rotating either the original image or recognition results by a suitable angle around the center of the original image. If the angle cannot be confidently detected, this property is not present. If the image contains text at different angles, only part of the text will be recognized correctly.", + "type": "number", + "x-nullable": false + }, + "orientation": { + "description": "Orientation of the text recognized in the image, if requested. The value (up, down, left, or right) refers to the direction that the top of the recognized text is facing, after the image has been rotated around its center according to the detected text angle (see textAngle property).\r\nIf detection of the orientation was not requested, or no text is detected, the value is 'NotDetected'.", + "type": "string", + "x-nullable": true + }, + "regions": { + "description": "An array of objects, where each object represents a region of recognized text.", + "type": "array", + "items": { + "$ref": "#/definitions/OcrRegion" + }, + "x-nullable": true + } + }, + "x-nullable": true + }, + "OcrRegion": { + "description": "A region consists of multiple lines (e.g. a column of text in a multi-column document).", + "type": "object", + "properties": { + "boundingBox": { + "description": "Bounding box of a recognized region. The four integers represent the x-coordinate of the left edge, the y-coordinate of the top edge, width, and height of the bounding box, in the coordinate system of the input image, after it has been rotated around its center according to the detected text angle (see textAngle property), with the origin at the top-left corner, and the y-axis pointing down.", + "type": "string", + "x-nullable": true + }, + "lines": { + "description": "An array of recognized lines of text.", + "type": "array", + "items": { + "$ref": "#/definitions/OcrLine" + }, + "x-nullable": true + } + }, + "x-nullable": true + }, + "OcrLine": { + "description": "An object describing a single recognized line of text.", + "type": "object", + "properties": { + "boundingBox": { + "description": "Bounding box of a recognized line. The four integers represent the x-coordinate of the left edge, the y-coordinate of the top edge, width, and height of the bounding box, in the coordinate system of the input image, after it has been rotated around its center according to the detected text angle (see textAngle property), with the origin at the top-left corner, and the y-axis pointing down.", + "type": "string", + "x-nullable": true + }, + "words": { + "description": "An array of objects, where each object represents a recognized word.", + "type": "array", + "items": { + "$ref": "#/definitions/OcrWord" + }, + "x-nullable": true + } + }, + "x-nullable": true + }, + "OcrWord": { + "description": "Information on a recognized word.", + "type": "object", + "properties": { + "boundingBox": { + "description": "Bounding box of a recognized word. The four integers represent the x-coordinate of the left edge, the y-coordinate of the top edge, width, and height of the bounding box, in the coordinate system of the input image, after it has been rotated around its center according to the detected text angle (see textAngle property), with the origin at the top-left corner, and the y-axis pointing down.", + "type": "string", + "x-nullable": true + }, + "text": { + "description": "String value of a recognized word.", + "type": "string", + "x-nullable": true + } + }, + "x-nullable": true + }, + "TagResult": { + "description": "The results of a image tag operation, including any tags and image metadata.", + "type": "object", + "properties": { + "tags": { + "description": "A list of tags with confidence level.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageTag" + }, + "x-nullable": true + }, + "requestId": { + "description": "Id of the REST API request.", + "type": "string", + "x-nullable": true + }, + "metadata": { + "$ref": "#/definitions/ImageMetadata" + } + }, + "x-nullable": true + }, + "AreaOfInterestResult": { + "description": "Result of AreaOfInterest operation.", + "type": "object", + "properties": { + "areaOfInterest": { + "$ref": "#/definitions/BoundingRect", + "description": "A bounding box for an area of interest inside an image.", + "readOnly": true + }, + "requestId": { + "description": "Id of the REST API request.", + "type": "string", + "x-nullable": true + }, + "metadata": { + "$ref": "#/definitions/ImageMetadata" + } + }, + "x-nullable": true + }, + "ImageUrl": { + "required": [ + "url" + ], + "type": "object", + "properties": { + "url": { + "description": "Publicly reachable URL of an image.", + "type": "string" + } + } + }, + "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" + ], + "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" + } + } + }, + "LandmarkResults": { + "description": "Result of domain-specific classifications for the domain of landmarks.", + "type": "object", + "properties": { + "landmarks": { + "description": "List of landmarks recognized in the image.", + "type": "array", + "items": { + "$ref": "#/definitions/LandmarksModel" + }, + "x-nullable": true + }, + "requestId": { + "description": "Id of the REST API request.", + "type": "string", + "x-nullable": true + }, + "metadata": { + "$ref": "#/definitions/ImageMetadata" + } + }, + "x-nullable": true + }, + "CelebrityResults": { + "description": "Result of domain-specific classifications for the domain of celebrities.", + "type": "object", + "properties": { + "celebrities": { + "description": "List of celebrities recognized in the image.", + "type": "array", + "items": { + "$ref": "#/definitions/CelebritiesModel" + }, + "x-nullable": true + }, + "requestId": { + "description": "Id of the REST API request.", + "type": "string", + "x-nullable": true + }, + "metadata": { + "$ref": "#/definitions/ImageMetadata" + } + }, + "x-nullable": true + } + }, + "parameters": { + "Endpoint": { + "name": "Endpoint", + "in": "path", + "description": "Supported Cognitive Services endpoints.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client", + "x-ms-skip-url-encoding": true + }, + "ImageStream": { + "name": "Image", + "in": "body", + "description": "An image stream.", + "required": true, + "schema": { + "format": "file", + "type": "object" + }, + "x-ms-parameter-location": "method" + }, + "ImageUrl": { + "name": "ImageUrl", + "in": "body", + "description": "A JSON document with a URL pointing to the image that is to be analyzed.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageUrl" + }, + "x-ms-parameter-location": "method", + "x-ms-client-flatten": true + }, + "ServiceLanguage": { + "name": "language", + "in": "query", + "description": "The desired language for output generation. If this parameter is not specified, the default value is "en".Supported languages:en - English, Default. es - Spanish, ja - Japanese, pt - Portuguese, zh - Simplified Chinese.", + "required": false, + "type": "string", + "default": "en", + "enum": [ + "en", + "es", + "ja", + "pt", + "zh" + ], + "x-ms-parameter-location": "method", + "x-nullable": false + }, + "DescriptionExclude": { + "name": "descriptionExclude", + "in": "query", + "description": "Turn off specified domain models when generating the description.", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "Celebrities", + "Landmarks" + ], + "x-nullable": false, + "x-ms-enum": { + "name": "DescriptionExclude", + "modelAsString": false + } + }, + "collectionFormat": "csv", + "x-nullable": true, + "x-ms-parameter-location": "method" + }, + "OcrLanguage": { + "name": "language", + "in": "query", + "description": "The BCP-47 language code of the text to be detected in the image. The default value is 'unk'.", + "required": false, + "type": "string", + "default": "unk", + "enum": [ + "unk", + "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-parameter-location": "method", + "x-nullable": false, + "x-ms-enum": { + "name": "OcrLanguages", + "modelAsString": false + } + }, + "VisualFeatures": { + "name": "visualFeatures", + "in": "query", + "description": "A string indicating what visual feature types to return. Multiple values should be comma-separated. Valid visual feature types include: Categories - categorizes image content according to a taxonomy defined in documentation. Tags - tags the image with a detailed list of words related to the image content. Description - describes the image content with a complete English sentence. Faces - detects if faces are present. If present, generate coordinates, gender and age. ImageType - detects if image is clipart or a line drawing. Color - determines the accent color, dominant color, and whether an image is black&white. Adult - detects if the image is pornographic in nature (depicts nudity or a sex act), or is gory (depicts extreme violence or blood). Sexually suggestive content (aka racy content) is also detected. Objects - detects various objects within an image, including the approximate location. The Objects argument is only available in English. Brands - detects various brands within an image, including the approximate location. The Brands argument is only available in English.", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "ImageType", + "Faces", + "Adult", + "Categories", + "Color", + "Tags", + "Description", + "Objects", + "Brands" + ], + "x-nullable": false, + "x-ms-enum": { + "name": "VisualFeatureTypes", + "modelAsString": false + } + }, + "collectionFormat": "csv", + "x-ms-parameter-location": "method" + }, + "DetectOrientation": { + "name": "detectOrientation", + "in": "query", + "description": "Whether detect the text orientation in the image. With detectOrientation=true the OCR service tries to detect the image orientation and correct it before further processing (e.g. if it's upside-down).", + "required": true, + "type": "boolean", + "default": true, + "x-ms-parameter-location": "method" + } + }, + "x-ms-paths": { + "/analyze?overload=stream": { + "post": { + "description": "This operation extracts a rich set of visual features based on the image content.\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL. Within your request, there is an optional parameter to allow you to choose which features to return. By default, image categories are returned in the response.\r\nA successful response will be returned in JSON. If the request failed, the response will contain an error code and a message to help understand what went wrong.", + "operationId": "AnalyzeImageInStream", + "consumes": [ + "application/octet-stream", + "multipart/form-data" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/VisualFeatures" + }, + { + "name": "details", + "in": "query", + "description": "A string indicating which domain-specific details to return. Multiple values should be comma-separated. Valid visual feature types include: Celebrities - identifies celebrities if detected in the image, Landmarks - identifies notable landmarks in the image.", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "Celebrities", + "Landmarks" + ], + "x-nullable": false, + "x-ms-enum": { + "name": "Details", + "modelAsString": false + } + }, + "collectionFormat": "csv", + "x-nullable": true + }, + { + "$ref": "#/parameters/ServiceLanguage" + }, + { + "$ref": "#/parameters/DescriptionExclude" + }, + { + "$ref": "#/parameters/ImageStream" + } + ], + "responses": { + "200": { + "description": "The response include the extracted features in JSON format. Here is the definitions for enumeration types:\r\n ClipartType\r\n Non - clipart = 0, ambiguous = 1, normal - clipart = 2, good - clipart = 3. LineDrawingTypeNon - LineDrawing = 0, LineDrawing = 1.", + "schema": { + "$ref": "#/definitions/ImageAnalysis" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful AnalyzeImage request": { + "$ref": "./examples/SuccessfulAnalyzeImageWithStream.json" + } + } + } + }, + "/areaOfInterest?overload=stream": { + "post": { + "description": "This operation returns a bounding box around the most important area of the image.\r\nA successful response will be returned in JSON. If the request failed, the response contains an error code and a message to help determine what went wrong.\r\nUpon failure, the error code and an error message are returned. The error code could be one of InvalidImageUrl, InvalidImageFormat, InvalidImageSize, NotSupportedImage, FailedToProcess, Timeout, or InternalServerError.", + "operationId": "GetAreaOfInterestInStream", + "consumes": [ + "application/octet-stream", + "multipart/form-data" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ImageStream" + } + ], + "responses": { + "200": { + "description": "The response includes the extracted area of interest in JSON format.", + "schema": { + "$ref": "#/definitions/AreaOfInterestResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetAreaOfInterest request": { + "$ref": "./examples/SuccessfulGetAreaOfInterestWithStream.json" + } + } + } + }, + "/describe?overload=stream": { + "post": { + "description": "This operation generates a description of an image in human readable language with complete sentences. The description is based on a collection of content tags, which are also returned by the operation. More than one description can be generated for each image. Descriptions are ordered by their confidence score. Descriptions may include results from celebrity and landmark domain models, if applicable.\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL.\r\nA successful response will be returned in JSON. If the request failed, the response will contain an error code and a message to help understand what went wrong.", + "operationId": "DescribeImageInStream", + "consumes": [ + "application/octet-stream", + "multipart/form-data" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "maxCandidates", + "in": "query", + "description": "Maximum number of candidate descriptions to be returned. The default is 1.", + "required": false, + "type": "integer", + "format": "int32", + "default": 1, + "x-nullable": true + }, + { + "$ref": "#/parameters/ServiceLanguage" + }, + { + "$ref": "#/parameters/DescriptionExclude" + }, + { + "$ref": "#/parameters/ImageStream" + } + ], + "responses": { + "200": { + "description": "Image description object.", + "schema": { + "$ref": "#/definitions/ImageDescription" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful DescribeImage request": { + "$ref": "./examples/SuccessfulDescribeImageWithStream.json" + } + } + } + }, + "/detect?overload=stream": { + "post": { + "description": "Performs object detection on the specified image.\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL.\r\nA successful response will be returned in JSON. If the request failed, the response will contain an error code and a message to help understand what went wrong.", + "operationId": "DetectObjectsInStream", + "consumes": [ + "application/octet-stream", + "multipart/form-data" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ImageStream" + } + ], + "responses": { + "200": { + "description": "The response include the detected objects in JSON format.", + "schema": { + "$ref": "#/definitions/DetectResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful DetectObjects request": { + "$ref": "./examples/SuccessfulDetectObjectsWithStream.json" + } + } + } + }, + "/generateThumbnail?overload=stream": { + "post": { + "description": "This operation generates a thumbnail image with the user-specified width and height. By default, the service analyzes the image, identifies the region of interest (ROI), and generates smart cropping coordinates based on the ROI. Smart cropping helps when you specify an aspect ratio that differs from that of the input image.\r\nA successful response contains the thumbnail image binary. If the request failed, the response contains an error code and a message to help determine what went wrong.\r\nUpon failure, the error code and an error message are returned. The error code could be one of InvalidImageUrl, InvalidImageFormat, InvalidImageSize, InvalidThumbnailSize, NotSupportedImage, FailedToProcess, Timeout, or InternalServerError.", + "operationId": "GenerateThumbnailInStream", + "consumes": [ + "application/octet-stream", + "multipart/form-data" + ], + "produces": [ + "application/octet-stream" + ], + "parameters": [ + { + "name": "width", + "in": "query", + "description": "Width of the thumbnail, in pixels. It must be between 1 and 1024. Recommended minimum of 50.", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 1024, + "minimum": 1, + "x-nullable": false + }, + { + "name": "height", + "in": "query", + "description": "Height of the thumbnail, in pixels. It must be between 1 and 1024. Recommended minimum of 50.", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 1024, + "minimum": 1, + "x-nullable": false + }, + { + "name": "smartCropping", + "in": "query", + "description": "Boolean flag for enabling smart cropping.", + "required": false, + "type": "boolean", + "default": false, + "x-nullable": true + }, + { + "$ref": "#/parameters/ImageStream" + } + ], + "responses": { + "200": { + "description": "The generated thumbnail in binary format.", + "schema": { + "type": "file" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful GenerateThumbnail request": { + "$ref": "./examples/SuccessfulGenerateThumbnailWithStream.json" + } + } + } + }, + "/models/{model}/analyze?overload=stream": { + "post": { + "description": "This operation recognizes content within an image by applying a domain-specific model. The list of domain-specific models that are supported by the Computer Vision API can be retrieved using the /models GET request. Currently, the API provides following domain-specific models: celebrities, landmarks.\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL.\r\nA successful response will be returned in JSON.\r\nIf the request failed, the response will contain an error code and a message to help understand what went wrong.", + "operationId": "AnalyzeImageByDomainInStream", + "consumes": [ + "application/octet-stream", + "multipart/form-data" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "model", + "in": "path", + "description": "The domain-specific content to recognize.", + "required": true, + "type": "string", + "x-nullable": true + }, + { + "$ref": "#/parameters/ServiceLanguage" + }, + { + "$ref": "#/parameters/ImageStream" + } + ], + "responses": { + "200": { + "description": "Analysis result based on the domain model.", + "schema": { + "$ref": "#/definitions/DomainModelResults" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful AnalyzeImageByDomain request": { + "$ref": "./examples/SuccessfulAnalyzeImageByDomainWithStream.json" + } + } + } + }, + "/ocr?overload=stream": { + "post": { + "description": "Optical Character Recognition (OCR) detects text in an image and extracts the recognized characters into a machine-usable character stream.\r\nUpon success, the OCR results will be returned.\r\nUpon failure, the error code together with an error message will be returned. The error code can be one of InvalidImageUrl, InvalidImageFormat, InvalidImageSize, NotSupportedImage, NotSupportedLanguage, or InternalServerError.", + "operationId": "RecognizePrintedTextInStream", + "consumes": [ + "application/octet-stream", + "multipart/form-data" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/DetectOrientation" + }, + { + "$ref": "#/parameters/OcrLanguage" + }, + { + "$ref": "#/parameters/ImageStream" + } + ], + "responses": { + "200": { + "description": "The OCR results in the hierarchy of region/line/word. The results include text, bounding box for regions, lines and words. The angle, in radians, of the detected text with respect to the closest horizontal or vertical direction. After rotating the input image clockwise by this angle, the recognized text lines become horizontal or vertical. In combination with the orientation property it can be used to overlay recognition results correctly on the original image, by rotating either the original image or recognition results by a suitable angle around the center of the original image. If the angle cannot be confidently detected, this property is not present. If the image contains text at different angles, only part of the text will be recognized correctly.", + "schema": { + "$ref": "#/definitions/OcrResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful RecognizePrintedText request": { + "$ref": "./examples/SuccessfulRecognizePrintedTextWithStream.json" + } + } + } + }, + "/tag?overload=stream": { + "post": { + "description": "This operation generates a list of words, or tags, that are relevant to the content of the supplied image. The Computer Vision API can return tags based on objects, living beings, scenery or actions found in images. Unlike categories, tags are not organized according to a hierarchical classification system, but correspond to image content. Tags may contain hints to avoid ambiguity or provide context, for example the tag \"ascomycete\" may be accompanied by the hint \"fungus\".\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL.\r\nA successful response will be returned in JSON. If the request failed, the response will contain an error code and a message to help understand what went wrong.", + "operationId": "TagImageInStream", + "consumes": [ + "application/octet-stream", + "multipart/form-data" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ServiceLanguage" + }, + { + "$ref": "#/parameters/ImageStream" + } + ], + "responses": { + "200": { + "description": "Image tags object.", + "schema": { + "$ref": "#/definitions/TagResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful TagImage request": { + "$ref": "./examples/SuccessfulTagImageWithStream.json" + } + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/Ocr.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/Ocr.json new file mode 100644 index 000000000000..2017f16c1671 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/Ocr.json @@ -0,0 +1,452 @@ +{ + "swagger": "2.0", + "info": { + "version": "3.0", + "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.0", + "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" + } + ], + "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" + } + ], + "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" + }, + "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 + } + }, + "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" + ], + "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 multilanguage 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 + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulAnalyzeImageByDomainWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulAnalyzeImageByDomainWithStream.json new file mode 100644 index 000000000000..a3cd00555cc6 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulAnalyzeImageByDomainWithStream.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "model": "Celebrities", + "Image": "{binary}" + }, + "responses": { + "200": { + "body": { + "requestId": "f0027b4b-dc0d-4082-9228-1545ed246b03", + "metadata": { + "width": 1500, + "height": 1000, + "format": "Jpeg" + }, + "result": { + "celebrities": [ + { + "name": "Satya Nadella", + "faceRectangle": { + "left": 597, + "top": 162, + "width": 248, + "height": 248 + }, + "confidence": 0.999028444 + } + ] + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulAnalyzeImageByDomainWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulAnalyzeImageByDomainWithUrl.json new file mode 100644 index 000000000000..92ead72b5f8f --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulAnalyzeImageByDomainWithUrl.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "model": "Celebrities", + "ImageUrl": { + "url": "{url}" + } + }, + "responses": { + "200": { + "body": { + "requestId": "f0027b4b-dc0d-4082-9228-1545ed246b03", + "metadata": { + "width": 1500, + "height": 1000, + "format": "Jpeg" + }, + "result": { + "celebrities": [ + { + "name": "Satya Nadella", + "faceRectangle": { + "left": 597, + "top": 162, + "width": 248, + "height": 248 + }, + "confidence": 0.999028444 + } + ] + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulAnalyzeImageWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulAnalyzeImageWithStream.json new file mode 100644 index 000000000000..ba86791a7e36 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulAnalyzeImageWithStream.json @@ -0,0 +1,176 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "visualFeatures": [ + "Categories", + "Adult", + "Tags", + "Description", + "Faces", + "Color", + "ImageType", + "Objects", + "Brands" + ], + "details": [ + "Celebrities", + "Landmarks" + ], + "language": "en", + "Image": "{binary}" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "categories": [ + { + "name": "abstract_", + "score": 0.00390625 + }, + { + "name": "people_", + "score": 0.83984375, + "detail": { + "celebrities": [ + { + "name": "Satya Nadella", + "faceRectangle": { + "left": 597, + "top": 162, + "width": 248, + "height": 248 + }, + "confidence": 0.999028444 + } + ], + "landmarks": [ + { + "name": "Forbidden City", + "confidence": 0.9978346 + } + ] + } + } + ], + "adult": { + "isAdultContent": false, + "isRacyContent": false, + "isGoryContent": false, + "adultScore": 0.0934349000453949, + "racyScore": 0.068613491952419281, + "goreScore": 0.012872257380997575 + }, + "tags": [ + { + "name": "person", + "confidence": 0.98979085683822632 + }, + { + "name": "man", + "confidence": 0.94493889808654785 + }, + { + "name": "outdoor", + "confidence": 0.938492476940155 + }, + { + "name": "window", + "confidence": 0.89513939619064331 + }, + { + "name": "pangolin", + "confidence": 0.7250059783791661, + "hint": "mammal" + } + ], + "description": { + "tags": [ + "person", + "man", + "outdoor", + "window", + "glasses" + ], + "captions": [ + { + "text": "Satya Nadella sitting on a bench", + "confidence": 0.48293603002174407 + } + ] + }, + "requestId": "0dbec5ad-a3d3-4f7e-96b4-dfd57efe967d", + "metadata": { + "width": 1500, + "height": 1000, + "format": "Jpeg" + }, + "faces": [ + { + "age": 44, + "gender": "Male", + "faceRectangle": { + "left": 593, + "top": 160, + "width": 250, + "height": 250 + } + } + ], + "color": { + "dominantColorForeground": "Brown", + "dominantColorBackground": "Brown", + "dominantColors": [ + "Brown", + "Black" + ], + "accentColor": "873B59", + "isBWImg": false + }, + "imageType": { + "clipArtType": 0, + "lineDrawingType": 0 + }, + "objects": [ + { + "rectangle": { + "x": 0, + "y": 0, + "w": 50, + "h": 50 + }, + "object": "tree", + "confidence": 0.9, + "parent": { + "object": "plant", + "confidence": 0.95 + } + } + ], + "brands": [ + { + "name": "Pepsi", + "confidence": 0.857, + "rectangle": { + "x": 489, + "y": 79, + "w": 161, + "h": 177 + } + }, + { + "name": "Coca-Cola", + "confidence": 0.893, + "rectangle": { + "x": 216, + "y": 55, + "w": 171, + "h": 372 + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulAnalyzeImageWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulAnalyzeImageWithUrl.json new file mode 100644 index 000000000000..be78226e0e16 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulAnalyzeImageWithUrl.json @@ -0,0 +1,184 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "visualFeatures": [ + "Categories", + "Adult", + "Tags", + "Description", + "Faces", + "Color", + "ImageType", + "Objects", + "Brands" + ], + "details": [ + "Celebrities", + "Landmarks" + ], + "language": "en", + "ImageUrl": { + "url": "{url}" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "categories": [ + { + "name": "abstract_", + "score": 0.00390625 + }, + { + "name": "people_", + "score": 0.83984375, + "detail": { + "celebrities": [ + { + "name": "Satya Nadella", + "faceRectangle": { + "left": 597, + "top": 162, + "width": 248, + "height": 248 + }, + "confidence": 0.999028444 + } + ] + } + }, + { + "name": "building_", + "score": 0.984375, + "detail": { + "landmarks": [ + { + "name": "Forbidden City", + "confidence": 0.98290169239044189 + } + ] + } + } + ], + "adult": { + "isAdultContent": false, + "isRacyContent": false, + "isGoryContent": false, + "adultScore": 0.0934349000453949, + "racyScore": 0.068613491952419281, + "goreScore": 0.012872257380997575 + }, + "tags": [ + { + "name": "person", + "confidence": 0.98979085683822632 + }, + { + "name": "man", + "confidence": 0.94493889808654785 + }, + { + "name": "outdoor", + "confidence": 0.938492476940155 + }, + { + "name": "window", + "confidence": 0.89513939619064331 + }, + { + "name": "pangolin", + "confidence": 0.7250059783791661, + "hint": "mammal" + } + ], + "description": { + "tags": [ + "person", + "man", + "outdoor", + "window", + "glasses" + ], + "captions": [ + { + "text": "Satya Nadella sitting on a bench", + "confidence": 0.48293603002174407 + } + ] + }, + "requestId": "0dbec5ad-a3d3-4f7e-96b4-dfd57efe967d", + "metadata": { + "width": 1500, + "height": 1000, + "format": "Jpeg" + }, + "faces": [ + { + "age": 44, + "gender": "Male", + "faceRectangle": { + "left": 593, + "top": 160, + "width": 250, + "height": 250 + } + } + ], + "color": { + "dominantColorForeground": "Brown", + "dominantColorBackground": "Brown", + "dominantColors": [ + "Brown", + "Black" + ], + "accentColor": "873B59", + "isBWImg": false + }, + "imageType": { + "clipArtType": 0, + "lineDrawingType": 0 + }, + "objects": [ + { + "rectangle": { + "x": 0, + "y": 0, + "w": 50, + "h": 50 + }, + "object": "tree", + "confidence": 0.9, + "parent": { + "object": "plant", + "confidence": 0.95 + } + } + ], + "brands": [ + { + "name": "Pepsi", + "confidence": 0.857, + "rectangle": { + "x": 489, + "y": 79, + "w": 161, + "h": 177 + } + }, + { + "name": "Coca-Cola", + "confidence": 0.893, + "rectangle": { + "x": 216, + "y": 55, + "w": 171, + "h": 372 + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulDescribeImageWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulDescribeImageWithStream.json new file mode 100644 index 000000000000..071248140600 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulDescribeImageWithStream.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "maxCandidates": 1, + "Image": "{binary}" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "description": { + "tags": [ + "person", + "man", + "outdoor", + "window", + "glasses" + ], + "captions": [ + { + "text": "Satya Nadella sitting on a bench", + "confidence": 0.48293603002174407 + }, + { + "text": "Satya Nadella is sitting on a bench", + "confidence": 0.40037006815422832 + }, + { + "text": "Satya Nadella sitting in front of a building", + "confidence": 0.38035155997373377 + } + ] + }, + "requestId": "ed2de1c6-fb55-4686-b0da-4da6e05d283f", + "metadata": { + "width": 1500, + "height": 1000, + "format": "Jpeg" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulDescribeImageWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulDescribeImageWithUrl.json new file mode 100644 index 000000000000..087ac0515231 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulDescribeImageWithUrl.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "maxCandidates": 1, + "ImageUrl": { + "url": "{url}" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "description": { + "tags": [ + "person", + "man", + "outdoor", + "window", + "glasses" + ], + "captions": [ + { + "text": "Satya Nadella sitting on a bench", + "confidence": 0.48293603002174407 + }, + { + "text": "Satya Nadella is sitting on a bench", + "confidence": 0.40037006815422832 + }, + { + "text": "Satya Nadella sitting in front of a building", + "confidence": 0.38035155997373377 + } + ] + }, + "requestId": "ed2de1c6-fb55-4686-b0da-4da6e05d283f", + "metadata": { + "width": 1500, + "height": 1000, + "format": "Jpeg" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulDetectObjectsWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulDetectObjectsWithStream.json new file mode 100644 index 000000000000..8f4ad7fd73aa --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulDetectObjectsWithStream.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "Image": "{binary}" + }, + "responses": { + "200": { + "body": { + "objects": [ + { + "rectangle": { + "x": 0, + "y": 0, + "w": 50, + "h": 50 + }, + "object": "tree", + "confidence": 0.9, + "parent": { + "object": "plant", + "confidence": 0.95 + } + } + ], + "requestId": "1ad0e45e-b7b4-4be3-8042-53be96103337", + "metadata": { + "width": 100, + "height": 100, + "format": "Jpeg" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulDetectObjectsWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulDetectObjectsWithUrl.json new file mode 100644 index 000000000000..7ea387eb41be --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulDetectObjectsWithUrl.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "ImageUrl": { + "url": "{url}" + } + }, + "responses": { + "200": { + "body": { + "objects": [ + { + "rectangle": { + "x": 0, + "y": 0, + "w": 50, + "h": 50 + }, + "object": "tree", + "confidence": 0.9, + "parent": { + "object": "plant", + "confidence": 0.95 + } + } + ], + "requestId": "1ad0e45e-b7b4-4be3-8042-53be96103337", + "metadata": { + "width": 100, + "height": 100, + "format": "Jpeg" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulGenerateThumbnailWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulGenerateThumbnailWithStream.json new file mode 100644 index 000000000000..22d52fbe7644 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulGenerateThumbnailWithStream.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "width": "500", + "height": "500", + "smartCropping": true, + "Image": "{binary}" + }, + "responses": { + "200": { + "headers": {}, + "body": "{binary}" + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulGenerateThumbnailWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulGenerateThumbnailWithUrl.json new file mode 100644 index 000000000000..28744179ecb8 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulGenerateThumbnailWithUrl.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "width": "500", + "height": "500", + "smartCropping": true, + "ImageUrl": { + "url": "{url}" + } + }, + "responses": { + "200": { + "headers": {}, + "body": "{Binary}" + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulGetAreaOfInterestWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulGetAreaOfInterestWithStream.json new file mode 100644 index 000000000000..ae32a21a551e --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulGetAreaOfInterestWithStream.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "Image": "{binary}" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "areaOfInterest": { + "h": 951, + "w": 950, + "x": 160, + "y": 0 + }, + "requestId": "ed2de1c6-fb55-4686-b0da-4da6e05d283f", + "metadata": { + "format": "Jpeg", + "height": 951, + "width": 1378 + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulGetAreaOfInterestWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulGetAreaOfInterestWithUrl.json new file mode 100644 index 000000000000..7d6d08208836 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulGetAreaOfInterestWithUrl.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "ImageUrl": { + "url": "{url}" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "areaOfInterest": { + "h": 951, + "w": 950, + "x": 160, + "y": 0 + }, + "requestId": "ed2de1c6-fb55-4686-b0da-4da6e05d283f", + "metadata": { + "format": "Jpeg", + "height": 951, + "width": 1378 + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulGetReadResult.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulGetReadResult.json new file mode 100644 index 000000000000..aaaa9df00c50 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulGetReadResult.json @@ -0,0 +1,369 @@ +{ + "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.0", + "readResults": [ + { + "page": 1, + "language": "en", + "angle": 49.59, + "width": 600, + "height": 400, + "unit": "pixel", + "lines": [ + { + "boundingBox": [ + 202, + 618, + 2047, + 643, + 2046, + 840, + 200, + 813 + ], + "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 + ], + "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 + ], + "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 + ], + "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/stable/v3.0/examples/SuccessfulListModels.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulListModels.json new file mode 100644 index 000000000000..54e72d376431 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulListModels.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "models": [ + { + "name": "celebrities", + "categories": [ + "people_" + ] + }, + { + "name": "landmarks", + "categories": [ + "building_" + ] + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulReadWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulReadWithStream.json new file mode 100644 index 000000000000..a901d16abba0 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulReadWithStream.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "language": "en", + "Image": "{binary}" + }, + "responses": { + "202": { + "header": { + "location": "https://{domain}/vision/v3.0/read/e56ffa6e-1ee4-4042-bc07-993db706c95f" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulReadWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulReadWithUrl.json new file mode 100644 index 000000000000..642e44b140c0 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulReadWithUrl.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "language": "en", + "ImageUrl": { + "url": "{url}" + } + }, + "responses": { + "202": { + "header": { + "Operation-Location": "https://{domain}/vision/v3.0/read/e56ffa6e-1ee4-4042-bc07-993db706c95f" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulRecognizePrintedTextWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulRecognizePrintedTextWithStream.json new file mode 100644 index 000000000000..201d0fe48254 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulRecognizePrintedTextWithStream.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "detectOrientation": "true", + "language": "en", + "Image": "{binary}" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "language": "en", + "textAngle": -2.0000000000000338, + "orientation": "Up", + "regions": [ + { + "boundingBox": "462,379,497,258", + "lines": [ + { + "boundingBox": "462,379,497,74", + "words": [ + { + "boundingBox": "462,379,41,73", + "text": "A" + }, + { + "boundingBox": "523,379,153,73", + "text": "GOAL" + }, + { + "boundingBox": "694,379,265,74", + "text": "WITHOUT" + } + ] + }, + { + "boundingBox": "565,471,289,74", + "words": [ + { + "boundingBox": "565,471,41,73", + "text": "A" + }, + { + "boundingBox": "626,471,150,73", + "text": "PLAN" + }, + { + "boundingBox": "801,472,53,73", + "text": "IS" + } + ] + }, + { + "boundingBox": "519,563,375,74", + "words": [ + { + "boundingBox": "519,563,149,74", + "text": "JUST" + }, + { + "boundingBox": "683,564,41,72", + "text": "A" + }, + { + "boundingBox": "741,564,153,73", + "text": "WISH" + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulRecognizePrintedTextWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulRecognizePrintedTextWithUrl.json new file mode 100644 index 000000000000..a0b8bc84e37b --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulRecognizePrintedTextWithUrl.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "detectOrientation": "true", + "language": "en", + "ImageUrl": { + "url": "{url}" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "language": "en", + "textAngle": -2.0000000000000338, + "orientation": "Up", + "regions": [ + { + "boundingBox": "462,379,497,258", + "lines": [ + { + "boundingBox": "462,379,497,74", + "words": [ + { + "boundingBox": "462,379,41,73", + "text": "A" + }, + { + "boundingBox": "523,379,153,73", + "text": "GOAL" + }, + { + "boundingBox": "694,379,265,74", + "text": "WITHOUT" + } + ] + }, + { + "boundingBox": "565,471,289,74", + "words": [ + { + "boundingBox": "565,471,41,73", + "text": "A" + }, + { + "boundingBox": "626,471,150,73", + "text": "PLAN" + }, + { + "boundingBox": "801,472,53,73", + "text": "IS" + } + ] + }, + { + "boundingBox": "519,563,375,74", + "words": [ + { + "boundingBox": "519,563,149,74", + "text": "JUST" + }, + { + "boundingBox": "683,564,41,72", + "text": "A" + }, + { + "boundingBox": "741,564,153,73", + "text": "WISH" + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulTagImageWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulTagImageWithStream.json new file mode 100644 index 000000000000..813a645d0086 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulTagImageWithStream.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "Image": "{binary}" + }, + "responses": { + "200": { + "body": { + "tags": [ + { + "name": "grass", + "confidence": 0.9999997615814209 + }, + { + "name": "outdoor", + "confidence": 0.99997067451477051 + }, + { + "name": "sky", + "confidence": 0.99928975105285645 + }, + { + "name": "building", + "confidence": 0.99646323919296265 + }, + { + "name": "house", + "confidence": 0.99279803037643433 + }, + { + "name": "lawn", + "confidence": 0.82268029451370239 + }, + { + "name": "green", + "confidence": 0.64122253656387329 + }, + { + "name": "residential", + "confidence": 0.31403225660324097 + } + ], + "requestId": "1ad0e45e-b7b4-4be3-8042-53be96103337", + "metadata": { + "width": 400, + "height": 400, + "format": "Jpeg" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulTagImageWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulTagImageWithUrl.json new file mode 100644 index 000000000000..0dcf0304a33a --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.0/examples/SuccessfulTagImageWithUrl.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "ImageUrl": { + "url": "{url}" + } + }, + "responses": { + "200": { + "body": { + "tags": [ + { + "name": "grass", + "confidence": 0.9999997615814209 + }, + { + "name": "outdoor", + "confidence": 0.99997067451477051 + }, + { + "name": "sky", + "confidence": 0.99928975105285645 + }, + { + "name": "building", + "confidence": 0.99646323919296265 + }, + { + "name": "house", + "confidence": 0.99279803037643433 + }, + { + "name": "lawn", + "confidence": 0.82268029451370239 + }, + { + "name": "green", + "confidence": 0.64122253656387329 + }, + { + "name": "residential", + "confidence": 0.31403225660324097 + } + ], + "requestId": "1ad0e45e-b7b4-4be3-8042-53be96103337", + "metadata": { + "width": 400, + "height": 400, + "format": "Jpeg" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.go.md b/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.go.md index 279452db4ec0..33b14c7856fe 100644 --- a/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.go.md +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.go.md @@ -15,6 +15,7 @@ go: batch: - tag: release_1_0 - tag: release_3_0 + - tag: release_3_1 ``` ### Tag: release_1_0 and go @@ -34,3 +35,12 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'release_3_0' && $(go) +output-folder: $(go-sdk-folder)/services/cognitiveservices/v3.1/customvision/$(namespace) +``` diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.md b/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.md index 74cffe566389..1441a4a7fcad 100644 --- a/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.md +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.md @@ -4,11 +4,11 @@ Configuration for generating Custom Vision Prediction SDK. -The current release is `release_3_0`. +The current release is `release_3_1`. ``` yaml -tag: release_3_0 +tag: release_3_1 openapi-type: data-plane ``` # Releases @@ -28,6 +28,14 @@ input-file: stable/v3.0/Prediction.json add-credentials: true ``` +### Release 3.1 +These settings apply only when `--tag=release_3_1` is specified on the command line. + +``` yaml $(tag) == 'release_3_1' +input-file: stable/v3.1/Prediction.json +add-credentials: true +``` + # Validation ## Suppression diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.ruby.md b/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.ruby.md index 3adbf19106d6..4e7d49eafbb3 100644 --- a/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.ruby.md +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.ruby.md @@ -14,6 +14,7 @@ azure-arm: true batch: - tag: release_1_0 - tag: release_3_0 + - tag: release_3_1 ``` ### Tag: release_1_0 and ruby @@ -37,3 +38,14 @@ namespace: "Azure::CognitiveServices::CustomVision::Prediction::V3_0" output-folder: $(ruby-sdks-folder)/data/azure_cognitiveservices_customvisionprediction/lib title: "PredictionClient" ``` + +### Tag: release_3_1 and ruby + +These settings apply only when `--tag=release_3_1 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'release_1_0' && $(ruby) +namespace: "Azure::CognitiveServices::CustomVision::Prediction::V3_1" +output-folder: $(ruby-sdks-folder)/data/azure_cognitiveservices_customvisionprediction/lib +title: "PredictionClient" +``` \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.1/Prediction.json b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.1/Prediction.json new file mode 100644 index 000000000000..4f5dca22f52d --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.1/Prediction.json @@ -0,0 +1,922 @@ +{ + "swagger": "2.0", + "info": { + "version": "3.1", + "title": "Custom Vision Prediction Client" + }, + "host": "southcentralus.api.cognitive.microsoft.com", + "basePath": "/customvision/v3.1/prediction", + "schemes": [ + "https" + ], + "paths": { + "/{projectId}/classify/iterations/{publishedName}/image": { + "post": { + "tags": [ + "ImagePredictionApi" + ], + "summary": "Classify an image and saves the result.", + "operationId": "ClassifyImage", + "consumes": [ + "multipart/form-data", + "application/octet-stream" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "publishedName", + "in": "path", + "description": "Specifies the name of the model to evaluate against.", + "required": true, + "type": "string" + }, + { + "name": "application", + "in": "query", + "description": "Optional. Specifies the name of application using the endpoint.", + "required": false, + "type": "string", + "x-nullable": true + }, + { + "name": "imageData", + "in": "formData", + "description": "Binary image data. Supported formats are JPEG, GIF, PNG, and BMP. Supports images up to 4MB.", + "required": true, + "type": "file" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePrediction" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful ClassifyImage request": { + "$ref": "./examples/ClassifyImage.json" + } + } + } + }, + "/{projectId}/classify/iterations/{publishedName}/image/nostore": { + "post": { + "tags": [ + "ImagePredictionApi" + ], + "summary": "Classify an image without saving the result.", + "operationId": "ClassifyImageWithNoStore", + "consumes": [ + "multipart/form-data", + "application/octet-stream" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "publishedName", + "in": "path", + "description": "Specifies the name of the model to evaluate against.", + "required": true, + "type": "string" + }, + { + "name": "application", + "in": "query", + "description": "Optional. Specifies the name of application using the endpoint.", + "required": false, + "type": "string", + "x-nullable": true + }, + { + "name": "imageData", + "in": "formData", + "description": "Binary image data. Supported formats are JPEG, GIF, PNG, and BMP. Supports images up to 4MB.", + "required": true, + "type": "file" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePrediction" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful ClassifyImageWithNoStore request": { + "$ref": "./examples/ClassifyImageWithNoStore.json" + } + } + } + }, + "/{projectId}/classify/iterations/{publishedName}/url": { + "post": { + "tags": [ + "ImagePredictionApi" + ], + "summary": "Classify an image url and saves the result.", + "operationId": "ClassifyImageUrl", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "publishedName", + "in": "path", + "description": "Specifies the name of the model to evaluate against.", + "required": true, + "type": "string" + }, + { + "name": "imageUrl", + "in": "body", + "description": "An ImageUrl that contains the url of the image to be evaluated.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageUrl" + } + }, + { + "name": "application", + "in": "query", + "description": "Optional. Specifies the name of application using the endpoint.", + "required": false, + "type": "string", + "x-nullable": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePrediction" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful ClassifyImageUrl request": { + "$ref": "./examples/ClassifyImageUrl.json" + } + } + } + }, + "/{projectId}/classify/iterations/{publishedName}/url/nostore": { + "post": { + "tags": [ + "ImagePredictionApi" + ], + "summary": "Classify an image url without saving the result.", + "operationId": "ClassifyImageUrlWithNoStore", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "publishedName", + "in": "path", + "description": "Specifies the name of the model to evaluate against.", + "required": true, + "type": "string" + }, + { + "name": "imageUrl", + "in": "body", + "description": "An {Iris.Web.Api.Models.ImageUrl} that contains the url of the image to be evaluated.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageUrl" + } + }, + { + "name": "application", + "in": "query", + "description": "Optional. Specifies the name of application using the endpoint.", + "required": false, + "type": "string", + "x-nullable": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePrediction" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful ClassifyImageUrlWithNoStore request": { + "$ref": "./examples/ClassifyImageUrlWithNoStore.json" + } + } + } + }, + "/{projectId}/detect/iterations/{publishedName}/image": { + "post": { + "tags": [ + "ImagePredictionApi" + ], + "summary": "Detect objects in an image and saves the result.", + "operationId": "DetectImage", + "consumes": [ + "multipart/form-data", + "application/octet-stream" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "publishedName", + "in": "path", + "description": "Specifies the name of the model to evaluate against.", + "required": true, + "type": "string" + }, + { + "name": "application", + "in": "query", + "description": "Optional. Specifies the name of application using the endpoint.", + "required": false, + "type": "string", + "x-nullable": true + }, + { + "name": "imageData", + "in": "formData", + "description": "Binary image data. Supported formats are JPEG, GIF, PNG, and BMP. Supports images up to 4MB.", + "required": true, + "type": "file" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePrediction" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DetectImage request": { + "$ref": "./examples/DetectImage.json" + } + } + } + }, + "/{projectId}/detect/iterations/{publishedName}/image/nostore": { + "post": { + "tags": [ + "ImagePredictionApi" + ], + "summary": "Detect objects in an image without saving the result.", + "operationId": "DetectImageWithNoStore", + "consumes": [ + "multipart/form-data", + "application/octet-stream" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "publishedName", + "in": "path", + "description": "Specifies the name of the model to evaluate against.", + "required": true, + "type": "string" + }, + { + "name": "application", + "in": "query", + "description": "Optional. Specifies the name of application using the endpoint.", + "required": false, + "type": "string", + "x-nullable": true + }, + { + "name": "imageData", + "in": "formData", + "description": "Binary image data. Supported formats are JPEG, GIF, PNG, and BMP. Supports images up to 4MB.", + "required": true, + "type": "file" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePrediction" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DetectImageWithNoStore request": { + "$ref": "./examples/DetectImageWithNoStore.json" + } + } + } + }, + "/{projectId}/detect/iterations/{publishedName}/url": { + "post": { + "tags": [ + "ImagePredictionApi" + ], + "summary": "Detect objects in an image url and saves the result.", + "operationId": "DetectImageUrl", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "publishedName", + "in": "path", + "description": "Specifies the name of the model to evaluate against.", + "required": true, + "type": "string" + }, + { + "name": "imageUrl", + "in": "body", + "description": "An ImageUrl that contains the url of the image to be evaluated.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageUrl" + } + }, + { + "name": "application", + "in": "query", + "description": "Optional. Specifies the name of application using the endpoint.", + "required": false, + "type": "string", + "x-nullable": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePrediction" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DetectImageUrl request": { + "$ref": "./examples/DetectImageUrl.json" + } + } + } + }, + "/{projectId}/detect/iterations/{publishedName}/url/nostore": { + "post": { + "tags": [ + "ImagePredictionApi" + ], + "summary": "Detect objects in an image url without saving the result.", + "operationId": "DetectImageUrlWithNoStore", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "publishedName", + "in": "path", + "description": "Specifies the name of the model to evaluate against.", + "required": true, + "type": "string" + }, + { + "name": "imageUrl", + "in": "body", + "description": "An {Iris.Web.Api.Models.ImageUrl} that contains the url of the image to be evaluated.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageUrl" + } + }, + { + "name": "application", + "in": "query", + "description": "Optional. Specifies the name of application using the endpoint.", + "required": false, + "type": "string", + "x-nullable": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePrediction" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DetectImageUrlWithNoStore request": { + "$ref": "./examples/DetectImageUrlWithNoStore.json" + } + } + } + } + }, + "definitions": { + "BoundingBox": { + "description": "Bounding box that defines a region of an image.", + "required": [ + "left", + "top", + "width", + "height" + ], + "type": "object", + "properties": { + "left": { + "format": "float", + "description": "Coordinate of the left boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "top": { + "format": "float", + "description": "Coordinate of the top boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "width": { + "format": "float", + "description": "Width.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "height": { + "format": "float", + "description": "Height.", + "type": "number", + "readOnly": false, + "x-nullable": false + } + } + }, + "CustomVisionError": { + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "enum": [ + "NoError", + "BadRequest", + "BadRequestExceededBatchSize", + "BadRequestNotSupported", + "BadRequestInvalidIds", + "BadRequestProjectName", + "BadRequestProjectNameNotUnique", + "BadRequestProjectDescription", + "BadRequestProjectUnknownDomain", + "BadRequestProjectUnknownClassification", + "BadRequestProjectUnsupportedDomainTypeChange", + "BadRequestProjectUnsupportedExportPlatform", + "BadRequestProjectImagePreprocessingSettings", + "BadRequestProjectDuplicated", + "BadRequestIterationName", + "BadRequestIterationNameNotUnique", + "BadRequestIterationDescription", + "BadRequestIterationIsNotTrained", + "BadRequestIterationValidationFailed", + "BadRequestWorkspaceCannotBeModified", + "BadRequestWorkspaceNotDeletable", + "BadRequestTagName", + "BadRequestTagNameNotUnique", + "BadRequestTagDescription", + "BadRequestTagType", + "BadRequestMultipleNegativeTag", + "BadRequestMultipleGeneralProductTag", + "BadRequestImageTags", + "BadRequestImageRegions", + "BadRequestNegativeAndRegularTagOnSameImage", + "BadRequestUnsupportedDomain", + "BadRequestRequiredParamIsNull", + "BadRequestIterationIsPublished", + "BadRequestInvalidPublishName", + "BadRequestInvalidPublishTarget", + "BadRequestUnpublishFailed", + "BadRequestIterationNotPublished", + "BadRequestSubscriptionApi", + "BadRequestExceedProjectLimit", + "BadRequestExceedIterationPerProjectLimit", + "BadRequestExceedTagPerProjectLimit", + "BadRequestExceedTagPerImageLimit", + "BadRequestExceededQuota", + "BadRequestCannotMigrateProjectWithName", + "BadRequestNotLimitedTrial", + "BadRequestImageBatch", + "BadRequestImageStream", + "BadRequestImageUrl", + "BadRequestImageFormat", + "BadRequestImageSizeBytes", + "BadRequestImageDimensions", + "BadRequestImageExceededCount", + "BadRequestTrainingNotNeeded", + "BadRequestTrainingNotNeededButTrainingPipelineUpdated", + "BadRequestTrainingValidationFailed", + "BadRequestClassificationTrainingValidationFailed", + "BadRequestMultiClassClassificationTrainingValidationFailed", + "BadRequestMultiLabelClassificationTrainingValidationFailed", + "BadRequestDetectionTrainingValidationFailed", + "BadRequestTrainingAlreadyInProgress", + "BadRequestDetectionTrainingNotAllowNegativeTag", + "BadRequestInvalidEmailAddress", + "BadRequestDomainNotSupportedForAdvancedTraining", + "BadRequestExportPlatformNotSupportedForAdvancedTraining", + "BadRequestReservedBudgetInHoursNotEnoughForAdvancedTraining", + "BadRequestExportValidationFailed", + "BadRequestExportAlreadyInProgress", + "BadRequestPredictionIdsMissing", + "BadRequestPredictionIdsExceededCount", + "BadRequestPredictionTagsExceededCount", + "BadRequestPredictionResultsExceededCount", + "BadRequestPredictionInvalidApplicationName", + "BadRequestPredictionInvalidQueryParameters", + "BadRequestInvalidImportToken", + "BadRequestExportWhileTraining", + "BadRequestImageMetadataKey", + "BadRequestImageMetadataValue", + "BadRequestOperationNotSupported", + "BadRequestInvalidArtifactUri", + "BadRequestCustomerManagedKeyRevoked", + "BadRequestInvalid", + "UnsupportedMediaType", + "Forbidden", + "ForbiddenUser", + "ForbiddenUserResource", + "ForbiddenUserSignupDisabled", + "ForbiddenUserSignupAllowanceExceeded", + "ForbiddenUserDoesNotExist", + "ForbiddenUserDisabled", + "ForbiddenUserInsufficientCapability", + "ForbiddenDRModeEnabled", + "ForbiddenInvalid", + "NotFound", + "NotFoundProject", + "NotFoundProjectDefaultIteration", + "NotFoundIteration", + "NotFoundIterationPerformance", + "NotFoundTag", + "NotFoundImage", + "NotFoundDomain", + "NotFoundApimSubscription", + "NotFoundInvalid", + "Conflict", + "ConflictInvalid", + "ErrorUnknown", + "ErrorIterationCopyFailed", + "ErrorPreparePerformanceMigrationFailed", + "ErrorProjectInvalidWorkspace", + "ErrorProjectInvalidPipelineConfiguration", + "ErrorProjectInvalidDomain", + "ErrorProjectTrainingRequestFailed", + "ErrorProjectImportRequestFailed", + "ErrorProjectExportRequestFailed", + "ErrorFeaturizationServiceUnavailable", + "ErrorFeaturizationQueueTimeout", + "ErrorFeaturizationInvalidFeaturizer", + "ErrorFeaturizationAugmentationUnavailable", + "ErrorFeaturizationUnrecognizedJob", + "ErrorFeaturizationAugmentationError", + "ErrorExporterInvalidPlatform", + "ErrorExporterInvalidFeaturizer", + "ErrorExporterInvalidClassifier", + "ErrorPredictionServiceUnavailable", + "ErrorPredictionModelNotFound", + "ErrorPredictionModelNotCached", + "ErrorPrediction", + "ErrorPredictionStorage", + "ErrorRegionProposal", + "ErrorUnknownBaseModel", + "ErrorInvalid" + ], + "type": "string", + "x-ms-enum": { + "name": "CustomVisionErrorCodes", + "modelAsString": true + } + }, + "message": { + "description": "A message explaining the error reported by the service.", + "type": "string" + } + } + }, + "ImagePrediction": { + "description": "Result of an image prediction request.", + "type": "object", + "properties": { + "id": { + "format": "uuid", + "description": "Prediction Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "project": { + "format": "uuid", + "description": "Project Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "iteration": { + "format": "uuid", + "description": "Iteration Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "description": "Date this prediction was created.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "predictions": { + "description": "List of predictions.", + "type": "array", + "items": { + "$ref": "#/definitions/Prediction", + "x-nullable": false + }, + "readOnly": true + } + } + }, + "ImageUrl": { + "description": "Image url.", + "required": [ + "url" + ], + "type": "object", + "properties": { + "url": { + "description": "Url of the image.", + "type": "string", + "readOnly": false, + "x-nullable": false + } + } + }, + "Prediction": { + "description": "Prediction result.", + "type": "object", + "properties": { + "probability": { + "format": "float", + "description": "Probability of the tag.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "tagId": { + "format": "uuid", + "description": "Id of the predicted tag.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "tagName": { + "description": "Name of the predicted tag.", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "boundingBox": { + "$ref": "#/definitions/BoundingBox", + "description": "Bounding box of the prediction.", + "readOnly": true, + "x-nullable": true + }, + "tagType": { + "description": "Type of the predicted tag.", + "enum": [ + "Regular", + "Negative", + "GeneralProduct" + ], + "type": "string", + "readOnly": true, + "x-nullable": true, + "x-ms-enum": { + "name": "TagType", + "modelAsString": true + } + } + } + } + }, + "parameters": { + "Endpoint": { + "name": "Endpoint", + "in": "path", + "description": "Supported Cognitive Services endpoints.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client", + "x-ms-skip-url-encoding": true + } + }, + "securityDefinitions": { + "apim_key": { + "type": "apiKey", + "name": "Prediction-Key", + "in": "header" + } + }, + "security": [ + { + "apim_key": [] + } + ], + "x-ms-parameterized-host": { + "hostTemplate": "{Endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.1/examples/ClassifyImage.json b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.1/examples/ClassifyImage.json new file mode 100644 index 000000000000..92c8f66b7eec --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.1/examples/ClassifyImage.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Prediction-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "publishedName": "MyModel1", + "imageData": "multipart-form-data" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "951098b2-9b69-427b-bddb-d5cb618874e3", + "project": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iteration": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "created": "2019-03-06T02:15:00Z", + "predictions": [ + { + "tagId": "e31ff107-5505-4753-be42-b369b21b026c", + "tagName": "Hemlock", + "probability": 0.05149666 + }, + { + "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a", + "tagName": "Japanese Cherry", + "probability": 0.000193528482 + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.1/examples/ClassifyImageUrl.json b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.1/examples/ClassifyImageUrl.json new file mode 100644 index 000000000000..a73984bd908b --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.1/examples/ClassifyImageUrl.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Prediction-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "publishedName": "MyModel1", + "imageUrl": { + "url": "{Image URL}" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "951098b2-9b69-427b-bddb-d5cb618874e3", + "project": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iteration": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "created": "2019-03-06T02:15:00Z", + "predictions": [ + { + "tagId": "e31ff107-5505-4753-be42-b369b21b026c", + "tagName": "Hemlock", + "probability": 0.05149666 + }, + { + "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a", + "tagName": "Japanese Cherry", + "probability": 0.000193528482 + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.1/examples/ClassifyImageUrlWithNoStore.json b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.1/examples/ClassifyImageUrlWithNoStore.json new file mode 100644 index 000000000000..a73984bd908b --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.1/examples/ClassifyImageUrlWithNoStore.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Prediction-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "publishedName": "MyModel1", + "imageUrl": { + "url": "{Image URL}" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "951098b2-9b69-427b-bddb-d5cb618874e3", + "project": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iteration": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "created": "2019-03-06T02:15:00Z", + "predictions": [ + { + "tagId": "e31ff107-5505-4753-be42-b369b21b026c", + "tagName": "Hemlock", + "probability": 0.05149666 + }, + { + "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a", + "tagName": "Japanese Cherry", + "probability": 0.000193528482 + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.1/examples/ClassifyImageWithNoStore.json b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.1/examples/ClassifyImageWithNoStore.json new file mode 100644 index 000000000000..92c8f66b7eec --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.1/examples/ClassifyImageWithNoStore.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Prediction-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "publishedName": "MyModel1", + "imageData": "multipart-form-data" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "951098b2-9b69-427b-bddb-d5cb618874e3", + "project": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iteration": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "created": "2019-03-06T02:15:00Z", + "predictions": [ + { + "tagId": "e31ff107-5505-4753-be42-b369b21b026c", + "tagName": "Hemlock", + "probability": 0.05149666 + }, + { + "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a", + "tagName": "Japanese Cherry", + "probability": 0.000193528482 + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.1/examples/DetectImage.json b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.1/examples/DetectImage.json new file mode 100644 index 000000000000..53c02746507d --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.1/examples/DetectImage.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Prediction-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "publishedName": "MyModel1", + "imageData": "multipart-form-data" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "64615ba1-b53f-e911-b05b-f8633f7a2ef1", + "project": "fb5bc587-b53f-e911-b05b-f8633f7a2ef1", + "iteration": "45c79472-7198-46e1-8ed7-bad2ca111957", + "created": "2019-03-10T06:10:28Z", + "predictions": [ + { + "tagId": "7e703b80-3c7a-4c3c-bf48-9673c6891a75", + "tagName": "Tag 1", + "probability": 0.05149666, + "boundingBox": { + "left": 0.955476165, + "top": 0, + "width": 0.0412225723, + "height": 0.156851858 + } + }, + { + "tagId": "a0d06a54-18e4-4787-a9f9-27a9c13a91e8", + "tagName": "Tag 2", + "probability": 0.000193528482, + "boundingBox": { + "left": 0.062178582, + "top": 0, + "width": 0.9378114, + "height": 0.6830492 + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.1/examples/DetectImageUrl.json b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.1/examples/DetectImageUrl.json new file mode 100644 index 000000000000..2b133a020f80 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.1/examples/DetectImageUrl.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Prediction-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "publishedName": "MyModel1", + "imageUrl": { + "url": "{Image URL}" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "64615ba1-b53f-e911-b05b-f8633f7a2ef1", + "project": "fb5bc587-b53f-e911-b05b-f8633f7a2ef1", + "iteration": "45c79472-7198-46e1-8ed7-bad2ca111957", + "created": "2019-03-10T06:10:28Z", + "predictions": [ + { + "tagId": "7e703b80-3c7a-4c3c-bf48-9673c6891a75", + "tagName": "Tag 1", + "probability": 0.05149666, + "boundingBox": { + "left": 0.955476165, + "top": 0, + "width": 0.0412225723, + "height": 0.156851858 + } + }, + { + "tagId": "a0d06a54-18e4-4787-a9f9-27a9c13a91e8", + "tagName": "Tag 2", + "probability": 0.000193528482, + "boundingBox": { + "left": 0.062178582, + "top": 0, + "width": 0.9378114, + "height": 0.6830492 + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.1/examples/DetectImageUrlWithNoStore.json b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.1/examples/DetectImageUrlWithNoStore.json new file mode 100644 index 000000000000..2b133a020f80 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.1/examples/DetectImageUrlWithNoStore.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Prediction-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "publishedName": "MyModel1", + "imageUrl": { + "url": "{Image URL}" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "64615ba1-b53f-e911-b05b-f8633f7a2ef1", + "project": "fb5bc587-b53f-e911-b05b-f8633f7a2ef1", + "iteration": "45c79472-7198-46e1-8ed7-bad2ca111957", + "created": "2019-03-10T06:10:28Z", + "predictions": [ + { + "tagId": "7e703b80-3c7a-4c3c-bf48-9673c6891a75", + "tagName": "Tag 1", + "probability": 0.05149666, + "boundingBox": { + "left": 0.955476165, + "top": 0, + "width": 0.0412225723, + "height": 0.156851858 + } + }, + { + "tagId": "a0d06a54-18e4-4787-a9f9-27a9c13a91e8", + "tagName": "Tag 2", + "probability": 0.000193528482, + "boundingBox": { + "left": 0.062178582, + "top": 0, + "width": 0.9378114, + "height": 0.6830492 + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.1/examples/DetectImageWithNoStore.json b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.1/examples/DetectImageWithNoStore.json new file mode 100644 index 000000000000..53c02746507d --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.1/examples/DetectImageWithNoStore.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Prediction-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "publishedName": "MyModel1", + "imageData": "multipart-form-data" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "64615ba1-b53f-e911-b05b-f8633f7a2ef1", + "project": "fb5bc587-b53f-e911-b05b-f8633f7a2ef1", + "iteration": "45c79472-7198-46e1-8ed7-bad2ca111957", + "created": "2019-03-10T06:10:28Z", + "predictions": [ + { + "tagId": "7e703b80-3c7a-4c3c-bf48-9673c6891a75", + "tagName": "Tag 1", + "probability": 0.05149666, + "boundingBox": { + "left": 0.955476165, + "top": 0, + "width": 0.0412225723, + "height": 0.156851858 + } + }, + { + "tagId": "a0d06a54-18e4-4787-a9f9-27a9c13a91e8", + "tagName": "Tag 2", + "probability": 0.000193528482, + "boundingBox": { + "left": 0.062178582, + "top": 0, + "width": 0.9378114, + "height": 0.6830492 + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md index 14bda8dd8dca..c61b06fde524 100644 --- a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md @@ -19,6 +19,8 @@ batch: - tag: release_2_2 - tag: release_3_0 - tag: release_3_1 + - tag: release_3_2 + - tag: release_3_3 ``` ### Tag: release_1_0 and go @@ -73,4 +75,13 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'release_3_3' && $(go) +output-folder: $(go-sdk-folder)/services/cognitiveservices/v3.3/customvision/$(namespace) ``` \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md index c27680fff689..c24589d79dc3 100644 --- a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md @@ -4,11 +4,11 @@ Configuration for generating Custom Vision Training SDK. -The current release is `release_3_2`. +The current release is `release_3_3`. ``` yaml -tag: release_3_2 +tag: release_3_3 openapi-type: data-plane ``` # Releases @@ -56,6 +56,14 @@ input-file: stable/v3.2/Training.json add-credentials: true ``` +### Release 3.3 +These settings apply only when `--tag=release_3_3` is specified on the command line. + +``` yaml $(tag) == 'release_3_3' +input-file: stable/v3.3/Training.json +add-credentials: true +``` + # Validation ## Suppression @@ -163,7 +171,7 @@ input-file: - $(this-folder)/stable/v3.0/Training.json - $(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/CustomVision/Training/readme.ruby.md b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.ruby.md index 65b84d38d255..517819d1250a 100644 --- a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.ruby.md +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.ruby.md @@ -16,6 +16,7 @@ batch: - tag: release_3_0 - tag: release_3_1 - tag: release_3_2 + - tag: release_3_3 ``` ### Tag: release_1_0 and ruby @@ -62,3 +63,13 @@ output-folder: $(ruby-sdks-folder)/data/azure_cognitiveservices_customvisiontrai title: "TrainingClient" ``` +### Tag: release_3_3 and ruby + +These settings apply only when `--tag=release_3_3 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'release_3_3' && $(ruby) +namespace: "Azure::CognitiveServices::CustomVision::Training::V3_3" +output-folder: $(ruby-sdks-folder)/data/azure_cognitiveservices_customvisiontraining/lib +title: "TrainingClient" +``` diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/Training.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/Training.json new file mode 100644 index 000000000000..90ef38fb562b --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/Training.json @@ -0,0 +1,5606 @@ +{ + "swagger": "2.0", + "info": { + "version": "3.3", + "title": "Custom Vision Training Client" + }, + "host": "southcentralus.api.cognitive.microsoft.com", + "basePath": "/customvision/v3.3/training", + "schemes": [ + "https" + ], + "paths": { + "/domains": { + "get": { + "tags": [ + "DomainsApi" + ], + "summary": "Get a list of the available domains.", + "operationId": "GetDomains", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Domain" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetDomains request": { + "$ref": "./examples/GetDomains.json" + } + } + } + }, + "/domains/{domainId}": { + "get": { + "tags": [ + "DomainsApi" + ], + "summary": "Get information about a specific domain.", + "operationId": "GetDomain", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "domainId", + "in": "path", + "description": "The id of the domain to get information about.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Domain" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetDomain request": { + "$ref": "./examples/GetDomain.json" + } + } + } + }, + "/projects": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get your projects.", + "operationId": "GetProjects", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Project" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetProjects request": { + "$ref": "./examples/GetProjects.json" + } + } + }, + "post": { + "tags": [ + "ProjectApi" + ], + "summary": "Create a project.", + "operationId": "CreateProject", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "name", + "in": "query", + "description": "Name of the project.", + "required": true, + "type": "string" + }, + { + "name": "description", + "in": "query", + "description": "The description of the project.", + "required": false, + "type": "string" + }, + { + "name": "domainId", + "in": "query", + "description": "The id of the domain to use for this project. Defaults to General.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "name": "classificationType", + "in": "query", + "description": "The type of classifier to create for this project.", + "required": false, + "type": "string", + "enum": [ + "Multiclass", + "Multilabel" + ] + }, + { + "name": "targetExportPlatforms", + "in": "query", + "description": "List of platforms the trained model is intending exporting to.", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "CoreML", + "TensorFlow", + "DockerFile", + "ONNX", + "VAIDK" + ] + }, + "collectionFormat": "csv" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Project" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful CreateProject request": { + "$ref": "./examples/CreateProject.json" + } + } + } + }, + "/projects/{projectId}": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get a specific project.", + "operationId": "GetProject", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The id of the project to get.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Project" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetProject request": { + "$ref": "./examples/GetProject.json" + } + } + }, + "delete": { + "tags": [ + "ProjectApi" + ], + "summary": "Delete a specific project.", + "operationId": "DeleteProject", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DeleteProject request": { + "$ref": "./examples/DeleteProject.json" + } + } + }, + "patch": { + "tags": [ + "ProjectApi" + ], + "summary": "Update a specific project.", + "operationId": "UpdateProject", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The id of the project to update.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "updatedProject", + "in": "body", + "description": "The updated project model.", + "required": true, + "schema": { + "$ref": "#/definitions/Project" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Project" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful UpdateProject request": { + "$ref": "./examples/UpdateProject.json" + } + } + } + }, + "/projects/{projectId}/artifacts": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get artifact content from blob storage, based on artifact relative path in the blob.", + "operationId": "GetArtifact", + "consumes": [], + "produces": [ + "application/octet-stream" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "path", + "in": "query", + "description": "The relative path for artifact.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "file" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetArtifact request": { + "$ref": "./examples/GetArtifact.json" + } + } + } + }, + "/projects/{projectId}/export": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Exports a project.", + "operationId": "ExportProject", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id of the project to export.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProjectExport" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful ExportProject request": { + "$ref": "./examples/ExportProject.json" + } + } + } + }, + "/projects/{projectId}/images": { + "get": { + "tags": [ + "ImageApi" + ], + "summary": "Get images for a given project iteration or workspace.", + "description": "This API supports batching and range selection. By default it will only return first 50 images matching images.\r\nUse the {take} and {skip} parameters to control how many images to return in a given batch.\r\nThe filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned", + "operationId": "GetImages", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration id. Defaults to workspace.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "name": "tagIds", + "in": "query", + "description": "A list of tags ids to filter the images. Defaults to all tagged images when null. Limited to 20.", + "required": false, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 20, + "minItems": 0 + }, + { + "name": "taggingStatus", + "in": "query", + "description": "The tagging status filter. It can be 'All', 'Tagged', or 'Untagged'. Defaults to 'All'.", + "required": false, + "type": "string", + "enum": [ + "All", + "Tagged", + "Untagged" + ] + }, + { + "name": "$filter", + "in": "query", + "description": "An expression to filter the images against image metadata. Only images where the expression evaluates to true are included in the response.\r\nThe expression supports eq (Equal), ne (Not equal), and (Logical and), or (Logical or) operators.\r\nHere is an example, metadata=key1 eq 'value1' and key2 ne 'value2'.", + "required": false, + "type": "string" + }, + { + "name": "orderBy", + "in": "query", + "description": "The ordering. Defaults to newest.", + "required": false, + "type": "string", + "enum": [ + "Newest", + "Oldest" + ] + }, + { + "name": "take", + "in": "query", + "description": "Maximum number of images to return. Defaults to 50, limited to 256.", + "required": false, + "type": "integer", + "format": "int32", + "default": 50, + "maximum": 256, + "minimum": 0 + }, + { + "name": "skip", + "in": "query", + "description": "Number of images to skip before beginning the image batch. Defaults to 0.", + "required": false, + "type": "integer", + "format": "int32", + "default": 0 + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Image" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetImages request": { + "$ref": "./examples/GetImages.json" + } + } + }, + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Add the provided images to the set of training images.", + "description": "This API accepts body content as multipart/form-data and application/octet-stream. When using multipart\r\nmultiple image files can be sent at once, with a maximum of 64 files.\r\nIf all images are successful created, 200(OK) status code will be returned.\r\nOtherwise, 207 (Multi-Status) status code will be returned and detail status for each image will be listed in the response payload.", + "operationId": "CreateImagesFromData", + "consumes": [ + "multipart/form-data", + "application/octet-stream" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "tagIds", + "in": "query", + "description": "The tags ids with which to tag each image. Limited to 20.", + "required": false, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 20, + "minItems": 0 + }, + { + "name": "imageData", + "in": "formData", + "description": "Binary image data. Supported formats are JPEG, GIF, PNG, and BMP. Supports images up to 6MB.", + "required": true, + "type": "file" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageCreateSummary" + } + }, + "207": { + "description": "207", + "schema": { + "$ref": "#/definitions/ImageCreateSummary" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful CreateImagesFromData request": { + "$ref": "./examples/CreateImagesFromData.json" + } + } + }, + "delete": { + "tags": [ + "ImageApi" + ], + "summary": "Delete images from the set of training images.", + "operationId": "DeleteImages", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "imageIds", + "in": "query", + "description": "Ids of the images to be deleted. Limited to 256 images per batch.", + "required": false, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 256, + "minItems": 0 + }, + { + "name": "allImages", + "in": "query", + "description": "Flag to specify delete all images, specify this flag or a list of images. Using this flag will return a 202 response to indicate the images are being deleted.", + "required": false, + "type": "boolean" + }, + { + "name": "allIterations", + "in": "query", + "description": "Removes these images from all iterations, not just the current workspace. Using this flag will return a 202 response to indicate the images are being deleted.", + "required": false, + "type": "boolean" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DeleteImages request": { + "$ref": "./examples/DeleteImages.json" + } + } + } + }, + "/projects/{projectId}/images/{imageId}/regionproposals": { + "post": { + "tags": [ + "ImageRegionProposalApi" + ], + "summary": "Get region proposals for an image. Returns empty array if no proposals are found.", + "description": "This API will get region proposals for an image along with confidences for the region. It returns an empty array if no proposals are found.", + "operationId": "GetImageRegionProposals", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "imageId", + "in": "path", + "description": "The image id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageRegionProposal" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetImageRegionProposals request": { + "$ref": "./examples/GetImageRegionProposals.json" + } + } + } + }, + "/projects/{projectId}/images/count": { + "get": { + "tags": [ + "ImageApi" + ], + "summary": "Get the number of images.", + "description": "The filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned", + "operationId": "GetImageCount", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration id. Defaults to workspace.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "name": "taggingStatus", + "in": "query", + "description": "The tagging status filter. It can be 'All', 'Tagged', or 'Untagged'. Defaults to 'All'.", + "required": false, + "type": "string", + "enum": [ + "All", + "Tagged", + "Untagged" + ] + }, + { + "name": "$filter", + "in": "query", + "description": "An expression to filter the images against image metadata. Only images where the expression evaluates to true are included in the response.\r\nThe expression supports eq (Equal), ne (Not equal), and (Logical and), or (Logical or) operators.\r\nHere is an example, metadata=key1 eq 'value1' and key2 ne 'value2'.", + "required": false, + "type": "string" + }, + { + "name": "tagIds", + "in": "query", + "description": "A list of tags ids to filter the images to count. Defaults to all tags when null.", + "required": false, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "format": "int32", + "type": "integer" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetImageCount request": { + "$ref": "./examples/GetImageCount.json" + } + } + } + }, + "/projects/{projectId}/images/files": { + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Add the provided batch of images to the set of training images.", + "description": "This API accepts a batch of files, and optionally tags, to create images. There is a limit of 64 images and 20 tags.\r\nIf all images are successful created, 200(OK) status code will be returned.\r\nOtherwise, 207 (Multi-Status) status code will be returned and detail status for each image will be listed in the response payload.", + "operationId": "CreateImagesFromFiles", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "batch", + "in": "body", + "description": "The batch of image files to add. Limited to 64 images and 20 tags per batch.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageFileCreateBatch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageCreateSummary" + } + }, + "207": { + "description": "207", + "schema": { + "$ref": "#/definitions/ImageCreateSummary" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful CreateImagesFromFiles request": { + "$ref": "./examples/CreateImagesFromFiles.json" + } + } + } + }, + "/projects/{projectId}/images/id": { + "get": { + "tags": [ + "ImageApi" + ], + "summary": "Get images by id for a given project iteration.", + "description": "This API will return a set of Images for the specified tags and optionally iteration. If no iteration is specified the\r\ncurrent workspace is used.", + "operationId": "GetImagesByIds", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "imageIds", + "in": "query", + "description": "The list of image ids to retrieve. Limited to 256.", + "required": false, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 256, + "minItems": 0 + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration id. Defaults to workspace.", + "required": false, + "type": "string", + "format": "uuid" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Image" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetImagesByIds request": { + "$ref": "./examples/GetImagesByIds.json" + } + } + } + }, + "/projects/{projectId}/images/metadata": { + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Update metadata of images.", + "description": "This API accepts a batch of image Ids, and metadata, to update images. There is a limit of 64 images.", + "operationId": "UpdateImageMetadata", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "imageIds", + "in": "query", + "description": "The list of image ids to update. Limited to 64.", + "required": true, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 256, + "minItems": 0 + }, + { + "name": "metadata", + "in": "body", + "description": "The metadata to be updated to the specified images. Limited to 50 key-value pairs per image. The length of key is limited to 256. The length of value is limited to 512.", + "required": true, + "schema": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageMetadataUpdateSummary" + } + }, + "207": { + "description": "207", + "schema": { + "$ref": "#/definitions/ImageMetadataUpdateSummary" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful UpdateImageMetadata request": { + "$ref": "./examples/UpdateImageMetadata.json" + } + } + } + }, + "/projects/{projectId}/images/predictions": { + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Add the specified predicted images to the set of training images.", + "description": "This API creates a batch of images from predicted images specified. There is a limit of 64 images and 20 tags.\r\nIf all images are successful created, 200(OK) status code will be returned.\r\nOtherwise, 207 (Multi-Status) status code will be returned and detail status for each image will be listed in the response payload.", + "operationId": "CreateImagesFromPredictions", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "batch", + "in": "body", + "description": "Image, tag ids, and metadata. Limited to 64 images and 20 tags per batch.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageIdCreateBatch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageCreateSummary" + } + }, + "207": { + "description": "207", + "schema": { + "$ref": "#/definitions/ImageCreateSummary" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful CreateImagesFromPredictions request": { + "$ref": "./examples/CreateImagesFromPredictions.json" + } + } + } + }, + "/projects/{projectId}/images/regions": { + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Create a set of image regions.", + "description": "This API accepts a batch of image regions, and optionally tags, to update existing images with region information.\r\nThere is a limit of 64 entries in the batch.\r\nIf all regions are successful created, 200(OK) status code will be returned.\r\nOtherwise, 207 (Multi-Status) status code will be returned and detail status for each region will be listed in the response payload.", + "operationId": "CreateImageRegions", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "batch", + "in": "body", + "description": "Batch of image regions which include a tag and bounding box. Limited to 64.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageRegionCreateBatch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageRegionCreateSummary" + } + }, + "207": { + "description": "207", + "schema": { + "$ref": "#/definitions/ImageRegionCreateSummary" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful CreateImageRegions request": { + "$ref": "./examples/CreateImageRegions.json" + } + } + }, + "delete": { + "tags": [ + "ImageApi" + ], + "summary": "Delete a set of image regions.", + "operationId": "DeleteImageRegions", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "regionIds", + "in": "query", + "description": "Regions to delete. Limited to 64.", + "required": true, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 64, + "minItems": 0 + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DeleteImageRegions request": { + "$ref": "./examples/DeleteImageRegions.json" + } + } + } + }, + "/projects/{projectId}/images/suggested": { + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Get untagged images whose suggested tags match given tags. Returns empty array if no images are found.", + "description": "This API will fetch untagged images filtered by suggested tags Ids. It returns an empty array if no images are found.", + "operationId": "QuerySuggestedImages", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "IterationId to use for the suggested tags and regions.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "query", + "in": "body", + "description": "Contains properties we need to query suggested images.", + "required": true, + "schema": { + "$ref": "#/definitions/SuggestedTagAndRegionQueryToken" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SuggestedTagAndRegionQuery" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful QuerySuggestedImages request": { + "$ref": "./examples/QuerySuggestedImages.json" + } + } + } + }, + "/projects/{projectId}/images/suggested/count": { + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Get count of images whose suggested tags match given tags and their probabilities are greater than or equal to the given threshold. Returns count as 0 if none found.", + "description": "This API takes in tagIds to get count of untagged images per suggested tags for a given threshold.", + "operationId": "QuerySuggestedImageCount", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "IterationId to use for the suggested tags and regions.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "query", + "in": "body", + "description": "Model that contains tagIds, threshold and projectType to query by.", + "required": true, + "schema": { + "$ref": "#/definitions/TagFilter" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "object", + "additionalProperties": { + "format": "int32", + "type": "integer" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful QuerySuggestedImageCount request": { + "$ref": "./examples/QuerySuggestedImageCount.json" + } + } + } + }, + "/projects/{projectId}/images/tagged": { + "get": { + "tags": [ + "ImageApi" + ], + "summary": "Get tagged images for a given project iteration.", + "description": "This API supports batching and range selection. By default it will only return first 50 images matching images.\r\nUse the {take} and {skip} parameters to control how many images to return in a given batch.\r\nThe filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned", + "operationId": "GetTaggedImages", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration id. Defaults to workspace.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "name": "tagIds", + "in": "query", + "description": "A list of tags ids to filter the images. Defaults to all tagged images when null. Limited to 20.", + "required": false, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 20, + "minItems": 0 + }, + { + "name": "orderBy", + "in": "query", + "description": "The ordering. Defaults to newest.", + "required": false, + "type": "string", + "enum": [ + "Newest", + "Oldest" + ] + }, + { + "name": "take", + "in": "query", + "description": "Maximum number of images to return. Defaults to 50, limited to 256.", + "required": false, + "type": "integer", + "format": "int32", + "default": 50, + "maximum": 256, + "minimum": 0 + }, + { + "name": "skip", + "in": "query", + "description": "Number of images to skip before beginning the image batch. Defaults to 0.", + "required": false, + "type": "integer", + "format": "int32", + "default": 0 + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Image" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetTaggedImages request": { + "$ref": "./examples/GetTaggedImages.json" + } + } + } + }, + "/projects/{projectId}/images/tagged/count": { + "get": { + "tags": [ + "ImageApi" + ], + "summary": "Gets the number of images tagged with the provided {tagIds}.", + "description": "The filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned", + "operationId": "GetTaggedImageCount", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration id. Defaults to workspace.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "name": "tagIds", + "in": "query", + "description": "A list of tags ids to filter the images to count. Defaults to all tags when null.", + "required": false, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "format": "int32", + "type": "integer" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetTaggedImageCount request": { + "$ref": "./examples/GetTaggedImageCount.json" + } + } + } + }, + "/projects/{projectId}/images/tags": { + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Associate a set of images with a set of tags.", + "operationId": "CreateImageTags", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "batch", + "in": "body", + "description": "Batch of image tags. Limited to 128 tags per batch.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageTagCreateBatch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageTagCreateSummary" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful CreateImageTags request": { + "$ref": "./examples/CreateImageTags.json" + } + } + }, + "delete": { + "tags": [ + "ImageApi" + ], + "summary": "Remove a set of tags from a set of images.", + "operationId": "DeleteImageTags", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "imageIds", + "in": "query", + "description": "Image ids. Limited to 64 images.", + "required": true, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 64, + "minItems": 0 + }, + { + "name": "tagIds", + "in": "query", + "description": "Tags to be deleted from the specified images. Limited to 20 tags.", + "required": true, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 20, + "minItems": 0 + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DeleteImageTags request": { + "$ref": "./examples/DeleteImageTags.json" + } + } + } + }, + "/projects/{projectId}/images/untagged": { + "get": { + "tags": [ + "ImageApi" + ], + "summary": "Get untagged images for a given project iteration.", + "description": "This API supports batching and range selection. By default it will only return first 50 images matching images.\r\nUse the {take} and {skip} parameters to control how many images to return in a given batch.", + "operationId": "GetUntaggedImages", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration id. Defaults to workspace.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "name": "orderBy", + "in": "query", + "description": "The ordering. Defaults to newest.", + "required": false, + "type": "string", + "enum": [ + "Newest", + "Oldest" + ] + }, + { + "name": "take", + "in": "query", + "description": "Maximum number of images to return. Defaults to 50, limited to 256.", + "required": false, + "type": "integer", + "format": "int32", + "default": 50, + "maximum": 256, + "minimum": 0 + }, + { + "name": "skip", + "in": "query", + "description": "Number of images to skip before beginning the image batch. Defaults to 0.", + "required": false, + "type": "integer", + "format": "int32", + "default": 0 + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Image" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetUntaggedImages request": { + "$ref": "./examples/GetUntaggedImages.json" + } + } + } + }, + "/projects/{projectId}/images/untagged/count": { + "get": { + "tags": [ + "ImageApi" + ], + "summary": "Gets the number of untagged images.", + "description": "This API returns the images which have no tags for a given project and optionally an iteration. If no iteration is specified the\r\ncurrent workspace is used.", + "operationId": "GetUntaggedImageCount", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration id. Defaults to workspace.", + "required": false, + "type": "string", + "format": "uuid" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "format": "int32", + "type": "integer" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetUntaggedImageCount request": { + "$ref": "./examples/GetUntaggedImageCount.json" + } + } + } + }, + "/projects/{projectId}/images/urls": { + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Add the provided images urls to the set of training images.", + "description": "This API accepts a batch of urls, and optionally tags, to create images. There is a limit of 64 images and 20 tags.\r\nIf all images are successful created, 200(OK) status code will be returned.\r\nOtherwise, 207 (Multi-Status) status code will be returned and detail status for each image will be listed in the response payload.", + "operationId": "CreateImagesFromUrls", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "batch", + "in": "body", + "description": "Image urls, tag ids, and metadata. Limited to 64 images and 20 tags per batch.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageUrlCreateBatch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageCreateSummary" + } + }, + "207": { + "description": "207", + "schema": { + "$ref": "#/definitions/ImageCreateSummary" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful CreateImagesFromUrls request": { + "$ref": "./examples/CreateImagesFromUrls.json" + } + } + } + }, + "/projects/{projectId}/iterations": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get iterations for the project.", + "operationId": "GetIterations", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Iteration" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetIterations request": { + "$ref": "./examples/GetIterations.json" + } + } + } + }, + "/projects/{projectId}/iterations/{iterationId}": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get a specific iteration.", + "operationId": "GetIteration", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The id of the project the iteration belongs to.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The id of the iteration to get.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Iteration" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetIteration request": { + "$ref": "./examples/GetIteration.json" + } + } + }, + "delete": { + "tags": [ + "ProjectApi" + ], + "summary": "Delete a specific iteration of a project.", + "operationId": "DeleteIteration", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The iteration id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DeleteIteration request": { + "$ref": "./examples/DeleteIteration.json" + } + } + }, + "patch": { + "tags": [ + "ProjectApi" + ], + "summary": "Update a specific iteration.", + "operationId": "UpdateIteration", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "Project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "Iteration id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "updatedIteration", + "in": "body", + "description": "The updated iteration model.", + "required": true, + "schema": { + "$ref": "#/definitions/Iteration" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Iteration" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful UpdateIteration request": { + "$ref": "./examples/UpdateIteration.json" + } + } + } + }, + "/projects/{projectId}/iterations/{iterationId}/export": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get the list of exports for a specific iteration.", + "operationId": "GetExports", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The iteration id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Export" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetExports request": { + "$ref": "./examples/GetExports.json" + } + } + }, + "post": { + "tags": [ + "ProjectApi" + ], + "summary": "Export a trained iteration.", + "operationId": "ExportIteration", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The iteration id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "platform", + "in": "query", + "description": "The target platform.", + "required": true, + "type": "string", + "enum": [ + "CoreML", + "TensorFlow", + "DockerFile", + "ONNX", + "VAIDK" + ] + }, + { + "name": "flavor", + "in": "query", + "description": "The flavor of the target platform.", + "required": false, + "type": "string", + "enum": [ + "Linux", + "Windows", + "ONNX10", + "ONNX12", + "ARM", + "TensorFlowNormal", + "TensorFlowLite" + ] + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Export" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful ExportIteration request": { + "$ref": "./examples/ExportIteration.json" + } + } + } + }, + "/projects/{projectId}/iterations/{iterationId}/performance": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get detailed performance information about an iteration.", + "operationId": "GetIterationPerformance", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The id of the project the iteration belongs to.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The id of the iteration to get.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "threshold", + "in": "query", + "description": "The threshold used to determine true predictions.", + "required": false, + "type": "number", + "format": "float" + }, + { + "name": "overlapThreshold", + "in": "query", + "description": "If applicable, the bounding box overlap threshold used to determine true predictions.", + "required": false, + "type": "number", + "format": "float" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IterationPerformance" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetIterationPerformance request": { + "$ref": "./examples/GetIterationPerformance.json" + } + } + } + }, + "/projects/{projectId}/iterations/{iterationId}/performance/images": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get image with its prediction for a given project iteration.", + "description": "This API supports batching and range selection. By default it will only return first 50 images matching images.\r\nUse the {take} and {skip} parameters to control how many images to return in a given batch.\r\nThe filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned", + "operationId": "GetImagePerformances", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The iteration id. Defaults to workspace.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "tagIds", + "in": "query", + "description": "A list of tags ids to filter the images. Defaults to all tagged images when null. Limited to 20.", + "required": false, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 20, + "minItems": 0 + }, + { + "name": "orderBy", + "in": "query", + "description": "The ordering. Defaults to newest.", + "required": false, + "type": "string", + "enum": [ + "Newest", + "Oldest" + ] + }, + { + "name": "take", + "in": "query", + "description": "Maximum number of images to return. Defaults to 50, limited to 256.", + "required": false, + "type": "integer", + "format": "int32", + "default": 50, + "maximum": 256, + "minimum": 0 + }, + { + "name": "skip", + "in": "query", + "description": "Number of images to skip before beginning the image batch. Defaults to 0.", + "required": false, + "type": "integer", + "format": "int32", + "default": 0 + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ImagePerformance" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetImagePerformances request": { + "$ref": "./examples/GetImagePerformances.json" + } + } + } + }, + "/projects/{projectId}/iterations/{iterationId}/performance/images/count": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Gets the number of images tagged with the provided {tagIds} that have prediction results from\r\ntraining for the provided iteration {iterationId}.", + "description": "The filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned", + "operationId": "GetImagePerformanceCount", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The iteration id. Defaults to workspace.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "tagIds", + "in": "query", + "description": "A list of tags ids to filter the images to count. Defaults to all tags when null.", + "required": false, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "format": "int32", + "type": "integer" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetImagePerformanceCount request": { + "$ref": "./examples/GetImagePerformanceCount.json" + } + } + } + }, + "/projects/{projectId}/iterations/{iterationId}/publish": { + "post": { + "tags": [ + "ProjectApi" + ], + "summary": "Publish a specific iteration.", + "operationId": "PublishIteration", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The iteration id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "publishName", + "in": "query", + "description": "The name to give the published iteration.", + "required": true, + "type": "string" + }, + { + "name": "predictionId", + "in": "query", + "description": "The id of the prediction resource to publish to.", + "required": true, + "type": "string" + }, + { + "name": "overwrite", + "in": "query", + "description": "Whether to overwrite the published model with the given name (default: false).", + "required": false, + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "boolean" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful PublishIteration request": { + "$ref": "./examples/PublishIteration.json" + } + } + }, + "delete": { + "tags": [ + "ProjectApi" + ], + "summary": "Unpublish a specific iteration.", + "operationId": "UnpublishIteration", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The iteration id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful UnpublishIteration request": { + "$ref": "./examples/UnpublishIteration.json" + } + } + } + }, + "/projects/{projectId}/predictions": { + "delete": { + "tags": [ + "PredictionsApi" + ], + "summary": "Delete a set of predicted images and their associated prediction results.", + "operationId": "DeletePrediction", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "ids", + "in": "query", + "description": "The prediction ids. Limited to 64.", + "required": true, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 64, + "minItems": 0 + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DeletePrediction request": { + "$ref": "./examples/DeletePrediction.json" + } + } + } + }, + "/projects/{projectId}/predictions/query": { + "post": { + "tags": [ + "PredictionsApi" + ], + "summary": "Get images that were sent to your prediction endpoint.", + "operationId": "QueryPredictions", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "query", + "in": "body", + "description": "Parameters used to query the predictions. Limited to combining 2 tags.", + "required": true, + "schema": { + "$ref": "#/definitions/PredictionQueryToken" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PredictionQueryResult" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful QueryPredictions request": { + "$ref": "./examples/QueryPredictions.json" + } + } + } + }, + "/projects/{projectId}/quicktest/image": { + "post": { + "tags": [ + "PredictionsApi" + ], + "summary": "Quick test an image.", + "operationId": "QuickTestImage", + "consumes": [ + "multipart/form-data", + "application/octet-stream" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "Optional. Specifies the id of a particular iteration to evaluate against.\r\n The default iteration for the project will be used when not specified.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "name": "store", + "in": "query", + "description": "Optional. Specifies whether or not to store the result of this prediction. The default is true, to store.", + "required": false, + "type": "boolean", + "default": true + }, + { + "name": "imageData", + "in": "formData", + "description": "Binary image data. Supported formats are JPEG, GIF, PNG, and BMP. Supports images up to 6MB.", + "required": true, + "type": "file" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePrediction" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful QuickTestImage request": { + "$ref": "./examples/QuickTestImage.json" + } + } + } + }, + "/projects/{projectId}/quicktest/url": { + "post": { + "tags": [ + "PredictionsApi" + ], + "summary": "Quick test an image url.", + "operationId": "QuickTestImageUrl", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project to evaluate against.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "imageUrl", + "in": "body", + "description": "An ImageUrl that contains the url of the image to be evaluated.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageUrl" + } + }, + { + "name": "iterationId", + "in": "query", + "description": "Optional. Specifies the id of a particular iteration to evaluate against.\r\n The default iteration for the project will be used when not specified.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "name": "store", + "in": "query", + "description": "Optional. Specifies whether or not to store the result of this prediction. The default is true, to store.", + "required": false, + "type": "boolean", + "default": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePrediction" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful QuickTestImageUrl request": { + "$ref": "./examples/QuickTestImageUrl.json" + } + } + } + }, + "/projects/{projectId}/tags": { + "get": { + "tags": [ + "TagsApi" + ], + "summary": "Get the tags for a given project and iteration.", + "operationId": "GetTags", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration id. Defaults to workspace.", + "required": false, + "type": "string", + "format": "uuid" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetTags request": { + "$ref": "./examples/GetTags.json" + } + } + }, + "post": { + "tags": [ + "TagsApi" + ], + "summary": "Create a tag for the project.", + "operationId": "CreateTag", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "name", + "in": "query", + "description": "The tag name.", + "required": true, + "type": "string" + }, + { + "name": "description", + "in": "query", + "description": "Optional description for the tag.", + "required": false, + "type": "string" + }, + { + "name": "type", + "in": "query", + "description": "Optional type for the tag.", + "required": false, + "type": "string", + "enum": [ + "Regular", + "Negative", + "GeneralProduct" + ] + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Tag" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful CreateTag request": { + "$ref": "./examples/CreateTag.json" + } + } + } + }, + "/projects/{projectId}/tags/{tagId}": { + "get": { + "tags": [ + "TagsApi" + ], + "summary": "Get information about a specific tag.", + "operationId": "GetTag", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project this tag belongs to.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "tagId", + "in": "path", + "description": "The tag id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration to retrieve this tag from. Optional, defaults to current training set.", + "required": false, + "type": "string", + "format": "uuid" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Tag" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetTag request": { + "$ref": "./examples/GetTag.json" + } + } + }, + "delete": { + "tags": [ + "TagsApi" + ], + "summary": "Delete a tag from the project.", + "operationId": "DeleteTag", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "tagId", + "in": "path", + "description": "Id of the tag to be deleted.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DeleteTag request": { + "$ref": "./examples/DeleteTag.json" + } + } + }, + "patch": { + "tags": [ + "TagsApi" + ], + "summary": "Update a tag.", + "operationId": "UpdateTag", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "tagId", + "in": "path", + "description": "The id of the target tag.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "updatedTag", + "in": "body", + "description": "The updated tag model.", + "required": true, + "schema": { + "$ref": "#/definitions/Tag" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Tag" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful UpdateTag request": { + "$ref": "./examples/UpdateTag.json" + } + } + } + }, + "/projects/{projectId}/tagsandregions/suggestions": { + "post": { + "tags": [ + "SuggestTagsAndRegionsApi" + ], + "summary": "Suggest tags and regions for an array/batch of untagged images. Returns empty array if no tags are found.", + "description": "This API will get suggested tags and regions for an array/batch of untagged images along with confidences for the tags. It returns an empty array if no tags are found.\r\nThere is a limit of 64 images in the batch.", + "operationId": "SuggestTagsAndRegions", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "IterationId to use for tag and region suggestion.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "imageIds", + "in": "query", + "description": "Array of image ids tag suggestion are needed for. Use GetUntaggedImages API to get imageIds.", + "required": true, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 64, + "minItems": 0 + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/SuggestedTagAndRegion" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful SuggestTagsAndRegions request": { + "$ref": "./examples/SuggestTagsAndRegions.json" + } + } + } + }, + "/projects/{projectId}/train": { + "post": { + "tags": [ + "ProjectApi" + ], + "summary": "Queues project for training.", + "operationId": "TrainProject", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "trainingType", + "in": "query", + "description": "The type of training to use to train the project (default: Regular).", + "required": false, + "type": "string", + "enum": [ + "Regular", + "Advanced" + ] + }, + { + "name": "reservedBudgetInHours", + "in": "query", + "description": "The number of hours reserved as budget for training (if applicable).", + "required": false, + "type": "integer", + "format": "int32", + "default": 0 + }, + { + "name": "forceTrain", + "in": "query", + "description": "Whether to force train even if dataset and configuration does not change (default: false).", + "required": false, + "type": "boolean", + "default": false + }, + { + "name": "notificationEmailAddress", + "in": "query", + "description": "The email address to send notification to when training finishes (default: null).", + "required": false, + "type": "string" + }, + { + "name": "trainingParameters", + "in": "body", + "description": "Additional training parameters passed in to control how the project is trained.", + "required": false, + "schema": { + "$ref": "#/definitions/TrainingParameters" + }, + "x-nullable": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Iteration" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful TrainProject request": { + "$ref": "./examples/TrainProject.json" + } + } + } + }, + "/projects/import": { + "post": { + "tags": [ + "ProjectApi" + ], + "summary": "Imports a project.", + "operationId": "ImportProject", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "token", + "in": "query", + "description": "Token generated from the export project call.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "query", + "description": "Optional, name of the project to use instead of auto-generated name.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Project" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful ImportProject request": { + "$ref": "./examples/ImportProject.json" + } + } + } + } + }, + "definitions": { + "BoundingBox": { + "description": "Bounding box that defines a region of an image.", + "required": [ + "left", + "top", + "width", + "height" + ], + "type": "object", + "properties": { + "left": { + "format": "float", + "description": "Coordinate of the left boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "top": { + "format": "float", + "description": "Coordinate of the top boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "width": { + "format": "float", + "description": "Width.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "height": { + "format": "float", + "description": "Height.", + "type": "number", + "readOnly": false, + "x-nullable": false + } + } + }, + "CustomVisionError": { + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "enum": [ + "NoError", + "BadRequest", + "BadRequestExceededBatchSize", + "BadRequestNotSupported", + "BadRequestInvalidIds", + "BadRequestProjectName", + "BadRequestProjectNameNotUnique", + "BadRequestProjectDescription", + "BadRequestProjectUnknownDomain", + "BadRequestProjectUnknownClassification", + "BadRequestProjectUnsupportedDomainTypeChange", + "BadRequestProjectUnsupportedExportPlatform", + "BadRequestProjectImagePreprocessingSettings", + "BadRequestProjectDuplicated", + "BadRequestIterationName", + "BadRequestIterationNameNotUnique", + "BadRequestIterationDescription", + "BadRequestIterationIsNotTrained", + "BadRequestIterationValidationFailed", + "BadRequestWorkspaceCannotBeModified", + "BadRequestWorkspaceNotDeletable", + "BadRequestTagName", + "BadRequestTagNameNotUnique", + "BadRequestTagDescription", + "BadRequestTagType", + "BadRequestMultipleNegativeTag", + "BadRequestMultipleGeneralProductTag", + "BadRequestImageTags", + "BadRequestImageRegions", + "BadRequestNegativeAndRegularTagOnSameImage", + "BadRequestUnsupportedDomain", + "BadRequestRequiredParamIsNull", + "BadRequestIterationIsPublished", + "BadRequestInvalidPublishName", + "BadRequestInvalidPublishTarget", + "BadRequestUnpublishFailed", + "BadRequestIterationNotPublished", + "BadRequestSubscriptionApi", + "BadRequestExceedProjectLimit", + "BadRequestExceedIterationPerProjectLimit", + "BadRequestExceedTagPerProjectLimit", + "BadRequestExceedTagPerImageLimit", + "BadRequestExceededQuota", + "BadRequestCannotMigrateProjectWithName", + "BadRequestNotLimitedTrial", + "BadRequestImageBatch", + "BadRequestImageStream", + "BadRequestImageUrl", + "BadRequestImageFormat", + "BadRequestImageSizeBytes", + "BadRequestImageDimensions", + "BadRequestImageExceededCount", + "BadRequestTrainingNotNeeded", + "BadRequestTrainingNotNeededButTrainingPipelineUpdated", + "BadRequestTrainingValidationFailed", + "BadRequestClassificationTrainingValidationFailed", + "BadRequestMultiClassClassificationTrainingValidationFailed", + "BadRequestMultiLabelClassificationTrainingValidationFailed", + "BadRequestDetectionTrainingValidationFailed", + "BadRequestTrainingAlreadyInProgress", + "BadRequestDetectionTrainingNotAllowNegativeTag", + "BadRequestInvalidEmailAddress", + "BadRequestDomainNotSupportedForAdvancedTraining", + "BadRequestExportPlatformNotSupportedForAdvancedTraining", + "BadRequestReservedBudgetInHoursNotEnoughForAdvancedTraining", + "BadRequestExportValidationFailed", + "BadRequestExportAlreadyInProgress", + "BadRequestPredictionIdsMissing", + "BadRequestPredictionIdsExceededCount", + "BadRequestPredictionTagsExceededCount", + "BadRequestPredictionResultsExceededCount", + "BadRequestPredictionInvalidApplicationName", + "BadRequestPredictionInvalidQueryParameters", + "BadRequestInvalidImportToken", + "BadRequestExportWhileTraining", + "BadRequestImageMetadataKey", + "BadRequestImageMetadataValue", + "BadRequestOperationNotSupported", + "BadRequestInvalidArtifactUri", + "BadRequestCustomerManagedKeyRevoked", + "BadRequestInvalid", + "UnsupportedMediaType", + "Forbidden", + "ForbiddenUser", + "ForbiddenUserResource", + "ForbiddenUserSignupDisabled", + "ForbiddenUserSignupAllowanceExceeded", + "ForbiddenUserDoesNotExist", + "ForbiddenUserDisabled", + "ForbiddenUserInsufficientCapability", + "ForbiddenDRModeEnabled", + "ForbiddenInvalid", + "NotFound", + "NotFoundProject", + "NotFoundProjectDefaultIteration", + "NotFoundIteration", + "NotFoundIterationPerformance", + "NotFoundTag", + "NotFoundImage", + "NotFoundDomain", + "NotFoundApimSubscription", + "NotFoundInvalid", + "Conflict", + "ConflictInvalid", + "ErrorUnknown", + "ErrorIterationCopyFailed", + "ErrorPreparePerformanceMigrationFailed", + "ErrorProjectInvalidWorkspace", + "ErrorProjectInvalidPipelineConfiguration", + "ErrorProjectInvalidDomain", + "ErrorProjectTrainingRequestFailed", + "ErrorProjectImportRequestFailed", + "ErrorProjectExportRequestFailed", + "ErrorFeaturizationServiceUnavailable", + "ErrorFeaturizationQueueTimeout", + "ErrorFeaturizationInvalidFeaturizer", + "ErrorFeaturizationAugmentationUnavailable", + "ErrorFeaturizationUnrecognizedJob", + "ErrorFeaturizationAugmentationError", + "ErrorExporterInvalidPlatform", + "ErrorExporterInvalidFeaturizer", + "ErrorExporterInvalidClassifier", + "ErrorPredictionServiceUnavailable", + "ErrorPredictionModelNotFound", + "ErrorPredictionModelNotCached", + "ErrorPrediction", + "ErrorPredictionStorage", + "ErrorRegionProposal", + "ErrorUnknownBaseModel", + "ErrorInvalid" + ], + "type": "string", + "x-ms-enum": { + "name": "CustomVisionErrorCodes", + "modelAsString": true + } + }, + "message": { + "description": "A message explaining the error reported by the service.", + "type": "string" + } + } + }, + "Domain": { + "type": "object", + "properties": { + "id": { + "format": "uuid", + "type": "string", + "readOnly": true, + "example": "00000000-0000-0000-0000-000000000000", + "x-nullable": false + }, + "name": { + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "type": { + "enum": [ + "Classification", + "ObjectDetection" + ], + "type": "string", + "readOnly": true, + "x-nullable": false, + "x-ms-enum": { + "name": "DomainType", + "modelAsString": true + } + }, + "exportable": { + "type": "boolean", + "readOnly": true, + "x-nullable": false + }, + "enabled": { + "type": "boolean", + "readOnly": true, + "x-nullable": false + } + } + }, + "Export": { + "type": "object", + "properties": { + "platform": { + "description": "Platform of the export.", + "enum": [ + "CoreML", + "TensorFlow", + "DockerFile", + "ONNX", + "VAIDK" + ], + "type": "string", + "readOnly": true, + "x-nullable": false, + "x-ms-enum": { + "name": "ExportPlatform", + "modelAsString": true + } + }, + "status": { + "description": "Status of the export.", + "enum": [ + "Exporting", + "Failed", + "Done" + ], + "type": "string", + "readOnly": true, + "x-nullable": false, + "x-ms-enum": { + "name": "ExportStatus", + "modelAsString": true + } + }, + "downloadUri": { + "description": "URI used to download the model. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.", + "type": "string", + "readOnly": true + }, + "flavor": { + "description": "Flavor of the export. These are specializations of the export platform.\r\nDocker platform has valid flavors: Linux, Windows, ARM.\r\nTensorflow platform has valid flavors: TensorFlowNormal, TensorFlowLite.\r\nONNX platform has valid flavors: ONNX10, ONNX12.", + "enum": [ + "Linux", + "Windows", + "ONNX10", + "ONNX12", + "ARM", + "TensorFlowNormal", + "TensorFlowLite" + ], + "type": "string", + "readOnly": true, + "x-nullable": true, + "x-ms-enum": { + "name": "ExportFlavor", + "modelAsString": true + } + }, + "newerVersionAvailable": { + "description": "Indicates an updated version of the export package is available and should be re-exported for the latest changes.", + "type": "boolean", + "readOnly": true, + "x-nullable": false + } + } + }, + "Image": { + "description": "Image model to be sent as JSON.", + "type": "object", + "properties": { + "id": { + "format": "uuid", + "description": "Id of the image.", + "type": "string", + "readOnly": true, + "example": "00000000-0000-0000-0000-000000000000", + "x-nullable": false + }, + "created": { + "format": "date-time", + "description": "Date the image was created.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "width": { + "format": "int32", + "description": "Width of the image.", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "height": { + "format": "int32", + "description": "Height of the image.", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "resizedImageUri": { + "description": "The URI to the (resized) image used for training. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.", + "type": "string", + "readOnly": true + }, + "thumbnailUri": { + "description": "The URI to the thumbnail of the original image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.", + "type": "string", + "readOnly": true + }, + "originalImageUri": { + "description": "The URI to the original uploaded image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.", + "type": "string", + "readOnly": true + }, + "tags": { + "description": "Tags associated with this image.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageTag" + }, + "readOnly": true, + "x-nullable": true + }, + "regions": { + "description": "Regions associated with this image.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageRegion" + }, + "readOnly": true, + "x-nullable": true + }, + "metadata": { + "description": "Metadata associated with this image.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true, + "x-nullable": true + } + } + }, + "ImageCreateResult": { + "type": "object", + "properties": { + "sourceUrl": { + "description": "Source URL of the image.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "status": { + "description": "Status of the image creation.", + "enum": [ + "OK", + "OKDuplicate", + "ErrorSource", + "ErrorImageFormat", + "ErrorImageSize", + "ErrorStorage", + "ErrorLimitExceed", + "ErrorTagLimitExceed", + "ErrorRegionLimitExceed", + "ErrorUnknown", + "ErrorNegativeAndRegularTagOnSameImage" + ], + "type": "string", + "readOnly": true, + "x-nullable": false, + "x-ms-enum": { + "name": "ImageCreateStatus", + "modelAsString": true + } + }, + "image": { + "$ref": "#/definitions/Image", + "description": "The image.", + "readOnly": true + } + } + }, + "ImageCreateSummary": { + "type": "object", + "properties": { + "isBatchSuccessful": { + "description": "True if all of the images in the batch were created successfully, otherwise false.", + "type": "boolean", + "readOnly": true, + "x-nullable": false + }, + "images": { + "description": "List of the image creation results.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageCreateResult", + "x-nullable": false + }, + "readOnly": true + } + } + }, + "ImageFileCreateBatch": { + "type": "object", + "properties": { + "images": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageFileCreateEntry", + "x-nullable": false + }, + "readOnly": false + }, + "tagIds": { + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "example": "00000000-0000-0000-0000-000000000000", + "x-nullable": false + }, + "readOnly": false + }, + "metadata": { + "description": "The metadata of image. Limited to 50 key-value pairs per image. The length of key is limited to 256. The length of value is limited to 512.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": false, + "x-nullable": true + } + } + }, + "ImageFileCreateEntry": { + "type": "object", + "properties": { + "name": { + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "contents": { + "format": "byte", + "type": "string", + "readOnly": false + }, + "tagIds": { + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "example": "00000000-0000-0000-0000-000000000000", + "x-nullable": false + }, + "readOnly": false + }, + "regions": { + "type": "array", + "items": { + "$ref": "#/definitions/Region", + "x-nullable": false + }, + "readOnly": false + } + } + }, + "ImageIdCreateBatch": { + "type": "object", + "properties": { + "images": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageIdCreateEntry", + "x-nullable": false + }, + "readOnly": false + }, + "tagIds": { + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "readOnly": false + }, + "metadata": { + "description": "The metadata of image. Limited to 50 key-value pairs per image. The length of key is limited to 256. The length of value is limited to 512.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": false, + "x-nullable": true + } + } + }, + "ImageIdCreateEntry": { + "type": "object", + "properties": { + "id": { + "format": "uuid", + "description": "Id of the image.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "tagIds": { + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "readOnly": false + }, + "regions": { + "type": "array", + "items": { + "$ref": "#/definitions/Region", + "x-nullable": false + }, + "readOnly": false + } + } + }, + "ImageMetadataUpdateEntry": { + "description": "Entry associating a metadata to an image.", + "type": "object", + "properties": { + "imageId": { + "format": "uuid", + "description": "Id of the image.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "status": { + "description": "Status of the metadata update.", + "enum": [ + "OK", + "ErrorImageNotFound", + "ErrorLimitExceed", + "ErrorUnknown" + ], + "type": "string", + "readOnly": false, + "x-nullable": false, + "x-ms-enum": { + "name": "ImageMetadataUpdateStatus", + "modelAsString": true + } + }, + "metadata": { + "description": "Metadata of the image.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": false, + "x-nullable": true + } + } + }, + "ImageMetadataUpdateSummary": { + "type": "object", + "properties": { + "isBatchSuccessful": { + "type": "boolean", + "readOnly": true, + "x-nullable": false + }, + "images": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageMetadataUpdateEntry", + "x-nullable": false + }, + "readOnly": true + } + } + }, + "ImagePerformance": { + "description": "Image performance model.", + "type": "object", + "properties": { + "predictions": { + "type": "array", + "items": { + "$ref": "#/definitions/Prediction" + }, + "readOnly": true, + "x-nullable": true + }, + "id": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "width": { + "format": "int32", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "height": { + "format": "int32", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "imageUri": { + "type": "string", + "readOnly": true + }, + "thumbnailUri": { + "type": "string", + "readOnly": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageTag" + }, + "readOnly": true, + "x-nullable": true + }, + "regions": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageRegion" + }, + "readOnly": true, + "x-nullable": true + } + } + }, + "ImagePrediction": { + "description": "Result of an image prediction request.", + "type": "object", + "properties": { + "id": { + "format": "uuid", + "description": "Prediction Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "project": { + "format": "uuid", + "description": "Project Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "iteration": { + "format": "uuid", + "description": "Iteration Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "description": "Date this prediction was created.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "predictions": { + "description": "List of predictions.", + "type": "array", + "items": { + "$ref": "#/definitions/Prediction", + "x-nullable": false + }, + "readOnly": true + } + } + }, + "ImageProcessingSettings": { + "description": "Represents image preprocessing settings used by image augmentation.", + "type": "object", + "properties": { + "augmentationMethods": { + "description": "Gets or sets enabled image transforms. The key corresponds to the transform name. If value is set to true, then correspondent transform is enabled. Otherwise this transform will not be used.\r\nAugmentation will be uniformly distributed among enabled transforms.", + "type": "object", + "additionalProperties": { + "type": "boolean" + }, + "readOnly": false, + "x-nullable": true + } + } + }, + "ImageRegion": { + "required": [ + "tagId", + "left", + "top", + "width", + "height" + ], + "type": "object", + "properties": { + "regionId": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "tagName": { + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "tagId": { + "format": "uuid", + "description": "Id of the tag associated with this region.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "left": { + "format": "float", + "description": "Coordinate of the left boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "top": { + "format": "float", + "description": "Coordinate of the top boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "width": { + "format": "float", + "description": "Width.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "height": { + "format": "float", + "description": "Height.", + "type": "number", + "readOnly": false, + "x-nullable": false + } + } + }, + "ImageRegionCreateBatch": { + "description": "Batch of image region information to create.", + "type": "object", + "properties": { + "regions": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageRegionCreateEntry", + "x-nullable": false + }, + "readOnly": false + } + } + }, + "ImageRegionCreateEntry": { + "description": "Entry associating a region to an image.", + "required": [ + "imageId", + "tagId", + "left", + "top", + "width", + "height" + ], + "type": "object", + "properties": { + "imageId": { + "format": "uuid", + "description": "Id of the image.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "tagId": { + "format": "uuid", + "description": "Id of the tag associated with this region.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "left": { + "format": "float", + "description": "Coordinate of the left boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "top": { + "format": "float", + "description": "Coordinate of the top boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "width": { + "format": "float", + "description": "Width.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "height": { + "format": "float", + "description": "Height.", + "type": "number", + "readOnly": false, + "x-nullable": false + } + } + }, + "ImageRegionCreateResult": { + "required": [ + "tagId", + "left", + "top", + "width", + "height" + ], + "type": "object", + "properties": { + "imageId": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "regionId": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "tagName": { + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "tagId": { + "format": "uuid", + "description": "Id of the tag associated with this region.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "left": { + "format": "float", + "description": "Coordinate of the left boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "top": { + "format": "float", + "description": "Coordinate of the top boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "width": { + "format": "float", + "description": "Width.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "height": { + "format": "float", + "description": "Height.", + "type": "number", + "readOnly": false, + "x-nullable": false + } + } + }, + "ImageRegionCreateSummary": { + "type": "object", + "properties": { + "created": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageRegionCreateResult" + }, + "readOnly": false, + "x-nullable": true + }, + "duplicated": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageRegionCreateEntry" + }, + "readOnly": false, + "x-nullable": true + }, + "exceeded": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageRegionCreateEntry" + }, + "readOnly": false, + "x-nullable": true + } + } + }, + "ImageRegionProposal": { + "type": "object", + "properties": { + "projectId": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "imageId": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "proposals": { + "type": "array", + "items": { + "$ref": "#/definitions/RegionProposal", + "x-nullable": false + }, + "readOnly": true + } + } + }, + "ImageTag": { + "type": "object", + "properties": { + "tagId": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "tagName": { + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "type": "string", + "readOnly": true, + "x-nullable": false + } + } + }, + "ImageTagCreateBatch": { + "description": "Batch of image tags.", + "type": "object", + "properties": { + "tags": { + "description": "Image Tag entries to include in this batch.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageTagCreateEntry", + "x-nullable": false + }, + "readOnly": false + } + } + }, + "ImageTagCreateEntry": { + "description": "Entry associating a tag to an image.", + "type": "object", + "properties": { + "imageId": { + "format": "uuid", + "description": "Id of the image.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "tagId": { + "format": "uuid", + "description": "Id of the tag.", + "type": "string", + "readOnly": false, + "x-nullable": false + } + } + }, + "ImageTagCreateSummary": { + "type": "object", + "properties": { + "created": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageTagCreateEntry" + }, + "readOnly": false, + "x-nullable": true + }, + "duplicated": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageTagCreateEntry" + }, + "readOnly": false, + "x-nullable": true + }, + "exceeded": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageTagCreateEntry" + }, + "readOnly": false, + "x-nullable": true + } + } + }, + "ImageUrl": { + "description": "Image url.", + "required": [ + "url" + ], + "type": "object", + "properties": { + "url": { + "description": "Url of the image.", + "type": "string", + "readOnly": false, + "x-nullable": false + } + } + }, + "ImageUrlCreateBatch": { + "type": "object", + "properties": { + "images": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageUrlCreateEntry", + "x-nullable": false + }, + "readOnly": false + }, + "tagIds": { + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "readOnly": false + }, + "metadata": { + "description": "The metadata of image. Limited to 50 key-value pairs per image. The length of key is limited to 256. The length of value is limited to 512.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": false, + "x-nullable": true + } + } + }, + "ImageUrlCreateEntry": { + "required": [ + "url" + ], + "type": "object", + "properties": { + "url": { + "description": "Url of the image.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "tagIds": { + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "readOnly": false + }, + "regions": { + "type": "array", + "items": { + "$ref": "#/definitions/Region", + "x-nullable": false + }, + "readOnly": false + } + } + }, + "Iteration": { + "description": "Iteration model to be sent over JSON.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "id": { + "format": "uuid", + "description": "Gets the id of the iteration.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "name": { + "description": "Gets or sets the name of the iteration.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "status": { + "description": "Gets the current iteration status.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "description": "Gets the time this iteration was completed.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "lastModified": { + "format": "date-time", + "description": "Gets the time this iteration was last modified.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "trainedAt": { + "format": "date-time", + "description": "Gets the time this iteration was last modified.", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "projectId": { + "format": "uuid", + "description": "Gets the project id of the iteration.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "exportable": { + "description": "Whether the iteration can be exported to another format for download.", + "type": "boolean", + "readOnly": true, + "x-nullable": false + }, + "exportableTo": { + "description": "A set of platforms this iteration can export to.", + "type": "array", + "items": { + "enum": [ + "CoreML", + "TensorFlow", + "DockerFile", + "ONNX", + "VAIDK" + ], + "type": "string", + "x-nullable": false + }, + "readOnly": true + }, + "domainId": { + "format": "uuid", + "description": "Get or sets a guid of the domain the iteration has been trained on.", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "classificationType": { + "description": "Gets the classification type of the project.", + "enum": [ + "Multiclass", + "Multilabel" + ], + "type": "string", + "readOnly": true, + "x-nullable": true, + "x-ms-enum": { + "name": "Classifier", + "modelAsString": true + } + }, + "trainingType": { + "description": "Gets the training type of the iteration.", + "enum": [ + "Regular", + "Advanced" + ], + "type": "string", + "readOnly": true, + "x-nullable": false, + "x-ms-enum": { + "name": "TrainingType", + "modelAsString": true + } + }, + "reservedBudgetInHours": { + "format": "int32", + "description": "Gets the reserved advanced training budget for the iteration.", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "trainingTimeInMinutes": { + "format": "int32", + "description": "Gets the training time for the iteration.", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "publishName": { + "description": "Name of the published model.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "originalPublishResourceId": { + "description": "Resource Provider Id this iteration was originally published to.", + "type": "string", + "readOnly": true, + "x-nullable": false + } + } + }, + "IterationPerformance": { + "description": "Represents the detailed performance data for a trained iteration.", + "type": "object", + "properties": { + "perTagPerformance": { + "description": "Gets the per-tag performance details for this iteration.", + "type": "array", + "items": { + "$ref": "#/definitions/TagPerformance", + "x-nullable": false + }, + "readOnly": true + }, + "precision": { + "format": "float", + "description": "Gets the precision.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "precisionStdDeviation": { + "format": "float", + "description": "Gets the standard deviation for the precision.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "recall": { + "format": "float", + "description": "Gets the recall.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "recallStdDeviation": { + "format": "float", + "description": "Gets the standard deviation for the recall.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "averagePrecision": { + "format": "float", + "description": "Gets the average precision when applicable.", + "type": "number", + "readOnly": true, + "x-nullable": true + } + } + }, + "Prediction": { + "description": "Prediction result.", + "type": "object", + "properties": { + "probability": { + "format": "float", + "description": "Probability of the tag.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "tagId": { + "format": "uuid", + "description": "Id of the predicted tag.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "tagName": { + "description": "Name of the predicted tag.", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "boundingBox": { + "$ref": "#/definitions/BoundingBox", + "description": "Bounding box of the prediction.", + "readOnly": true, + "x-nullable": true + }, + "tagType": { + "description": "Type of the predicted tag.", + "enum": [ + "Regular", + "Negative", + "GeneralProduct" + ], + "type": "string", + "readOnly": true, + "x-nullable": true, + "x-ms-enum": { + "name": "TagType", + "modelAsString": true + } + } + } + }, + "PredictionQueryResult": { + "description": "Query result of the prediction images that were sent to your prediction endpoint.", + "type": "object", + "properties": { + "token": { + "$ref": "#/definitions/PredictionQueryToken", + "description": "Prediction Query Token.", + "readOnly": false + }, + "results": { + "description": "Result of an image prediction request.", + "type": "array", + "items": { + "$ref": "#/definitions/StoredImagePrediction", + "x-nullable": false + }, + "readOnly": true + } + } + }, + "PredictionQueryTag": { + "type": "object", + "properties": { + "id": { + "format": "uuid", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "minThreshold": { + "format": "float", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "maxThreshold": { + "format": "float", + "type": "number", + "readOnly": false, + "x-nullable": false + } + } + }, + "PredictionQueryToken": { + "type": "object", + "properties": { + "session": { + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "continuation": { + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "maxCount": { + "format": "int32", + "type": "integer", + "readOnly": false, + "x-nullable": false + }, + "orderBy": { + "enum": [ + "Newest", + "Oldest", + "Suggested" + ], + "type": "string", + "readOnly": false, + "x-nullable": false, + "x-ms-enum": { + "name": "OrderBy", + "modelAsString": true + } + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/definitions/PredictionQueryTag", + "x-nullable": false + }, + "readOnly": false + }, + "iterationId": { + "format": "uuid", + "type": "string", + "readOnly": false, + "x-nullable": true + }, + "startTime": { + "format": "date-time", + "type": "string", + "readOnly": false, + "x-nullable": true + }, + "endTime": { + "format": "date-time", + "type": "string", + "readOnly": false, + "x-nullable": true + }, + "application": { + "type": "string", + "readOnly": false, + "x-nullable": false + } + } + }, + "Project": { + "description": "Represents a project.", + "required": [ + "name", + "description", + "settings" + ], + "type": "object", + "properties": { + "id": { + "format": "uuid", + "description": "Gets the project id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "name": { + "description": "Gets or sets the name of the project.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "description": { + "description": "Gets or sets the description of the project.", + "type": "string", + "readOnly": false, + "x-nullable": true + }, + "settings": { + "$ref": "#/definitions/ProjectSettings", + "description": "Gets or sets the project settings.", + "readOnly": false + }, + "created": { + "format": "date-time", + "description": "Gets the date this project was created.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "lastModified": { + "format": "date-time", + "description": "Gets the date this project was last modified.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "thumbnailUri": { + "description": "Gets the thumbnail url representing the image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.", + "type": "string", + "readOnly": true + }, + "drModeEnabled": { + "description": "Gets if the Disaster Recovery (DR) mode is on, indicating the project is temporarily read-only.", + "type": "boolean", + "readOnly": true, + "x-nullable": true + }, + "status": { + "description": "Gets the status of the project.", + "enum": [ + "Succeeded", + "Importing", + "Failed" + ], + "type": "string", + "readOnly": false, + "x-nullable": false, + "x-ms-enum": { + "name": "ProjectStatus", + "modelAsString": true + } + } + } + }, + "ProjectExport": { + "description": "Represents information about a project export.", + "type": "object", + "properties": { + "iterationCount": { + "format": "int32", + "description": "Count of iterations that will be exported.", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "imageCount": { + "format": "int32", + "description": "Count of images that will be exported.", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "tagCount": { + "format": "int32", + "description": "Count of tags that will be exported.", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "regionCount": { + "format": "int32", + "description": "Count of regions that will be exported.", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "estimatedImportTimeInMS": { + "format": "int32", + "description": "Estimated time this project will take to import, can change based on network connectivity and load between\r\nsource and destination regions.", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "token": { + "description": "Opaque token that should be passed to ImportProject to perform the import. This token grants access to import this\r\nproject to all that have the token.", + "type": "string", + "readOnly": true, + "x-nullable": false + } + } + }, + "ProjectSettings": { + "description": "Represents settings associated with a project.", + "type": "object", + "properties": { + "domainId": { + "format": "uuid", + "description": "Gets or sets the id of the Domain to use with this project.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "classificationType": { + "description": "Gets or sets the classification type of the project.", + "enum": [ + "Multiclass", + "Multilabel" + ], + "type": "string", + "readOnly": false, + "x-nullable": true, + "x-ms-enum": { + "name": "Classifier", + "modelAsString": true + } + }, + "targetExportPlatforms": { + "description": "A list of ExportPlatform that the trained model should be able to support.", + "type": "array", + "items": { + "enum": [ + "CoreML", + "TensorFlow", + "DockerFile", + "ONNX", + "VAIDK" + ], + "type": "string", + "x-nullable": false + }, + "readOnly": false + }, + "useNegativeSet": { + "description": "Indicates if negative set is being used.", + "type": "boolean", + "readOnly": true, + "x-nullable": true + }, + "detectionParameters": { + "description": "Detection parameters in use, if any.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "imageProcessingSettings": { + "$ref": "#/definitions/ImageProcessingSettings", + "description": "Gets or sets image preprocessing settings.", + "readOnly": false + } + } + }, + "Region": { + "required": [ + "tagId", + "left", + "top", + "width", + "height" + ], + "type": "object", + "properties": { + "tagId": { + "format": "uuid", + "description": "Id of the tag associated with this region.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "left": { + "format": "float", + "description": "Coordinate of the left boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "top": { + "format": "float", + "description": "Coordinate of the top boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "width": { + "format": "float", + "description": "Width.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "height": { + "format": "float", + "description": "Height.", + "type": "number", + "readOnly": false, + "x-nullable": false + } + } + }, + "RegionProposal": { + "type": "object", + "properties": { + "confidence": { + "format": "float", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "boundingBox": { + "$ref": "#/definitions/BoundingBox", + "readOnly": true + } + } + }, + "StoredImagePrediction": { + "description": "Result of an image prediction request.", + "type": "object", + "properties": { + "resizedImageUri": { + "description": "The URI to the (resized) prediction image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.", + "type": "string", + "readOnly": true + }, + "thumbnailUri": { + "description": "The URI to the thumbnail of the original prediction image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.", + "type": "string", + "readOnly": true + }, + "originalImageUri": { + "description": "The URI to the original prediction image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.", + "type": "string", + "readOnly": true + }, + "domain": { + "format": "uuid", + "description": "Domain used for the prediction.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "id": { + "format": "uuid", + "description": "Prediction Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "project": { + "format": "uuid", + "description": "Project Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "iteration": { + "format": "uuid", + "description": "Iteration Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "description": "Date this prediction was created.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "predictions": { + "description": "List of predictions.", + "type": "array", + "items": { + "$ref": "#/definitions/Prediction", + "x-nullable": false + }, + "readOnly": true + } + } + }, + "StoredSuggestedTagAndRegion": { + "description": "Result of a suggested tags and regions request of the untagged image.", + "type": "object", + "properties": { + "width": { + "format": "int32", + "description": "Width of the resized image.", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "height": { + "format": "int32", + "description": "Height of the resized image.", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "resizedImageUri": { + "description": "The URI to the (resized) prediction image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.", + "type": "string", + "readOnly": true + }, + "thumbnailUri": { + "description": "The URI to the thumbnail of the original prediction image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.", + "type": "string", + "readOnly": true + }, + "originalImageUri": { + "description": "The URI to the original prediction image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.", + "type": "string", + "readOnly": true + }, + "domain": { + "format": "uuid", + "description": "Domain used for the prediction.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "id": { + "format": "uuid", + "description": "Prediction Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "project": { + "format": "uuid", + "description": "Project Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "iteration": { + "format": "uuid", + "description": "Iteration Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "description": "Date this prediction was created.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "predictions": { + "description": "List of predictions.", + "type": "array", + "items": { + "$ref": "#/definitions/Prediction", + "x-nullable": false + }, + "readOnly": true + }, + "predictionUncertainty": { + "format": "double", + "description": "Uncertainty (entropy) of suggested tags or regions per image.", + "type": "number", + "readOnly": true, + "x-nullable": false + } + } + }, + "SuggestedTagAndRegion": { + "description": "Result of a suggested tags and regions request.", + "type": "object", + "properties": { + "id": { + "format": "uuid", + "description": "Prediction Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "project": { + "format": "uuid", + "description": "Project Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "iteration": { + "format": "uuid", + "description": "Iteration Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "description": "Date this prediction was created.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "predictions": { + "description": "List of predictions.", + "type": "array", + "items": { + "$ref": "#/definitions/Prediction", + "x-nullable": false + }, + "readOnly": true + }, + "predictionUncertainty": { + "format": "double", + "description": "Uncertainty (entropy) of suggested tags or regions per image.", + "type": "number", + "readOnly": true, + "x-nullable": false + } + } + }, + "SuggestedTagAndRegionQuery": { + "description": "The array of result images and token containing session and continuation Ids for the next query.", + "type": "object", + "properties": { + "token": { + "$ref": "#/definitions/SuggestedTagAndRegionQueryToken", + "description": "Contains properties we need to fetch suggested tags for.", + "readOnly": false + }, + "results": { + "description": "Result of a suggested tags and regions request of the untagged image.", + "type": "array", + "items": { + "$ref": "#/definitions/StoredSuggestedTagAndRegion", + "x-nullable": false + }, + "readOnly": true + } + } + }, + "SuggestedTagAndRegionQueryToken": { + "description": "Contains properties we need to fetch suggested tags for. For the first call, Session and continuation set to null.\r\nThen on subsequent calls, uses the session/continuation from the previous SuggestedTagAndRegionQuery result to fetch additional results.", + "type": "object", + "properties": { + "tagIds": { + "description": "Existing TagIds in project to filter suggested tags on.", + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "readOnly": false + }, + "threshold": { + "format": "double", + "description": "Confidence threshold to filter suggested tags on.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "session": { + "description": "SessionId for database query. Initially set to null but later used to paginate.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "continuation": { + "description": "Continuation Id for database pagination. Initially null but later used to paginate.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "maxCount": { + "format": "int32", + "description": "Maximum number of results you want to be returned in the response.", + "type": "integer", + "readOnly": false, + "x-nullable": false + }, + "sortBy": { + "description": "OrderBy. Ordering mechanism for your results.", + "enum": [ + "UncertaintyAscending", + "UncertaintyDescending" + ], + "type": "string", + "readOnly": false, + "x-nullable": false, + "x-ms-enum": { + "name": "SortBy", + "modelAsString": true + } + } + } + }, + "Tag": { + "description": "Represents a Tag.", + "required": [ + "name", + "description", + "type" + ], + "type": "object", + "properties": { + "id": { + "format": "uuid", + "description": "Gets the Tag ID.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "name": { + "description": "Gets or sets the name of the tag.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "description": { + "description": "Gets or sets the description of the tag.", + "type": "string", + "readOnly": false, + "x-nullable": true + }, + "type": { + "description": "Gets or sets the type of the tag.", + "enum": [ + "Regular", + "Negative", + "GeneralProduct" + ], + "type": "string", + "readOnly": false, + "x-nullable": false, + "x-ms-enum": { + "name": "TagType", + "modelAsString": true + } + }, + "imageCount": { + "format": "int32", + "description": "Gets the number of images with this tag.", + "type": "integer", + "readOnly": true, + "x-nullable": false + } + } + }, + "TagFilter": { + "description": "Model that query for counting of images whose suggested tags match given tags and their probability are greater than or equal to the given threshold.", + "type": "object", + "properties": { + "tagIds": { + "description": "Existing TagIds in project to get suggested tags count for.", + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "readOnly": false + }, + "threshold": { + "format": "double", + "description": "Confidence threshold to filter suggested tags on.", + "type": "number", + "readOnly": false, + "x-nullable": false + } + } + }, + "TagPerformance": { + "description": "Represents performance data for a particular tag in a trained iteration.", + "type": "object", + "properties": { + "id": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "name": { + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "precision": { + "format": "float", + "description": "Gets the precision.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "precisionStdDeviation": { + "format": "float", + "description": "Gets the standard deviation for the precision.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "recall": { + "format": "float", + "description": "Gets the recall.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "recallStdDeviation": { + "format": "float", + "description": "Gets the standard deviation for the recall.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "averagePrecision": { + "format": "float", + "description": "Gets the average precision when applicable.", + "type": "number", + "readOnly": true, + "x-nullable": true + } + } + }, + "TrainingParameters": { + "description": "Parameters used for training.", + "type": "object", + "properties": { + "selectedTags": { + "description": "List of tags selected for this training session, other tags in the project will be ignored.", + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "readOnly": false + } + } + } + }, + "parameters": { + "Endpoint": { + "name": "Endpoint", + "in": "path", + "description": "Supported Cognitive Services endpoints.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client", + "x-ms-skip-url-encoding": true + } + }, + "securityDefinitions": { + "apim_key": { + "type": "apiKey", + "name": "Training-Key", + "in": "header" + } + }, + "security": [ + { + "apim_key": [] + } + ], + "x-ms-parameterized-host": { + "hostTemplate": "{Endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/CreateImageRegions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/CreateImageRegions.json new file mode 100644 index 000000000000..9f554c49071c --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/CreateImageRegions.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "batch": { + "regions": [ + { + "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "left": 0.25, + "top": 0.25, + "width": 0.25, + "height": 0.25 + }, + { + "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "left": 0.35, + "top": 0.35, + "width": 0.25, + "height": 0.25 + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "created": [ + { + "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "left": 0.25, + "top": 0.25, + "width": 0.25, + "height": 0.25 + }, + { + "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "left": 0.35, + "top": 0.35, + "width": 0.25, + "height": 0.25 + } + ], + "duplicated": [], + "exceeded": [] + } + }, + "207": { + "headers": {}, + "body": { + "created": [ + { + "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "left": 0.25, + "top": 0.25, + "width": 0.25, + "height": 0.25 + } + ], + "duplicated": [], + "exceeded": [ + { + "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "left": 0.35, + "top": 0.35, + "width": 0.25, + "height": 0.25 + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/CreateImageTags.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/CreateImageTags.json new file mode 100644 index 000000000000..5b7395424693 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/CreateImageTags.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "batch": { + "tags": [ + { + "imageId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a" + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "created": [ + { + "imageId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a" + } + ], + "duplicated": null, + "exceeded": null + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/CreateImagesFromData.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/CreateImagesFromData.json new file mode 100644 index 000000000000..05b0b07590b5 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/CreateImagesFromData.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "tagIds": [ + "b607964f-7bd6-4a3b-a869-6791fb6aab87" + ], + "imageData": "multipart data" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "isBatchSuccessful": true, + "images": [ + { + "sourceUrl": "\"hemlock_10.jpg\"", + "status": "OK", + "image": { + "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "created": "2017-12-19T15:56:10Z", + "width": 1095, + "height": 900, + "resizedImageUri": "{Resized Image Uri}", + "originalImageUri": "{Image Uri}", + "thumbnailUri": "{Thumbnail Uri}", + "tags": [ + { + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "created": "2017-12-19T15:56:09Z", + "tagName": "tag 1" + } + ] + } + }, + { + "sourceUrl": "\"hemlock_6.jpg\"", + "status": "OK", + "image": { + "id": "f1855a92-b873-47e7-b513-f07a667ceda1", + "created": "2017-12-19T15:56:10Z", + "width": 900, + "height": 1531, + "resizedImageUri": "{Resized Image Uri}", + "originalImageUri": "{Image Uri}", + "thumbnailUri": "{Thumbnail Uri}", + "tags": [ + { + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "created": "2017-12-19T15:56:09Z", + "tagName": "tag 1" + } + ] + } + } + ] + } + }, + "207": { + "headers": {}, + "body": { + "isBatchSuccessful": false, + "images": [ + { + "sourceUrl": "\"hemlock_10.jpg\"", + "status": "OK", + "image": { + "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "created": "2017-12-19T15:56:10Z", + "width": 1095, + "height": 900, + "resizedImageUri": "{Resized Image Uri}", + "originalImageUri": "{Image Uri}", + "thumbnailUri": "{Thumbnail Uri}", + "tags": [ + { + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "created": "2017-12-19T15:56:09Z", + "tagName": "tag 1" + } + ] + } + }, + { + "sourceUrl": "\"hemlock_6.jpg\"", + "status": "ErrorLimitExceed" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/CreateImagesFromFiles.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/CreateImagesFromFiles.json new file mode 100644 index 000000000000..6853f6ab1401 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/CreateImagesFromFiles.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "tagIds": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "batch": { + "images": [ + { + "name": "hemlock_10.jpg", + "contents": "{image contents}" + } + ], + "tagIds": [ + "b607964f-7bd6-4a3b-a869-6791fb6aab87" + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "isBatchSuccessful": true, + "images": [ + { + "sourceUrl": "\"hemlock_10.jpg\"", + "status": "OK", + "image": { + "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "created": "2017-12-19T15:56:10Z", + "width": 1095, + "height": 900, + "resizedImageUri": "{Resized Image Uri}", + "originalImageUri": "{Image Uri}", + "thumbnailUri": "{Thumbnail Uri}", + "tags": [ + { + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "created": "2017-12-19T15:56:09Z", + "tagName": "tag 1" + } + ] + } + } + ] + } + }, + "207": { + "headers": {}, + "body": { + "isBatchSuccessful": false, + "images": [ + { + "sourceUrl": "\"hemlock_10.jpg\"", + "status": "OK", + "image": { + "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "created": "2017-12-19T15:56:10Z", + "width": 1095, + "height": 900, + "resizedImageUri": "{Resized Image Uri}", + "originalImageUri": "{Image Uri}", + "thumbnailUri": "{Thumbnail Uri}", + "tags": [ + { + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "created": "2017-12-19T15:56:09Z", + "tagName": "tag 1" + } + ] + } + }, + { + "sourceUrl": "{url}", + "status": "ErrorLimitExceed" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/CreateImagesFromPredictions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/CreateImagesFromPredictions.json new file mode 100644 index 000000000000..1970c61d0d39 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/CreateImagesFromPredictions.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "tagIds": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "batch": { + "images": [ + { + "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9" + } + ], + "tagIds": [ + "b607964f-7bd6-4a3b-a869-6791fb6aab87" + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "isBatchSuccessful": true, + "images": [ + { + "sourceUrl": "\"hemlock_10.jpg\"", + "status": "OK", + "image": { + "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "created": "2017-12-19T15:56:10Z", + "width": 1095, + "height": 900, + "resizedImageUri": "{Resized Image Uri}", + "originalImageUri": "{Image Uri}", + "thumbnailUri": "{Thumbnail Uri}", + "tags": [ + { + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "created": "2017-12-19T15:56:09Z", + "tagName": "tag 1" + } + ] + } + } + ] + } + }, + "207": { + "headers": {}, + "body": { + "isBatchSuccessful": false, + "images": [ + { + "sourceUrl": "\"hemlock_10.jpg\"", + "status": "OK", + "image": { + "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "created": "2017-12-19T15:56:10Z", + "width": 1095, + "height": 900, + "resizedImageUri": "{Resized Image Uri}", + "originalImageUri": "{Image Uri}", + "thumbnailUri": "{Thumbnail Uri}", + "tags": [ + { + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "created": "2017-12-19T15:56:09Z", + "tagName": "tag 1" + } + ] + } + }, + { + "sourceUrl": "{url}", + "status": "ErrorLimitExceed" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/CreateImagesFromUrls.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/CreateImagesFromUrls.json new file mode 100644 index 000000000000..a3ecd489a1f7 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/CreateImagesFromUrls.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "tagIds": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "batch": { + "images": [ + { + "url": "{url to image}" + } + ], + "tagIds": [ + "b607964f-7bd6-4a3b-a869-6791fb6aab87" + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "isBatchSuccessful": true, + "images": [ + { + "sourceUrl": "{url to image}", + "status": "OK", + "image": { + "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "created": "2017-12-19T15:56:10Z", + "width": 1095, + "height": 900, + "resizedImageUri": "{Resized Image Uri}", + "originalImageUri": "{Image Uri}", + "thumbnailUri": "{Thumbnail Uri}", + "tags": [ + { + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "created": "2017-12-19T15:56:09Z", + "tagName": "tag name" + } + ] + } + } + ] + } + }, + "207": { + "headers": {}, + "body": { + "isBatchSuccessful": false, + "images": [ + { + "sourceUrl": "{url to image}", + "status": "OK", + "image": { + "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "created": "2017-12-19T15:56:10Z", + "width": 1095, + "height": 900, + "resizedImageUri": "{Resized Image Uri}", + "originalImageUri": "{Image Uri}", + "thumbnailUri": "{Thumbnail Uri}", + "tags": [ + { + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "created": "2017-12-19T15:56:09Z", + "tagName": "tag name" + } + ] + } + }, + { + "sourceUrl": "{url to image}", + "status": "ErrorSource", + "image": null + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/CreateProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/CreateProject.json new file mode 100644 index 000000000000..88f852ced738 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/CreateProject.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "name": "My New Project", + "description": "A test project", + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "name": "My New Project", + "description": "A test project", + "settings": { + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + }, + "created": "2017-12-18T05:43:18Z", + "lastModified": "2017-12-18T05:43:18Z", + "thumbnailUri": "" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/CreateTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/CreateTag.json new file mode 100644 index 000000000000..ed19817462ae --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/CreateTag.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "name": "Tag1", + "description": "Description of Tag1", + "body": "" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01", + "name": "Tag1", + "description": "Description of Tag1", + "type": "Regular", + "imageCount": 0 + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/DeleteImageRegions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/DeleteImageRegions.json new file mode 100644 index 000000000000..8931d4e2629e --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/DeleteImageRegions.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "regionIds": [ + "" + ] + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/DeleteImageTags.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/DeleteImageTags.json new file mode 100644 index 000000000000..d6a188454e9b --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/DeleteImageTags.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "imageIds": [ + "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + ], + "tagIds": [ + "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + ] + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/DeleteImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/DeleteImages.json new file mode 100644 index 000000000000..ccc479209fd2 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/DeleteImages.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "imageIds": [ + "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + ] + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/DeleteIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/DeleteIteration.json new file mode 100644 index 000000000000..d1f9b7629958 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/DeleteIteration.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758" + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/DeletePrediction.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/DeletePrediction.json new file mode 100644 index 000000000000..c6b2d5c0bc58 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/DeletePrediction.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "ids": [ + "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + ] + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/DeleteProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/DeleteProject.json new file mode 100644 index 000000000000..2b4cb5723a6a --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/DeleteProject.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e" + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/DeleteTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/DeleteTag.json new file mode 100644 index 000000000000..e9f802505a09 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/DeleteTag.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "tagId": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01" + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/ExportIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/ExportIteration.json new file mode 100644 index 000000000000..1bbfa05a5d86 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/ExportIteration.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "platform": "TensorFlow" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "platform": "TensorFlow", + "status": "Exporting", + "downloadUri": "", + "newerVersionAvailable": false + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/ExportProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/ExportProject.json new file mode 100644 index 000000000000..8d59acb577d1 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/ExportProject.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "token": "" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetArtifact.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetArtifact.json new file mode 100644 index 000000000000..e48a4cf6fd86 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetArtifact.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "path": "i-40b66b39b86b4583be8c0fe223aa9ec5/t-5c882c62ca2b4458b39a2041b111dd73" + }, + "responses": { + "200": { + "body": "{file}" + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetDomain.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetDomain.json new file mode 100644 index 000000000000..c6702b3a8f29 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetDomain.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "domainId": "b30a91ae-e3c1-4f73-a81e-c270bff27c39" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "b30a91ae-e3c1-4f73-a81e-c270bff27c39", + "name": "Retail", + "type": "Classification", + "exportable": false, + "enabled": true + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetDomains.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetDomains.json new file mode 100644 index 000000000000..a10887726fcb --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetDomains.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31", + "name": "General", + "type": "Classification", + "exportable": false, + "enabled": true + }, + { + "id": "c151d5b5-dd07-472a-acc8-15d29dea8518", + "name": "Food", + "type": "Classification", + "exportable": false, + "enabled": true + }, + { + "id": "ca455789-012d-4b50-9fec-5bb63841c793", + "name": "Landmarks", + "type": "Classification", + "exportable": false, + "enabled": true + }, + { + "id": "b30a91ae-e3c1-4f73-a81e-c270bff27c39", + "name": "Retail", + "type": "Classification", + "exportable": false, + "enabled": true + }, + { + "id": "45badf75-3591-4f26-a705-45678d3e9f5f", + "name": "Adult", + "type": "Classification", + "exportable": false, + "enabled": true + }, + { + "id": "0732100f-1a38-4e49-a514-c9b44c697ab5", + "name": "General (compact)", + "type": "Classification", + "exportable": false, + "enabled": true + }, + { + "id": "b5cfd229-2ac7-4b2b-8d0a-2b0661344894", + "name": "Landmarks (compact)", + "type": "Classification", + "exportable": false, + "enabled": true + }, + { + "id": "6b4faeda-8396-481b-9f8b-177b9fa3097f", + "name": "Retail (compact)", + "type": "Classification", + "exportable": false, + "enabled": true + } + ] + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetExports.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetExports.json new file mode 100644 index 000000000000..1267168dbb4c --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetExports.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "platform": "TensorFlow", + "status": "Done", + "newerVersionAvailable": false, + "downloadUri": "{Download URI}" + } + ] + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetImageCount.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetImageCount.json new file mode 100644 index 000000000000..ee6e4980eefa --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetImageCount.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e" + }, + "responses": { + "200": { + "headers": {}, + "body": 12 + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetImagePerformanceCount.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetImagePerformanceCount.json new file mode 100644 index 000000000000..c57ffd50669b --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetImagePerformanceCount.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12", + "tagIds": [ + "b5f7e6a2-a481-49a6-afec-a7cef1af3544" + ] + }, + "responses": { + "200": { + "headers": {}, + "body": "1" + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetImagePerformances.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetImagePerformances.json new file mode 100644 index 000000000000..dfe6eb5a7208 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetImagePerformances.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66", + "tagIds": [ + "" + ], + "orderBy": "Newest" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "dfd2d346-3ed5-4e1e-857d-af4e32cec042", + "created": "2018-01-31T20:18:26Z", + "predictions": [ + { + "tagId": "b5f7e6a2-a481-49a6-afec-a7cef1af3544", + "tagName": "Tag 1", + "probability": 1.0, + "boundingBox": { + "left": 0.25, + "top": 0.25, + "width": 0.25, + "height": 0.25 + } + } + ], + "width": 600, + "height": 1600, + "imageUri": "", + "thumbnailUri": "", + "tags": [], + "regions": [] + } + ] + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetImageRegionProposals.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetImageRegionProposals.json new file mode 100644 index 000000000000..7638215aae62 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetImageRegionProposals.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "proposals": [ + { + "confidence": 0.25, + "boundingBox": { + "left": 0.25, + "top": 0.25, + "width": 0.25, + "height": 0.25 + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetImages.json new file mode 100644 index 000000000000..d02bd9b585ef --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetImages.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "created": "2017-12-19T15:56:10Z", + "width": 1095, + "height": 900, + "resizedImageUri": "{Resized Image Uri}", + "originalImageUri": "{Image Uri}", + "thumbnailUri": "{Thumbnail Uri}", + "tags": [ + { + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "created": "2017-12-19T15:56:09Z", + "tagName": "tag 1" + } + ] + }, + { + "id": "f1855a92-b873-47e7-b513-f07a667ceda1", + "created": "2017-12-19T15:56:10Z", + "width": 900, + "height": 1531, + "resizedImageUri": "{Resized Image Uri}", + "originalImageUri": "{Image Uri}", + "thumbnailUri": "{Thumbnail Uri}", + "tags": [ + { + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "created": "2017-12-19T15:56:09Z", + "tagName": "tag 1" + } + ] + } + ] + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetImagesByIds.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetImagesByIds.json new file mode 100644 index 000000000000..037118bc9d41 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetImagesByIds.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + }, + "responses": { + "200": { + "headers": {}, + "body": [] + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetIteration.json new file mode 100644 index 000000000000..2383a6c6f910 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetIteration.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "name": "Iteration 2", + "status": "Completed", + "created": "2017-12-18T22:40:36Z", + "lastModified": "2017-12-19T15:47:02Z", + "trainedAt": "2017-12-19T15:47:02Z", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "exportable": false, + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31", + "exportableTo": [ + "ONNX", + "DockerFile", + "TensorFlow", + "CoreML" + ], + "trainingType": "Regular", + "reservedBudgetInHours": 0, + "publishName": "" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetIterationPerformance.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetIterationPerformance.json new file mode 100644 index 000000000000..323173c03a51 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetIterationPerformance.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "threshold": 0.9 + }, + "responses": { + "200": { + "headers": {}, + "body": { + "perTagPerformance": [ + { + "id": "e31ff107-5505-4753-be42-b369b21b026c", + "name": "Hemlock", + "precision": 1.0, + "precisionStdDeviation": 0.0, + "recall": 1.0, + "recallStdDeviation": 0.0 + }, + { + "id": "349d72ac-0948-4d51-b1e4-c14a1f9b848a", + "name": "Japanese Cherry", + "precision": 1.0, + "precisionStdDeviation": 0.0, + "recall": 1.0, + "recallStdDeviation": 0.0 + } + ], + "precision": 1.0, + "precisionStdDeviation": 0.0, + "recall": 1.0, + "recallStdDeviation": 0.0 + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetIterations.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetIterations.json new file mode 100644 index 000000000000..ac0c78134a80 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetIterations.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "name": "Iteration 1", + "status": "Completed", + "created": "2017-12-18T22:40:29Z", + "lastModified": "2017-12-18T22:40:41Z", + "trainedAt": "2017-12-18T22:40:41Z", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "exportable": false, + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31", + "exportableTo": [ + "ONNX", + "DockerFile", + "TensorFlow", + "CoreML" + ], + "trainingType": "Regular", + "reservedBudgetInHours": 0, + "publishName": "" + }, + { + "id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "name": "Iteration 2", + "status": "Completed", + "created": "2017-12-18T22:40:36Z", + "lastModified": "2017-12-19T15:47:02Z", + "trainedAt": "2017-12-19T15:47:02Z", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "exportable": false, + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31", + "exportableTo": [ + "ONNX", + "DockerFile", + "TensorFlow", + "CoreML" + ], + "trainingType": "Regular", + "reservedBudgetInHours": 5, + "publishName": "model1" + }, + { + "id": "3adaf7b2-18fc-4376-9da4-b5ea160a7cf5", + "name": "Iteration 3", + "status": "New", + "created": "2017-12-19T15:46:59Z", + "lastModified": "2017-12-19T15:46:59Z", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "exportable": false, + "domainId": null, + "exportableTo": [ + "ONNX", + "DockerFile", + "TensorFlow", + "CoreML" + ], + "trainingType": "Regular", + "reservedBudgetInHours": 0, + "publishName": "" + } + ] + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetProject.json new file mode 100644 index 000000000000..4b68bf1ea390 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetProject.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "name": "My New Project", + "description": "A test project", + "settings": { + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + }, + "created": "2017-12-18T05:43:18Z", + "lastModified": "2017-12-18T05:43:18Z", + "thumbnailUri": "" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetProjects.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetProjects.json new file mode 100644 index 000000000000..b5166555936f --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetProjects.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "name": "My New Project", + "description": "", + "settings": { + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + }, + "created": "2017-12-18T05:43:18Z", + "lastModified": "2017-12-18T05:43:18Z", + "thumbnailUri": "" + } + ] + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetTag.json new file mode 100644 index 000000000000..4ad3135822ae --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetTag.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "tagId": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01", + "name": "Tag1", + "description": "Description of Tag1", + "type": "Regular", + "imageCount": 0 + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetTaggedImageCount.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetTaggedImageCount.json new file mode 100644 index 000000000000..c0ed09aa6ae9 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetTaggedImageCount.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + }, + "responses": { + "200": { + "headers": {}, + "body": "10" + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetTaggedImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetTaggedImages.json new file mode 100644 index 000000000000..037118bc9d41 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetTaggedImages.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + }, + "responses": { + "200": { + "headers": {}, + "body": [] + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetTags.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetTags.json new file mode 100644 index 000000000000..6ad8ea76c689 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetTags.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01", + "name": "Tag1", + "description": "Description of Tag1", + "type": "Regular", + "imageCount": 0 + } + ] + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetUntaggedImageCount.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetUntaggedImageCount.json new file mode 100644 index 000000000000..c0ed09aa6ae9 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetUntaggedImageCount.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + }, + "responses": { + "200": { + "headers": {}, + "body": "10" + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetUntaggedImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetUntaggedImages.json new file mode 100644 index 000000000000..037118bc9d41 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/GetUntaggedImages.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + }, + "responses": { + "200": { + "headers": {}, + "body": [] + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/ImportProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/ImportProject.json new file mode 100644 index 000000000000..87702da27426 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/ImportProject.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "token": "token" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "name": "Import Project", + "description": "", + "settings": { + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + }, + "created": "2019-10-06T05:43:18Z", + "lastModified": "2019-10-06T05:43:18Z", + "thumbnailUri": "", + "status": "Importing" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/PublishIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/PublishIteration.json new file mode 100644 index 000000000000..67d6ad03e29f --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/PublishIteration.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "publishName": "Model1", + "predictionId": "/subscriptions/{subscription}/resourceGroups/{resource group name}/providers/Microsoft.CognitiveServices/accounts/{resource name}" + }, + "responses": { + "200": { + "headers": {}, + "body": true + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/QueryPredictions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/QueryPredictions.json new file mode 100644 index 000000000000..0bd19d6b7980 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/QueryPredictions.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "query": { + "orderBy": "Newest", + "tags": [ + { + "id": "b5f7e6a2-a481-49a6-afec-a7cef1af3544", + "maxThreshold": 1, + "minThreshold": 0.9 + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "results": [ + { + "id": "dfd2d346-3ed5-4e1e-857d-af4e32cec042", + "project": "8988643a-ae70-447d-9a22-15c4255e5ecb", + "iteration": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66", + "created": "2018-01-31T20:18:26Z", + "predictions": [ + { + "tagId": "b5f7e6a2-a481-49a6-afec-a7cef1af3544", + "tagName": "Tag 1", + "probability": 1.0 + }, + { + "tagId": "45619cda-d1c9-4bc8-a3e1-87c5d81adbc3", + "tagName": "Tag 2", + "probability": 3.60627153E-12 + } + ], + "originalImageUri": "", + "thumbnailUri": "", + "resizedImageUri": "", + "domain": "b30a91ae-e3c1-4f73-a81e-c270bff27c39" + } + ], + "token": { + "session": "1:286613", + "continuation": "", + "maxCount": 0, + "orderBy": "Newest", + "tags": [ + { + "id": "b5f7e6a2-a481-49a6-afec-a7cef1af3544", + "minThreshold": 0.9, + "maxThreshold": 1.0 + } + ], + "iterationId": null, + "startTime": null, + "endTime": null, + "application": "" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/QuerySuggestedImageCount.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/QuerySuggestedImageCount.json new file mode 100644 index 000000000000..bfe12dad0540 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/QuerySuggestedImageCount.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66", + "query": { + "tagIds": [ + "b5f7e6a2-a481-49a6-afec-a7cef1af3544" + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "b5f7e6a2-a481-49a6-afec-a7cef1af3544": 1 + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/QuerySuggestedImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/QuerySuggestedImages.json new file mode 100644 index 000000000000..c42db2bc784f --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/QuerySuggestedImages.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66", + "query": { + "tagIds": [ + "b5f7e6a2-a481-49a6-afec-a7cef1af3544" + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "results": [ + { + "id": "dfd2d346-3ed5-4e1e-857d-af4e32cec042", + "project": "8988643a-ae70-447d-9a22-15c4255e5ecb", + "iteration": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66", + "created": "2018-01-31T20:18:26Z", + "predictions": [ + { + "tagId": "b5f7e6a2-a481-49a6-afec-a7cef1af3544", + "tagName": "Tag 1", + "probability": 1.0 + }, + { + "tagId": "45619cda-d1c9-4bc8-a3e1-87c5d81adbc3", + "tagName": "Tag 2", + "probability": 3.60627153E-12 + } + ], + "originalImageUri": "", + "thumbnailUri": "", + "resizedImageUri": "", + "domain": "b30a91ae-e3c1-4f73-a81e-c270bff27c39" + } + ], + "token": { + "session": "1:286613", + "continuation": "", + "maxCount": 0, + "sortBy": "Newest", + "tagIds": [ + "b5f7e6a2-a481-49a6-afec-a7cef1af3544" + ] + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/QuickTestImage.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/QuickTestImage.json new file mode 100644 index 000000000000..489852dc79df --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/QuickTestImage.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "imageData": "multipart-form-data" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "951098b2-9b69-427b-bddb-d5cb618874e3", + "project": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iteration": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "created": "2017-12-19T14:21:41Z", + "predictions": [ + { + "tagId": "e31ff107-5505-4753-be42-b369b21b026c", + "tagName": "Hemlock", + "probability": 0.05149666 + }, + { + "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a", + "tagName": "Japanese Cherry", + "probability": 0.00 + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/QuickTestImageUrl.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/QuickTestImageUrl.json new file mode 100644 index 000000000000..dc904ef6f116 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/QuickTestImageUrl.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "imageUrl": { + "url": "{Image URL}" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "951098b2-9b69-427b-bddb-d5cb618874e3", + "project": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iteration": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "created": "2017-12-19T14:21:41Z", + "predictions": [ + { + "tagId": "e31ff107-5505-4753-be42-b369b21b026c", + "tagName": "Hemlock", + "probability": 0.05149666 + }, + { + "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a", + "tagName": "Japanese Cherry", + "probability": 0.00 + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/SuggestTagsAndRegions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/SuggestTagsAndRegions.json new file mode 100644 index 000000000000..175a0a2a01e0 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/SuggestTagsAndRegions.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "imageIds": [ + "e7f08c23-9e54-49f7-b609-69a0240ba306", + "ce632666-4b66-4adb-aa0a-ad8b7c32df06" + ] + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "8497e814-23cc-47d7-b24b-691cef0bcec9", + "project": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iteration": "ce271ee4-cc13-460f-b66f-993f8005522d", + "created": "2019-07-08T13:43:18Z", + "predictions": [ + { + "tagId": "b5f7e6a2-a481-49a6-afec-a7cef1af3544", + "tagName": "Tag 1", + "probability": 1.0 + }, + { + "tagId": "45619cda-d1c9-4bc8-a3e1-87c5d81adbc3", + "tagName": "Tag 2", + "probability": 3.60627153E-12 + } + ], + "predictionUncertainty": 0.32 + } + ] + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/TrainProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/TrainProject.json new file mode 100644 index 000000000000..dd3deca15afb --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/TrainProject.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "trainingParameters": {} + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "name": "Iteration 2", + "status": "Training", + "created": "2017-12-18T22:40:36Z", + "lastModified": "2017-12-19T15:46:58Z", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "exportable": false, + "domainId": null, + "exportableTo": [ + "ONNX", + "DockerFile", + "TensorFlow", + "CoreML" + ], + "trainingType": "Regular", + "reservedBudgetInHours": 0, + "publishName": "" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/UnpublishIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/UnpublishIteration.json new file mode 100644 index 000000000000..d1f9b7629958 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/UnpublishIteration.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758" + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/UpdateImageMetadata.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/UpdateImageMetadata.json new file mode 100644 index 000000000000..54ac8a7a0725 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/UpdateImageMetadata.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "imageIds": [ + "4d6eb844-42ee-42bc-bd6f-c32455ef07c9" + ], + "metadata": { + "tag": "value" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "isBatchSuccessful": true, + "images": [ + { + "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "status": "OK", + "metadata": { + "tag": "value" + } + } + ] + } + }, + "207": { + "headers": {}, + "body": { + "isBatchSuccessful": false, + "images": [ + { + "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "status": "ErrorLimitExceed" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/UpdateIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/UpdateIteration.json new file mode 100644 index 000000000000..a965deb8aa0f --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/UpdateIteration.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "updatedIteration": { + "name": "Best Iteration" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "name": "Best Iteration", + "status": "Completed", + "created": "2017-12-18T22:40:36Z", + "lastModified": "2017-12-19T15:53:07Z", + "trainedAt": "2017-12-19T15:47:02Z", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "exportable": false, + "exportableTo": [ + "ONNX", + "DockerFile", + "TensorFlow", + "CoreML" + ], + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31", + "trainingType": "Regular", + "reservedBudgetInHours": 0, + "publishName": "" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/UpdateProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/UpdateProject.json new file mode 100644 index 000000000000..e19735364b5e --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/UpdateProject.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "updatedProject": { + "name": "New Project Name", + "description": "A new Description", + "settings": { + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "name": "New Project Name", + "description": "A new Description", + "settings": { + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + }, + "created": "2017-12-18T05:43:18Z", + "lastModified": "2017-12-18T05:43:19Z", + "thumbnailUri": "" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/UpdateTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/UpdateTag.json new file mode 100644 index 000000000000..51e0ee680aab --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.3/examples/UpdateTag.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "tagId": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01", + "updatedTag": { + "name": "Better Tag Name", + "type": "Regular", + "description": "Better description" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01", + "name": "Better Tag Name", + "description": "Better description", + "type": "Regular", + "imageCount": 0 + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/readme.md b/specification/cognitiveservices/data-plane/FormRecognizer/readme.md index 969d24a80c96..6cf863de25a5 100644 --- a/specification/cognitiveservices/data-plane/FormRecognizer/readme.md +++ b/specification/cognitiveservices/data-plane/FormRecognizer/readme.md @@ -64,7 +64,7 @@ csharp: license-header: MICROSOFT_MIT_NO_VERSION azure-arm: false namespace: Microsoft.Azure.CognitiveServices.FormRecognizer - output-folder: $(csharp-sdks-folder)/CognitiveServices/Vision.FormRecognizer/src/Generated + output-folder: $(csharp-sdks-folder)/CognitiveServices/FormRecognizer/src/Generated title: "FormRecognizerClient" clear-output-folder: true ``` diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/preview/v2.0/Identification.json b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/preview/v2.0/Identification.json new file mode 100644 index 000000000000..d5476d4178cc --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/preview/v2.0/Identification.json @@ -0,0 +1,831 @@ +{ + "swagger": "2.0", + "info": { + "title": "Speaker Identification API", + "version": "2.0", + "description": "This API is currently available in:\n\n* West US - westus.api.cognitive.microsoft.com" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{Endpoint}/speaker/identification/v2.0", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "apiKeyHeader": { + "type": "apiKey", + "name": "Ocp-Apim-Subscription-Key", + "in": "header" + } + }, + "security": [ + { + "apiKeyHeader": [] + } + ], + "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 + }, + "profileIdParam": { + "in": "path", + "name": "profileId", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false, + "pattern": "^([0-9a-fA-F]){8}-?([0-9a-fA-F]){4}-?([0-9a-fA-F]){4}-?([0-9a-fA-F]){4}-?([0-9a-fA-F]){12}$", + "description": "Unique identifier for profile id (guid).", + "x-ms-parameter-location": "method" + }, + "localeParam": { + "in": "path", + "name": "locale", + "required": true, + "type": "string", + "x-nullable": false, + "pattern": "^[a-zA-Z]{2}-?[a-zA-Z]{2}$", + "description": "A combination of language code and country code.", + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "ProfileId": { + "type": "string", + "pattern": "^([0-9a-fA-F]){8}-?([0-9a-fA-F]){4}-?([0-9a-fA-F]){4}-?([0-9a-fA-F]){4}-?([0-9a-fA-F]){12}$", + "description": "Unique identifier for profile id (guid).", + "example": "49a36324-fc4b-4387-aa06-090cfbf0064f", + "format": "uuid", + "x-nullable": false + }, + "Locale": { + "type": "string", + "pattern": "^[a-zA-Z]{2}-?[a-zA-Z]{2}$", + "x-nullable": false, + "description": "Language identifier consisting of a combination of language code and country code.", + "example": "en-US" + }, + "EnrollmentStatus": { + "type": "string", + "description": "Status representing the current state of the profile. Available values are:\n* Enrolling: profile has no voice print and not ready for recognition requests.\n* Training: voice print of profile is being created and can’t be used for recognition at the moment.\n* Enrolled: profile has a voice print and ready for recognition requests.", + "enum": [ + "Enrolling", + "Training", + "Enrolled" + ], + "x-ms-enum": { + "name": "TrainingStatusType", + "modelAsString": false + }, + "example": "Enrolling" + }, + "CreatedDateTime": { + "type": "string", + "description": "Profile creation datetime.", + "example": "2015-04-23T18:25:43.41Z" + }, + "LastUpdatedDateTime": { + "type": "string", + "description": "Last datetime when the profile was updated.", + "example": "2015-04-23T19:34:51.52Z" + }, + "EnrollmentsCount": { + "type": "integer", + "description": "Number of enrolment audios accepted for this profile.", + "example": 1 + }, + "EnrollmentsLength": { + "type": "number", + "description": "Total length of enrollment audios accepted for this profile in seconds.", + "example": 1.83 + }, + "EnrollmentsSpeechLength": { + "type": "number", + "description": "Summation of pure speech (which is the amount of audio after removing silence and non-speech segments) across all profile enrollments in seconds.", + "example": 1.35 + }, + "RemainingEnrollmentsSpeechLength": { + "type": "number", + "description": "Amount of pure speech (which is the amount of audio after removing silence and non-speech segments) needed to complete profile enrollment in seconds.", + "example": 18.65 + }, + "ModelVersion": { + "type": "string", + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "description": "Date specifying the model assigned to this profile. Format is yyyy-mm-dd. If profile has no enrollments, this value will be empty.", + "example": "2019-12-05" + }, + "LocaleInfo": { + "description": "Speaker profile locale", + "required": [ + "locale" + ], + "properties": { + "locale": { + "$ref": "#/definitions/Locale" + } + } + }, + "TiProfileInfoList": { + "description": "Text-Independent Speaker profile info list", + "properties": { + "profiles": { + "items": { + "$ref": "#/definitions/TiProfileInfo" + } + }, + "@nextLink": { + "type": "string", + "example": "https://{Endpoint}/text-independent/profiles?$top=35&$continuationToken=U21pdGg1QmVuOTk5" + } + } + }, + "TiProfileInfo": { + "description": "Text-Independent Speaker profile info", + "properties": { + "profileId": { + "$ref": "#/definitions/ProfileId" + }, + "locale": { + "$ref": "#/definitions/Locale" + }, + "enrollmentStatus": { + "$ref": "#/definitions/EnrollmentStatus" + }, + "createdDateTime": { + "$ref": "#/definitions/CreatedDateTime" + }, + "lastUpdatedDateTime": { + "$ref": "#/definitions/LastUpdatedDateTime" + }, + "enrollmentsCount": { + "$ref": "#/definitions/EnrollmentsCount" + }, + "enrollmentsLength": { + "$ref": "#/definitions/EnrollmentsLength" + }, + "enrollmentsSpeechLength": { + "$ref": "#/definitions/EnrollmentsSpeechLength" + }, + "remainingEnrollmentsSpeechLength": { + "$ref": "#/definitions/RemainingEnrollmentsSpeechLength" + }, + "modelVersion": { + "$ref": "#/definitions/ModelVersion" + } + } + }, + "TiEnrollmentInfo": { + "description": "Speaker profile enrollment info", + "properties": { + "profileId": { + "$ref": "#/definitions/ProfileId" + }, + "enrollmentStatus": { + "$ref": "#/definitions/EnrollmentStatus" + }, + "enrollmentsCount": { + "$ref": "#/definitions/EnrollmentsCount" + }, + "enrollmentsLength": { + "$ref": "#/definitions/EnrollmentsLength" + }, + "enrollmentsSpeechLength": { + "$ref": "#/definitions/EnrollmentsSpeechLength" + }, + "remainingEnrollmentsSpeechLength": { + "$ref": "#/definitions/RemainingEnrollmentsSpeechLength" + }, + "audioLength": { + "type": "number", + "description": "This enrolment audio length in seconds.", + "example": 1.83 + }, + "audioSpeechLength": { + "type": "number", + "description": "This enrollment audio pure speech (which is the amount of audio after removing silence and non-speech segments) length in seconds.", + "example": 1.35 + } + } + }, + "IdentifiedSingleSpeakerInfo": { + "properties": { + "identifiedProfile": { + "description": "Object containing data of identified profile.", + "$ref": "#/definitions/IdentifyInfo" + }, + "profilesRanking": { + "description": "Object containing data of the top 5 profiles (including identified profile) sorted in descending order by score.", + "items": { + "$ref": "#/definitions/IdentifyInfo" + }, + "example": [ + { + "profileId": "111f427c-3791-468f-b709-fcef7660fff9", + "score": 0.63 + }, + { + "profileId": "3669fa29-1bf3-45ad-beea-6b348d058d7e", + "score": 0.49 + }, + { + "profileId": "0e196cd9-32d5-4883-8631-54a0e7c7cb3d", + "score": 0.4 + }, + { + "profileId": "726e57d9-04e0-4214-b482-7f786fa83560", + "score": 0.1 + }, + { + "profileId": "f95189fd-1bf5-4485-9c2e-e5897e0c98ca", + "score": 0.03 + } + ] + } + } + }, + "IdentifyInfo": { + "description": "Identified speaker info", + "properties": { + "profileId": { + "type": "string", + "pattern": "^([0-9a-fA-F]){8}-?([0-9a-fA-F]){4}-?([0-9a-fA-F]){4}-?([0-9a-fA-F]){4}-?([0-9a-fA-F]){12}$", + "description": "ID of identified of profile. If no candidate is identified as the right speaker, the value is set to empty GUID.", + "example": "111f427c-3791-468f-b709-fcef7660fff9", + "format": "uuid", + "x-nullable": false + }, + "score": { + "type": "number", + "description": "A float number indicating the similarity between input audio and targeted voice print. This number must be between 0 and 1. A higher number means higher similarity.", + "example": 0.63 + } + } + }, + "Error": { + "required": [ + "error" + ], + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + } + } + }, + "responses": { + "NotFound": { + "description": "NotFound - Requested profile doesn't exist", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "Not Found", + "message": "Requested profile doesn't exist" + } + } + }, + "x-ms-error-response": true + }, + "Unauthorized": { + "description": "Request is not authorized. Make sure subscription key is included and valid.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "Unauthorized", + "message": "Request is not authorized. Make sure subscription key is included and valid." + } + } + }, + "x-ms-error-response": true + }, + "RateLimit": { + "description": "Rate limit is exceeded.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "RateLimit", + "message": "Rate limit is exceeded." + } + } + }, + "x-ms-error-response": true + }, + "ServerError": { + "description": "Internal Server Error.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error." + } + } + }, + "x-ms-error-response": true + } + }, + "paths": { + "/text-independent/profiles": { + "post": { + "description": "Creates a new speaker profile with specified locale.\nOne subscription can create 10,000 speaker profiles at most.", + "operationId": "TextIndependent_CreateProfile", + "summary": "Create Profile", + "x-ms-examples": { + "Successful Query": { + "$ref": "./examples/createProfile.json" + } + }, + "tags": [ + "text-independent" + ], + "parameters": [ + { + "in": "body", + "name": "profileInfo", + "description": "Provide following detail info when creating a new profile.\nFields | Description\n------- | ------------\nlocale | Locale for the language of this speaker profile. A complete supported locale list is here:
  • **en-US**
  • **es-ES**
  • **fr-FR**
  • **zh-CN**
  • **de-DE**
  • **en-GB**
  • **en-AU**
  • **en-CA**
  • **fr-CA**
  • **it-IT**
  • **es-MX**
  • **ja-JP**
  • **pt-BR**
  • **en-IN**
", + "schema": { + "$ref": "#/definitions/LocaleInfo" + } + } + ], + "responses": { + "201": { + "description": "Speaker profile created successfully. GUID is returned to reference the created profile.", + "headers": { + "Location": { + "type": "string", + "description": "url location of new resource" + } + }, + "schema": { + "$ref": "#/definitions/TiProfileInfo" + } + }, + "400": { + "description": "Bad Request\n* InvalidRequest - Request body is missing.\n* InvalidRequest - Invalid JSON format.\n* InvalidRequest - Locale parameter is missing.\n* InvalidArgument - Invalid locale value. Supported locales are {comma-separated list of locales}.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "InvalidRequest", + "message": "Request body is missing." + } + } + }, + "x-ms-error-response": true + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "403": { + "description": "Forbidden - Maximum allowed number of profiles is 10,000.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "Forbidden", + "message": "Maximum allowed number of profiles is 10,000." + } + } + }, + "x-ms-error-response": true + }, + "415": { + "description": "UnsupportedMediaType - Unsupported media type. Only 'application/JSON' is accepted.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "UnsupportedMediaType", + "message": "Unsupported media type. Only 'application/JSON' is accepted." + } + } + }, + "x-ms-error-response": true + }, + "429": { + "$ref": "#/responses/RateLimit" + }, + "500": { + "$ref": "#/responses/ServerError" + } + } + }, + "get": { + "x-ms-pageable": { + "nextLinkName": "@nextLink", + "itemName": "profiles" + }, + "description": "Retrieves a set of profiles.\nProfiles are sorted alphabetically by ProfileId", + "operationId": "TextIndependent_ListProfiles", + "summary": "List Profile", + "x-ms-examples": { + "Successful Query": { + "$ref": "./examples/listProfiles.json" + } + }, + "tags": [ + "text-independent" + ], + "parameters": [ + { + "in": "query", + "name": "$top", + "description": "The number of profiles to return. Default is 100 and the maximum is 500", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TiProfileInfoList" + } + }, + "400": { + "description": "Bad Request\n* InvalidArgument - Invalid $top parameter value. Value should be positive integer in the range [1, 500].\n* InvalidArgument - Invalid $continuationToken value. $continuationToken must be generated form a prior API call.\n* InvalidArgument - $filter parameter is not supported.\n* InvalidArgument - $skip parameter is not supported.\n* InvalidArgument - $orderBy parameter is not supported.\n* InvalidArgument - $delta parameter is not supported.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "InvalidArgument", + "message": "Invalid $top parameter value. Value should be positive integer in the range [1, 500]" + } + } + }, + "x-ms-error-response": true + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "429": { + "$ref": "#/responses/RateLimit" + }, + "500": { + "$ref": "#/responses/ServerError" + } + } + } + }, + "/text-independent/profiles/{profileId}": { + "parameters": [ + { + "$ref": "#/parameters/profileIdParam" + } + ], + "get": { + "description": "Retrieves a single profile by ID.", + "operationId": "TextIndependent_GetProfile", + "summary": "Retrieve Single Profile", + "x-ms-examples": { + "Successful Query": { + "$ref": "./examples/fetchProfile.json" + } + }, + "tags": [ + "text-independent" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TiProfileInfo" + } + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "429": { + "$ref": "#/responses/RateLimit" + }, + "500": { + "$ref": "#/responses/ServerError" + } + } + }, + "delete": { + "description": "Deletes an existing profile.", + "operationId": "TextIndependent_DeleteProfile", + "summary": "Delete Profile", + "x-ms-examples": { + "Successful Query": { + "$ref": "./examples/deleteProfile.json" + } + }, + "tags": [ + "text-independent" + ], + "responses": { + "204": { + "description": "OK" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "429": { + "$ref": "#/responses/RateLimit" + }, + "500": { + "$ref": "#/responses/ServerError" + } + } + } + }, + "/text-independent/profiles/{profileId}/reset": { + "parameters": [ + { + "$ref": "#/parameters/profileIdParam" + } + ], + "post": { + "description": "Resets existing profile to its original creation state. The reset operation does the following:\n* Updates enrollmentStatus to Enrolling.\n* Updates lastUpdatedDateTime.\n* Updates enrollmentsCount to 0.\n* Updates enrollmentsLength to 0.\n* Updates enrollmentsSpeechLength to 0.\n* Updates remainingEnrollmentsSpeechLength to the required number.\n* Removes all associated enrollments from storage.\n* Removes chosen passphrase association.\n* Resets value of modelVersion.", + "operationId": "TextIndependent_ResetProfile", + "summary": "Reset Profile", + "x-ms-examples": { + "Successful Query": { + "$ref": "./examples/resetProfile.json" + } + }, + "tags": [ + "text-independent" + ], + "responses": { + "204": { + "description": "OK" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "429": { + "$ref": "#/responses/RateLimit" + }, + "500": { + "$ref": "#/responses/ServerError" + } + } + } + }, + "/text-independent/profiles/{profileId}/enrollments": { + "parameters": [ + { + "$ref": "#/parameters/profileIdParam" + } + ], + "post": { + "description": "Adds an enrollment to existing profile.\nIf the minimum number of requested enrollment audios is reached, a voice print is created.\nIf the voice print was created before, it gets recreated from all existing enrollment audios including the new one.\n\nLimitations:\n* Minimum audio input length per request is **1 second**\n* Maximum audio input length per request is **120 seconds**\n* Minimum total effective speech length (excluding silence and other non-speech frames) for creating a voiceprint is **20 seconds**\n This limitation can be disabled by setting ignoreMinLength to **true**.\n\n* Maximum total audio input length allowed for creating a voiceprint is **300 seconds**\n* Minimum audio Signal-to-noise ratio (SNR) is **0dB**", + "operationId": "TextIndependent_CreateEnrollment", + "summary": "Enroll Profile", + "x-ms-examples": { + "Successful Query": { + "$ref": "./examples/createEnrollment.json" + } + }, + "tags": [ + "text-independent" + ], + "consumes": [ + "audio/wav; codecs=audio/pcm" + ], + "parameters": [ + { + "in": "query", + "name": "ignoreMinLength", + "type": "boolean", + "description": "If true, a voice print will be created immediately for this profile regardless of how much speech is supplied or stored. Default is false." + }, + { + "name": "audioData", + "in": "body", + "description": "Binary audio file. Supported formats are audio/wav; codecs=audio/pcm. Supports audio up to 5MB.", + "required": true, + "schema": { + "type": "object", + "format": "file" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/TiEnrollmentInfo" + } + }, + "400": { + "description": "Bad Request\n* InvalidRequest - Invalid audio length. Maximum allowed length per enrollment request is 120 seconds.\n* InvalidRequest - Invalid audio length. Minimum allowed length per enrollment request is 1 second.\n* InvalidRequest - Invalid audio format. Supported format is 16Khz 16bit Mono PCM.\n* InvalidArgument - Invalid ignoreMinLength parameter value. Valid values are \"true\" and \"false\".\n* InvalidRequest - Minimum audio Signal-to-noise ratio (SNR) is 0dB\n* InvalidRequest - Audio is too noisy. The minimum allowed Signal-to-noise ratio (SNR) is 0dB.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "InvalidRequest", + "message": "Audio is too noisy." + } + } + }, + "x-ms-error-response": true + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "403": { + "description": "Forbidden\n* InvalidRequest - Maximum allowed length across all profile enrollments is 300 seconds.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "InvalidRequest", + "message": "Maximum allowed length across all profile enrollments is 300 seconds." + } + } + }, + "x-ms-error-response": true + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "409": { + "description": "Conflict\n* Conflict - Sending concurrent requests on same profile is not allowed.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "Conflict", + "message": "Sending concurrent requests on same profile is not allowed." + } + } + }, + "x-ms-error-response": true + }, + "415": { + "description": "UnsupportedMediaType - Unsupported media type. Only \"audio/wav; codecs=audio/pcm\" is accepted.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "UnsupportedMediaType", + "message": "Unsupported media type. Only 'audio/wav; codecs=audio/pcm' is accepted." + } + } + }, + "x-ms-error-response": true + }, + "429": { + "$ref": "#/responses/RateLimit" + }, + "500": { + "$ref": "#/responses/ServerError" + } + } + } + }, + "/text-independent/profiles/identifySingleSpeaker": { + "post": { + "description": "Identifies who is speaking in input audio among a list of candidate profiles.\n\nLimitations:\n* Minimum audio input length is **1 second**\n* Maximum audio input length is **120 seconds**\n* Minimum candidate speakers count is **1**\n* Maximum candidate speakers count is **50**\n* Minimum effective speech length (excluding silence and other non-speech frames) is **4 seconds**\n This limitation can be disabled by setting \"ignoreMinLength\" to **true**.\n\n* Minimum audio Signal-to-noise ratio (SNR) is **0dB**", + "operationId": "TextIndependent_IdentifySingleSpeaker", + "summary": "Identify Single Speaker Profile", + "x-ms-examples": { + "Successful Query": { + "$ref": "./examples/identifySingleSpeaker.json" + } + }, + "tags": [ + "text-independent" + ], + "consumes": [ + "audio/wav; codecs=audio/pcm" + ], + "parameters": [ + { + "in": "query", + "name": "profileIds", + "type": "string", + "required": true, + "description": "Comma-delimited profile IDs. Maximum supported number is 50 IDs." + }, + { + "in": "query", + "name": "ignoreMinLength", + "type": "boolean", + "description": "If true, the minimum amount of speech needed for identification is skipped. Default is false." + }, + { + "name": "audioData", + "in": "body", + "description": "Binary audio file. Supported formats are audio/wav; codecs=audio/pcm. Supports audio up to 5MB.", + "required": true, + "schema": { + "type": "object", + "format": "file" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IdentifiedSingleSpeakerInfo" + } + }, + "400": { + "description": "Bad Request\n* InvalidRequest - Invalid audio length. Maximum allowed length per recognition request is 120 seconds.\n* InvalidRequest - Invalid audio length. Minimum allowed length per recognition request is 1 second.\n* InvalidRequest - Invalid audio format. Supported format is 16Khz 16bit Mono PCM.\n* InvalidArgument - Invalid ignoreMinLength parameter value. Valid values are \"true\" and \"false\".\n* InvalidArgument - Invalid profileIds parameter value. It should be comma-delimited list of IDs containing at least one ID.\n* InvalidRequest - profileIds parameter is missing. It should be comma-delimited list of IDs containing at least one ID.\n* InvalidRequest - Invalid group of profiles. Profiles must have the same locale.\n* InvalidRequest - Maximum number of profiles allowed per request is 50.\n* InvalidRequest - Minimum audio Signal-to-noise ratio (SNR) is 0dB\n* InvalidRequest - Profile is not enrolled.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "InvalidRequest", + "message": "Profile is not enrolled." + } + } + }, + "x-ms-error-response": true + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "415": { + "description": "UnsupportedMediaType - Unsupported media type. Only \"audio/wav; codecs=audio/pcm\" is accepted.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "UnsupportedMediaType", + "message": "Unsupported media type. Only 'audio/wav; codecs=audio/pcm' is accepted." + } + } + }, + "x-ms-error-response": true + }, + "429": { + "$ref": "#/responses/RateLimit" + }, + "500": { + "$ref": "#/responses/ServerError" + } + } + } + } + }, + "tags": [] +} diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/preview/v2.0/examples/createEnrollment.json b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/preview/v2.0/examples/createEnrollment.json new file mode 100644 index 000000000000..b7eb28955a51 --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/preview/v2.0/examples/createEnrollment.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "audio/wav; codecs=audio/pcm", + "Ocp-Apim-Subscription-Key": "{API key}", + "profileId": "49a36324-fc4b-4387-aa06-090cfbf0064f", + "audioData": "{binary file date}" + }, + "responses": { + "201": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "profileId": "49a36324-fc4b-4387-aa06-090cfbf0064f", + "enrollmentStatus": "Enrolling", + "enrollmentsCount": 1, + "enrollmentsLength": 1.83, + "enrollmentsSpeechLength": 1.35, + "remainingEnrollmentsSpeechLength": 18.65, + "audioLength": 1.83, + "audioSpeechLength": 1.35 + } + }, + "400": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InvalidRequest", + "message": "Audio is too noisy." + } + } + }, + "401": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Unauthorized", + "message": "Request is not authorized. Make sure subscription key is included and valid." + } + } + }, + "403": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InvalidRequest", + "message": "Maximum allowed length across all profile enrollments is 300 seconds." + } + } + }, + "404": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Not Found", + "message": "Requested profile doesn't exist" + } + } + }, + "409": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Conflict", + "message": "Sending concurrent requests on same profile is not allowed." + } + } + }, + "415": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "UnsupportedMediaType", + "message": "Unsupported media type. Only 'audio/wav; codecs=audio/pcm' is accepted." + } + } + }, + "429": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "RateLimit", + "message": "Rate limit is exceeded." + } + } + }, + "500": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error." + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/preview/v2.0/examples/createProfile.json b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/preview/v2.0/examples/createProfile.json new file mode 100644 index 000000000000..f20460a77a87 --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/preview/v2.0/examples/createProfile.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "profileInfo": { + "locale": "en-us" + } + }, + "responses": { + "201": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "profileId": "49a36324-fc4b-4387-aa06-090cfbf0064f", + "locale": "en-US", + "enrollmentStatus": "Enrolling", + "createdDateTime": "2015-04-23T18:25:43.41Z", + "lastUpdatedDateTime": "2015-04-23T18:25:43.41Z", + "enrollmentsCount": 0, + "enrollmentsLength": 0, + "enrollmentsSpeechLength": 0, + "remainingEnrollmentsSpeechLength": 20, + "modelVersion": "2019-12-05" + } + }, + "400": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InvalidRequest", + "message": "Request body is missing." + } + } + }, + "401": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Unauthorized", + "message": "Request is not authorized. Make sure subscription key is included and valid." + } + } + }, + "403": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Forbidden", + "message": "Maximum allowed number of profiles is 10,000." + } + } + }, + "415": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "UnsupportedMediaType", + "message": "Unsupported media type. Only 'application/JSON' is accepted." + } + } + }, + "429": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "RateLimit", + "message": "Rate limit is exceeded." + } + } + }, + "500": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error." + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/preview/v2.0/examples/deleteProfile.json b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/preview/v2.0/examples/deleteProfile.json new file mode 100644 index 000000000000..1af07b0b1a4f --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/preview/v2.0/examples/deleteProfile.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "profileId": "49a36324-fc4b-4387-aa06-090cfbf0064f" + }, + "responses": { + "204": { + "headers": { + "Content-Type": "application/json" + } + }, + "401": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Unauthorized", + "message": "Request is not authorized. Make sure subscription key is included and valid." + } + } + }, + "429": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "RateLimit", + "message": "Rate limit is exceeded." + } + } + }, + "500": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error." + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/preview/v2.0/examples/fetchProfile.json b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/preview/v2.0/examples/fetchProfile.json new file mode 100644 index 000000000000..5ab27b08d95f --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/preview/v2.0/examples/fetchProfile.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "profileId": "49a36324-fc4b-4387-aa06-090cfbf0064f" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "profileId": "49a36324-fc4b-4387-aa06-090cfbf0064f", + "locale": "en-US", + "enrollmentStatus": "Enrolling", + "createdDateTime": "2015-04-23T18:25:43.41Z", + "lastUpdatedDateTime": "2015-04-23T19:34:51.52Z", + "enrollmentsCount": 1, + "enrollmentsLength": 1.83, + "enrollmentsSpeechLength": 1.35, + "remainingEnrollmentsSpeechLength": 18.65, + "modelVersion": "2019-12-05" + } + }, + "401": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Unauthorized", + "message": "Request is not authorized. Make sure subscription key is included and valid." + } + } + }, + "404": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Not Found", + "message": "Requested profile doesn't exist" + } + } + }, + "429": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "RateLimit", + "message": "Rate limit is exceeded." + } + } + }, + "500": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error." + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/preview/v2.0/examples/identifySingleSpeaker.json b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/preview/v2.0/examples/identifySingleSpeaker.json new file mode 100644 index 000000000000..927ec1be8ab0 --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/preview/v2.0/examples/identifySingleSpeaker.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "audio/wav; codecs=audio/pcm", + "Ocp-Apim-Subscription-Key": "{API key}", + "profileIds": "3669fa29-1bf3-45ad-beea-6b348d058d7e,111f427c-3791-468f-b709-fcef7660fff9,0e196cd9-32d5-4883-8631-54a0e7c7cb3d,0e196cd9-32d5-4883-8631-54a0e7c7cb3d,726e57d9-04e0-4214-b482-7f786fa83560,f95189fd-1bf5-4485-9c2e-e5897e0c98ca", + "audioData": "{binary file date}" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "identifiedProfile": { + "profileId": "111f427c-3791-468f-b709-fcef7660fff9", + "score": 0.63 + }, + "profilesRanking": [ + { + "profileId": "111f427c-3791-468f-b709-fcef7660fff9", + "score": 0.63 + }, + { + "profileId": "3669fa29-1bf3-45ad-beea-6b348d058d7e", + "score": 0.49 + }, + { + "profileId": "0e196cd9-32d5-4883-8631-54a0e7c7cb3d", + "score": 0.4 + }, + { + "profileId": "726e57d9-04e0-4214-b482-7f786fa83560", + "score": 0.1 + }, + { + "profileId": "f95189fd-1bf5-4485-9c2e-e5897e0c98ca", + "score": 0.03 + } + ] + } + }, + "400": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InvalidRequest", + "message": "Profile is not enrolled." + } + } + }, + "401": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Unauthorized", + "message": "Request is not authorized. Make sure subscription key is included and valid." + } + } + }, + "415": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "UnsupportedMediaType", + "message": "Unsupported media type. Only 'audio/wav; codecs=audio/pcm' is accepted." + } + } + }, + "429": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "RateLimit", + "message": "Rate limit is exceeded." + } + } + }, + "500": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error." + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/preview/v2.0/examples/listProfiles.json b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/preview/v2.0/examples/listProfiles.json new file mode 100644 index 000000000000..1e6916cfd8e0 --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/preview/v2.0/examples/listProfiles.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "profiles": [ + { + "profileId": "49a36324-fc4b-4387-aa06-090cfbf0064f", + "locale": "en-US", + "enrollmentStatus": "Enrolling", + "createdDateTime": "2015-04-23T18:25:43.41Z", + "lastUpdatedDateTime": "2015-04-23T19:34:51.52Z", + "enrollmentsCount": 1, + "enrollmentsLength": 1.83, + "enrollmentsSpeechLength": 1.35, + "remainingEnrollmentsSpeechLength": 18.65, + "modelVersion": "2019-12-05" + } + ], + "@nextLink": "https://{Endpoint}/text-independent/profiles?$top=35&$continuationToken=U21pdGg1QmVuOTk5" + } + }, + "400": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InvalidArgument", + "message": "Invalid $top parameter value. Value should be positive integer in the range [1, 500]" + } + } + }, + "401": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Unauthorized", + "message": "Request is not authorized. Make sure subscription key is included and valid." + } + } + }, + "429": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "RateLimit", + "message": "Rate limit is exceeded." + } + } + }, + "500": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error." + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/preview/v2.0/examples/resetProfile.json b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/preview/v2.0/examples/resetProfile.json new file mode 100644 index 000000000000..83389ad8eb82 --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/preview/v2.0/examples/resetProfile.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "profileId": "49a36324-fc4b-4387-aa06-090cfbf0064f" + }, + "responses": { + "204": { + "headers": { + "Content-Type": "application/json" + } + }, + "401": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Unauthorized", + "message": "Request is not authorized. Make sure subscription key is included and valid." + } + } + }, + "404": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Not Found", + "message": "Requested profile doesn't exist" + } + } + }, + "429": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "RateLimit", + "message": "Rate limit is exceeded." + } + } + }, + "500": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error." + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/readme.md b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/readme.md new file mode 100644 index 000000000000..3b3cb7393249 --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/readme.md @@ -0,0 +1,92 @@ +# Cognitive Services Speaker Recognition SDKs + +> see https://aka.ms/autorest + +Configuration for generating Speaker Verification SDK. + +``` yaml +tag: identification_2_0_preview +add-credentials: true +openapi-type: data-plane +``` + +The current release for the Authoring Endpoint is `identification_2_0_preview`. + +# Releases + +## Identification 2.0 +These settings apply only when `--tag=identification_2_0_preview` is specified on the command line. + +``` yaml $(tag) == 'identification_2_0_preview' +input-file: preview/v2.0/Identification.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-js + - repo: azure-sdk-for-node +``` + +### CSharp Settings +These settings apply only when `--csharp` is specified on the command line. +``` yaml $(csharp) +csharp: + sync-methods: None + license-header: MICROSOFT_MIT_NO_VERSION + azure-arm: false + namespace: Microsoft.Azure.CognitiveServices.speech.speaker.identification + output-folder: $(csharp-sdks-folder)/CognitiveServices/speech.speaker.identification/src/Generated + clear-output-folder: true +``` + +## Java + +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 + namespace: com.microsoft.azure.cognitiveservices.speech.speaker.identification + license-header: MICROSOFT_MIT_NO_CODEGEN + payload-flattening-threshold: 1 + output-folder: $(azure-libraries-for-java-folder)/cognitiveservices/data-plane/speech/speaker/identification + with-optional-parameters: true + with-single-async-method: 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)/preview/v2.0/Identification.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/SpeakerRecognition/Identification/readme.nodejs.md b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/readme.nodejs.md new file mode 100644 index 000000000000..8e7f4305b148 --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/readme.nodejs.md @@ -0,0 +1,14 @@ +## Node.js + +These settings apply only when `--nodejs` is specified on the command line. +Please also specify `--node-sdks-folder=`. + +``` yaml $(nodejs) +nodejs: + package-name: azure-cognitiveservices-speech-speaker-identification + output-folder: $(node-sdks-folder)/lib/services/speech/speaker/identification + azure-arm: false + generate-license-txt: true + generate-package-json: true + generate-readme-md: true +``` diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/readme.python.md b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/readme.python.md new file mode 100644 index 000000000000..f80705467b9c --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/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: + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: azure.cognitiveservices.speech.speaker.identification + package-name: azure-cognitiveservices-speech-speaker + clear-output-folder: true + +``` +``` yaml $(python) && $(python-mode) == 'update' +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/cognitiveservices/speech/speaker/identification +``` +``` yaml $(python) && $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-speech-speaker +``` diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/readme.typescript.md b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/readme.typescript.md new file mode 100644 index 000000000000..f7fae2db4c68 --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/readme.typescript.md @@ -0,0 +1,12 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +``` yaml $(typescript) +typescript: + package-name: "@azure/cognitiveservices-speaker-identification" + output-folder: "$(typescript-sdks-folder)/sdk/cognitiveservices/cognitiveservices-speaker-identification" + azure-arm: false + generate-metadata: true +``` diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/Verification.json b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/Verification.json new file mode 100644 index 000000000000..2530e8f3ea1c --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/Verification.json @@ -0,0 +1,1408 @@ +{ + "swagger": "2.0", + "info": { + "title": "Speaker Verification API", + "version": "2.0", + "description": "This API is currently available in:\n\n* West US - westus.api.cognitive.microsoft.com" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{Endpoint}/speaker/verification/v2.0", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "apiKeyHeader": { + "type": "apiKey", + "name": "Ocp-Apim-Subscription-Key", + "in": "header" + } + }, + "security": [ + { + "apiKeyHeader": [] + } + ], + "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 + }, + "profileIdParam": { + "in": "path", + "name": "profileId", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false, + "pattern": "^([0-9a-fA-F]){8}-?([0-9a-fA-F]){4}-?([0-9a-fA-F]){4}-?([0-9a-fA-F]){4}-?([0-9a-fA-F]){12}$", + "description": "Unique identifier for profile id (guid).", + "x-ms-parameter-location": "method" + }, + "localeParam": { + "in": "path", + "name": "locale", + "required": true, + "type": "string", + "x-nullable": false, + "pattern": "^[a-zA-Z]{2}-?[a-zA-Z]{2}$", + "description": "A combination of language code and country code.", + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "ProfileId": { + "type": "string", + "pattern": "^([0-9a-fA-F]){8}-?([0-9a-fA-F]){4}-?([0-9a-fA-F]){4}-?([0-9a-fA-F]){4}-?([0-9a-fA-F]){12}$", + "description": "Unique identifier for profile id (guid).", + "format": "uuid", + "x-nullable": false, + "example": "49a36324-fc4b-4387-aa06-090cfbf0064f" + }, + "Locale": { + "type": "string", + "pattern": "^[a-zA-Z]{2}-?[a-zA-Z]{2}$", + "description": "Language identifier consisting of a combination of language code and country code.", + "x-nullable": false, + "example": "en-US" + }, + "EnrollmentStatus": { + "type": "string", + "description": "Status representing the current state of the profile. Available values are:\n* Enrolling: profile has no voice print and not ready for recognition requests.\n* Training: voice print of profile is being created and can’t be used for recognition at the moment.\n* Enrolled: profile has a voice print and ready for recognition requests.", + "enum": [ + "Enrolling", + "Training", + "Enrolled" + ], + "x-ms-enum": { + "name": "TrainingStatusType", + "modelAsString": false + }, + "example": "Enrolling" + }, + "CreatedDateTime": { + "type": "string", + "description": "Profile creation datetime.", + "example": "2015-04-23T18:25:43.41Z" + }, + "LastUpdatedDateTime": { + "type": "string", + "description": "Last datetime when the profile was updated.", + "example": "2015-04-23T19:34:51.52Z" + }, + "EnrollmentsCount": { + "type": "integer", + "description": "Number of enrolment audios accepted for this profile.", + "example": 1 + }, + "EnrollmentsLength": { + "type": "number", + "description": "Total length of enrollment audios accepted for this profile in seconds.", + "example": 1.83 + }, + "EnrollmentsSpeechLength": { + "type": "number", + "description": "Summation of pure speech (which is the amount of audio after removing silence and non-speech segments) across all profile enrollments in seconds.", + "example": 1.35 + }, + "RemainingEnrollmentsCount": { + "type": "integer", + "description": "Number of enrollment audios needed to complete profile enrollment.", + "example": 2 + }, + "RemainingEnrollmentsSpeechLength": { + "type": "number", + "description": "Amount of pure speech (which is the amount of audio after removing silence and non-speech segments) needed to complete profile enrollment in seconds.", + "example": 18.65 + }, + "ModelVersion": { + "type": "string", + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "description": "Date specifying the model assigned to this profile. Format is yyyy-mm-dd. If profile has no enrollments, this value will be empty.", + "example": "2019-12-05" + }, + "LocaleInfo": { + "description": "Speaker profile locale", + "properties": { + "locale": { + "$ref": "#/definitions/Locale" + } + } + }, + "TdProfileInfoList": { + "description": "Text-Dependent Speaker profile info list", + "properties": { + "profiles": { + "items": { + "$ref": "#/definitions/TdProfileInfo" + } + }, + "@nextLink": { + "type": "string", + "example": "https://{Endpoint}/text-dependent/profiles?$top=35&$continuationToken=U21pdGg1QmVuOTk5" + } + } + }, + "TdProfileInfo": { + "description": "Text-Dependent Speaker profile info", + "properties": { + "profileId": { + "$ref": "#/definitions/ProfileId" + }, + "locale": { + "$ref": "#/definitions/Locale" + }, + "enrollmentStatus": { + "$ref": "#/definitions/EnrollmentStatus" + }, + "createdDateTime": { + "$ref": "#/definitions/CreatedDateTime" + }, + "lastUpdatedDateTime": { + "$ref": "#/definitions/LastUpdatedDateTime" + }, + "enrollmentsCount": { + "$ref": "#/definitions/EnrollmentsCount" + }, + "enrollmentsLength": { + "$ref": "#/definitions/EnrollmentsLength" + }, + "enrollmentsSpeechLength": { + "$ref": "#/definitions/EnrollmentsSpeechLength" + }, + "remainingEnrollmentsCount": { + "$ref": "#/definitions/RemainingEnrollmentsCount" + }, + "modelVersion": { + "$ref": "#/definitions/ModelVersion" + } + } + }, + "TdEnrollmentInfo": { + "description": "Text-Dependent Speaker profile enrollment info", + "properties": { + "profileId": { + "$ref": "#/definitions/ProfileId" + }, + "enrollmentStatus": { + "$ref": "#/definitions/EnrollmentStatus" + }, + "enrollmentsCount": { + "$ref": "#/definitions/EnrollmentsCount" + }, + "enrollmentsLength": { + "$ref": "#/definitions/EnrollmentsLength" + }, + "enrollmentsSpeechLength": { + "$ref": "#/definitions/EnrollmentsSpeechLength" + }, + "remainingEnrollmentsCount": { + "$ref": "#/definitions/RemainingEnrollmentsCount" + }, + "passPhrase": { + "type": "string", + "description": "Passphrase associated with this enrollment.", + "example": "my voice is my passport verify me" + }, + "audioLength": { + "type": "number", + "description": "This enrolment audio length in seconds.", + "example": 1.83 + }, + "audioSpeechLength": { + "type": "number", + "description": "This enrollment audio pure speech (which is the amount of audio after removing silence and non-speech segments) length in seconds.", + "example": 1.35 + } + } + }, + "TiProfileInfoList": { + "description": "Text-Independent Speaker profile info list", + "properties": { + "profiles": { + "items": { + "$ref": "#/definitions/TiProfileInfo" + } + }, + "@nextLink": { + "type": "string", + "example": "https://{Endpoint}/text-independent/profiles?$top=35&$continuationToken=U21pdGg1QmVuOTk5" + } + } + }, + "TiProfileInfo": { + "description": "Text-Independent Speaker profile info", + "properties": { + "profileId": { + "$ref": "#/definitions/ProfileId" + }, + "locale": { + "$ref": "#/definitions/Locale" + }, + "enrollmentStatus": { + "$ref": "#/definitions/EnrollmentStatus" + }, + "createdDateTime": { + "$ref": "#/definitions/CreatedDateTime" + }, + "lastUpdatedDateTime": { + "$ref": "#/definitions/LastUpdatedDateTime" + }, + "enrollmentsCount": { + "$ref": "#/definitions/EnrollmentsCount" + }, + "enrollmentsLength": { + "$ref": "#/definitions/EnrollmentsLength" + }, + "enrollmentsSpeechLength": { + "$ref": "#/definitions/EnrollmentsSpeechLength" + }, + "remainingEnrollmentsSpeechLength": { + "$ref": "#/definitions/RemainingEnrollmentsSpeechLength" + }, + "modelVersion": { + "$ref": "#/definitions/ModelVersion" + } + } + }, + "TiEnrollmentInfo": { + "description": "Text-Independent Speaker profile enrollment info", + "properties": { + "profileId": { + "$ref": "#/definitions/ProfileId" + }, + "enrollmentStatus": { + "$ref": "#/definitions/EnrollmentStatus" + }, + "enrollmentsCount": { + "$ref": "#/definitions/EnrollmentsCount" + }, + "enrollmentsLength": { + "$ref": "#/definitions/EnrollmentsLength" + }, + "enrollmentsSpeechLength": { + "$ref": "#/definitions/EnrollmentsSpeechLength" + }, + "remainingEnrollmentsSpeechLength": { + "$ref": "#/definitions/RemainingEnrollmentsSpeechLength" + }, + "audioLength": { + "type": "number", + "description": "This enrolment audio length in seconds.", + "example": 1.83 + }, + "audioSpeechLength": { + "type": "number", + "description": "This enrollment audio pure speech (which is the amount of audio after removing silence and non-speech segments) length in seconds.", + "example": 1.35 + } + } + }, + "RecognitionInfo": { + "description": "Speaker recognition result", + "properties": { + "recognitionResult": { + "type": "string", + "description": "Does audio belong to targeted profile?", + "enum": [ + "accept", + "reject" + ], + "x-ms-enum": { + "name": "ResultType", + "modelAsString": false + }, + "example": "Accept" + }, + "score": { + "type": "number", + "description": "A float number indicating the similarity between input audio and targeted voice print. This number must be between 0 and 1. A higher number means higher similarity.", + "example": 0.63 + } + } + }, + "Error": { + "description": "Speaker error message", + "required": [ + "error" + ], + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + } + } + }, + "responses": { + "NotFound": { + "description": "NotFound - Requested profile doesn't exist", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "Not Found", + "message": "Requested profile doesn't exist" + } + } + }, + "x-ms-error-response": true + }, + "Unauthorized": { + "description": "Request is not authorized. Make sure subscription key is included and valid.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "Unauthorized", + "message": "Request is not authorized. Make sure subscription key is included and valid." + } + } + }, + "x-ms-error-response": true + }, + "RateLimit": { + "description": "Rate limit is exceeded.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "RateLimit", + "message": "Rate limit is exceeded." + } + } + }, + "x-ms-error-response": true + }, + "ServerError": { + "description": "Internal Server Error.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error." + } + } + }, + "x-ms-error-response": true + } + }, + "paths": { + "/text-dependent/profiles": { + "post": { + "description": "Create a new speaker profile with specified locale.\nOne subscription can create 10,000 speaker profiles at most.", + "operationId": "TextDependent_CreateProfile", + "summary": "Create Profile", + "x-ms-examples": { + "Successful Query": { + "$ref": "./examples/textDependentCreateProfile.json" + } + }, + "tags": [ + "text-dependent" + ], + "parameters": [ + { + "in": "body", + "name": "profileInfo", + "description": "Provide following detail info when creating a new profile.\nFields | Description\n------- | ------------\nlocale | Locale for the language of this speaker profile. A complete supported locale list is here:
  • **en-US**
", + "schema": { + "required": [ + "locale" + ], + "$ref": "#/definitions/LocaleInfo" + } + } + ], + "responses": { + "201": { + "description": "Speaker profile created successfully. GUID is returned to reference the created profile.", + "headers": { + "Location": { + "type": "string", + "description": "url location of new resource" + } + }, + "schema": { + "$ref": "#/definitions/TdProfileInfo" + } + }, + "400": { + "description": "Bad Request\n* InvalidRequest - Request body is missing.\n* InvalidRequest - Invalid JSON format.\n* InvalidRequest - Locale parameter is missing.\n* InvalidArgument - Invalid locale value. Supported locales are {comma-separated list of locales}.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "InvalidRequest", + "message": "Request body is missing." + } + } + }, + "x-ms-error-response": true + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "403": { + "description": "Forbidden - Maximum allowed number of profiles is 10,000.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "Forbidden", + "message": "Maximum allowed number of profiles is 10,000." + } + } + }, + "x-ms-error-response": true + }, + "415": { + "description": "UnsupportedMediaType - Unsupported media type. Only 'application/JSON' is accepted.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "UnsupportedMediaType", + "message": "Unsupported media type. Only 'application/JSON' is accepted." + } + } + }, + "x-ms-error-response": true + }, + "429": { + "$ref": "#/responses/RateLimit" + }, + "500": { + "$ref": "#/responses/ServerError" + } + } + }, + "get": { + "x-ms-pageable": { + "nextLinkName": "@nextLink", + "itemName": "profiles" + }, + "description": "Retrieves a set of profiles.\nProfiles are sorted alphabetically by ProfileId", + "operationId": "TextDependent_ListProfiles", + "summary": "List Profiles", + "x-ms-examples": { + "Successful Query": { + "$ref": "./examples/textDependentListProfiles.json" + } + }, + "tags": [ + "text-dependent" + ], + "parameters": [ + { + "in": "query", + "name": "$top", + "description": "The number of profiles to return. Default is 100 and the maximum is 500", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TdProfileInfoList" + } + }, + "400": { + "description": "Bad Request\n* InvalidArgument - Invalid $top parameter value. Value should be positive integer in the range [1, 500].\n* InvalidArgument - Invalid $continuationToken value. $continuationToken must be generated form a prior API call.\n* InvalidArgument - $filter parameter is not supported.\n* InvalidArgument - $skip parameter is not supported.\n* InvalidArgument - $orderBy parameter is not supported.\n* InvalidArgument - $delta parameter is not supported.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "InvalidArgument", + "message": "Invalid $top parameter value. Value should be positive integer in the range [1, 500]" + } + } + }, + "x-ms-error-response": true + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "429": { + "$ref": "#/responses/RateLimit" + }, + "500": { + "$ref": "#/responses/ServerError" + } + } + } + }, + "/text-dependent/profiles/{profileId}": { + "parameters": [ + { + "$ref": "#/parameters/profileIdParam" + } + ], + "get": { + "description": "Retrieves a single profile by ID.", + "operationId": "TextDependent_GetProfile", + "summary": "Retrieve Single Profile", + "x-ms-examples": { + "Successful Query": { + "$ref": "./examples/textDependentFetchProfile.json" + } + }, + "tags": [ + "text-dependent" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TdProfileInfo" + } + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "429": { + "$ref": "#/responses/RateLimit" + }, + "500": { + "$ref": "#/responses/ServerError" + } + } + }, + "delete": { + "description": "Deletes an existing profile.", + "operationId": "TextDependent_DeleteProfile", + "summary": "Delete Profile", + "x-ms-examples": { + "Successful Query": { + "$ref": "./examples/deleteProfile.json" + } + }, + "tags": [ + "text-dependent" + ], + "responses": { + "204": { + "description": "OK" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "429": { + "$ref": "#/responses/RateLimit" + }, + "500": { + "$ref": "#/responses/ServerError" + } + } + } + }, + "/text-dependent/profiles/{profileId}/reset": { + "parameters": [ + { + "$ref": "#/parameters/profileIdParam" + } + ], + "post": { + "description": "Resets existing profile to its original creation state. The reset operation does the following:\n* Updates enrollmentStatus to Enrolling.\n* Updates lastUpdatedDateTime.\n* Updates enrollmentsCount to 0.\n* Updates enrollmentsLength to 0.\n* Updates enrollmentsSpeechLength to 0.\n* Updates remainingEnrollmentsCount to the initial required number.\n* Removes all associated enrollments from storage.\n* Removes chosen passphrase association.\n* Resets value of modelVersion.", + "operationId": "TextDependent_ResetProfile", + "summary": "Reset Profile", + "x-ms-examples": { + "Successful Query": { + "$ref": "./examples/resetProfile.json" + } + }, + "tags": [ + "text-dependent" + ], + "responses": { + "204": { + "description": "OK" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "429": { + "$ref": "#/responses/RateLimit" + }, + "500": { + "$ref": "#/responses/ServerError" + } + } + } + }, + "/text-dependent/profiles/{profileId}/enrollments": { + "parameters": [ + { + "$ref": "#/parameters/profileIdParam" + } + ], + "post": { + "description": "Adds an enrollment to existing profile.\nIf the minimum number of requested enrollment audios is reached, a voice print is created.\nIf the voice print was created before, it gets recreated from all existing enrollment audios including the new one.\n\nLimitations:\n* Minimum audio input length per request is **1 second**\n* Maximum audio input length per request is **10 seconds**\n* Minimum number of enrollments for creating a voiceprint is **3**\n* Maximum number of enrollments for creating a voiceprint is **50**\n* Minimum audio Signal-to-noise ratio (SNR) is **10dB**\n\nConstraints:\n* First enrollment must match an existing passphrase.\n* All enrollments after the first one, must use the same passphrase used in the first enrollment.", + "operationId": "TextDependent_CreateEnrollment", + "summary": "Enroll Profile", + "x-ms-examples": { + "Successful Query": { + "$ref": "./examples/textDependentCreateEnrollment.json" + } + }, + "tags": [ + "text-dependent" + ], + "consumes": [ + "audio/wav; codecs=audio/pcm" + ], + "parameters": [ + { + "name": "audioData", + "in": "body", + "description": "Binary audio file. Supported formats are audio/wav; codecs=audio/pcm. Supports audio up to 5MB.", + "required": true, + "schema": { + "type": "object", + "format": "file" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/TdEnrollmentInfo" + } + }, + "400": { + "description": "Bad Request\n* InvalidRequest - Invalid audio length. Maximum allowed length is 10 seconds.\n* InvalidRequest - Invalid audio length. Minimum allowed length is 1 second.\n* InvalidRequest - Invalid audio format. Supported format is WAV 16Khz 16bit Mono PCM.\n* InvalidRequest - Invalid passphrase.\n* InvalidRequest - Audio is too noisy. The minimum allowed Signal-to-noise ratio (SNR) is 10dB.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "InvalidRequest", + "message": "Audio is too noisy." + } + } + }, + "x-ms-error-response": true + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "403": { + "description": "Forbidden\n* InvalidOperation - Maximum allowed number of enrollments per profile is 50.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "InvalidOperation", + "message": "Maximum allowed number of enrollments per profile is 50." + } + } + }, + "x-ms-error-response": true + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "409": { + "description": "Conflict\n* Conflict - Sending concurrent requests on same profile is not allowed.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "Conflict", + "message": "Sending concurrent requests on same profile is not allowed." + } + } + }, + "x-ms-error-response": true + }, + "415": { + "description": "UnsupportedMediaType - Unsupported media type. Only \"audio/wav; codecs=audio/pcm\" is accepted.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "UnsupportedMediaType", + "message": "Unsupported media type. Only 'audio/wav; codecs=audio/pcm' is accepted." + } + } + }, + "x-ms-error-response": true + }, + "429": { + "$ref": "#/responses/RateLimit" + }, + "500": { + "$ref": "#/responses/ServerError" + } + } + } + }, + "/text-dependent/profiles/{profileId}/verify": { + "parameters": [ + { + "$ref": "#/parameters/profileIdParam" + } + ], + "post": { + "description": "Verifies existing profiles against input audio.\n\nLimitations:\n* Minimum audio input length per request is **1 second**\n* Maximum audio input length per request is **10 seconds**\n* Minimum audio Signal-to-noise ratio (SNR) is **10 dB**", + "operationId": "TextDependent_VerifyProfile", + "summary": "Verify Profile", + "x-ms-examples": { + "Successful Query": { + "$ref": "./examples/verify.json" + } + }, + "tags": [ + "text-dependent" + ], + "consumes": [ + "audio/wav; codecs=audio/pcm" + ], + "parameters": [ + { + "name": "audioData", + "in": "body", + "description": "Binary audio file. Supported formats are audio/wav; codecs=audio/pcm. Supports audio up to 5MB.", + "required": true, + "schema": { + "type": "object", + "format": "file" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecognitionInfo" + } + }, + "400": { + "description": "Bad Request\n* InvalidRequest - Invalid audio length. Maximum allowed length is 10 seconds.\n* InvalidRequest - Invalid audio length. Minimum allowed length is 1 second.\n* InvalidRequest - Invalid audio format. Supported format is 16Khz 16bit Mono PCM.\n* InvalidRequest - Audio is too noisy. The minimum allowed Signal-to-noise ratio (SNR) is 10dB.\n* InvalidRequest - Profile is not enrolled.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "InvalidRequest", + "message": "Profile is not enrolled." + } + } + }, + "x-ms-error-response": true + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "415": { + "description": "UnsupportedMediaType - Unsupported media type. Only \"audio/wav; codecs=audio/pcm\" is accepted.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "UnsupportedMediaType", + "message": "Unsupported media type. Only 'audio/wav; codecs=audio/pcm' is accepted." + } + } + }, + "x-ms-error-response": true + }, + "429": { + "$ref": "#/responses/RateLimit" + }, + "500": { + "$ref": "#/responses/ServerError" + } + } + } + }, + "/text-dependent/phrases/{locale}": { + "parameters": [ + { + "$ref": "#/parameters/localeParam" + } + ], + "get": { + "description": "Retrieves list of supported passphrases for a specific locale.", + "operationId": "TextDependent_ListPhrases", + "summary": "Pass Phrases", + "x-ms-examples": { + "Successful Query": { + "$ref": "./examples/phrases.json" + } + }, + "tags": [ + "text-dependent" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "type": "string" + }, + "example": [ + "my voice is my passport verify me", + "my voice is stronger than passwords" + ] + } + }, + "400": { + "description": "Bad Request\n* InvalidRequest - Locale parameter is missing.\n* InvalidArgument - Invalid locale value. Supported locales are {comma-separated list of locales}.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "InvalidRequest", + "message": "Locale parameter is missing." + } + } + }, + "x-ms-error-response": true + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "429": { + "$ref": "#/responses/RateLimit" + }, + "500": { + "$ref": "#/responses/ServerError" + } + } + } + }, + "/text-independent/profiles": { + "post": { + "description": "Creates a new speaker profile with specified locale.\nOne subscription can create 10,000 speaker profiles at most.", + "operationId": "TextIndependent_CreateProfile", + "summary": "Create Profile", + "x-ms-examples": { + "Successful Query": { + "$ref": "./examples/textIndependentCreateProfile.json" + } + }, + "tags": [ + "text-independent" + ], + "parameters": [ + { + "in": "body", + "name": "profileInfo", + "description": "Provide following detail info when creating a new profile.\nFields | Description\n------- | ------------\nlocale | Locale for the language of this speaker profile. A complete supported locale list is here:
  • **en-US**
  • **es-ES**
  • **fr-FR**
  • **zh-CN**
  • **de-DE**
  • **en-GB**
  • **en-AU**
  • **en-CA**
  • **fr-CA**
  • **it-IT**
  • **es-MX**
  • **ja-JP**
  • **pt-BR**
  • **en-IN**
", + "schema": { + "required": [ + "locale" + ], + "$ref": "#/definitions/LocaleInfo" + } + } + ], + "responses": { + "201": { + "description": "Speaker profile created successfully. GUID is returned to reference the created profile.", + "headers": { + "Location": { + "type": "string", + "description": "url location of new resource" + } + }, + "schema": { + "$ref": "#/definitions/TiProfileInfo" + } + }, + "400": { + "description": "Bad Request\n* InvalidRequest - Request body is missing.\n* InvalidRequest - Invalid JSON format.\n* InvalidRequest - Locale parameter is missing.\n* InvalidArgument - Invalid locale value. Supported locales are {comma-separated list of locales}.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "InvalidRequest", + "message": "Request body is missing." + } + } + }, + "x-ms-error-response": true + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "403": { + "description": "Forbidden - Maximum allowed number of profiles is 10,000.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "Forbidden", + "message": "Maximum allowed number of profiles is 10,000." + } + } + }, + "x-ms-error-response": true + }, + "415": { + "description": "UnsupportedMediaType - Unsupported media type. Only 'application/JSON' is accepted.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "UnsupportedMediaType", + "message": "Unsupported media type. Only 'application/JSON' is accepted." + } + } + }, + "x-ms-error-response": true + }, + "429": { + "$ref": "#/responses/RateLimit" + }, + "500": { + "$ref": "#/responses/ServerError" + } + } + }, + "get": { + "x-ms-pageable": { + "nextLinkName": "@nextLink" + }, + "description": "Retrieves a set of profiles.\nProfiles are sorted alphabetically by ProfileId", + "operationId": "TextIndependent_ListProfiles", + "summary": "List Profiles", + "x-ms-examples": { + "Successful Query": { + "$ref": "./examples/textIndependentListProfiles.json" + } + }, + "tags": [ + "text-independent" + ], + "parameters": [ + { + "in": "query", + "name": "$top", + "description": "The number of profiles to return. Default is 100 and the maximum is 500", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TiProfileInfoList" + } + }, + "400": { + "description": "Bad Request\n* InvalidArgument - Invalid $top parameter value. Value should be positive integer in the range [1, 500].\n* InvalidArgument - Invalid $continuationToken value. $continuationToken must be generated form a prior API call.\n* InvalidArgument - $filter parameter is not supported.\n* InvalidArgument - $skip parameter is not supported.\n* InvalidArgument - $orderBy parameter is not supported.\n* InvalidArgument - $delta parameter is not supported.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "InvalidArgument", + "message": "Invalid $top parameter value. Value should be positive integer in the range [1, 500]" + } + } + }, + "x-ms-error-response": true + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "429": { + "$ref": "#/responses/RateLimit" + }, + "500": { + "$ref": "#/responses/ServerError" + } + } + } + }, + "/text-independent/profiles/{profileId}": { + "parameters": [ + { + "$ref": "#/parameters/profileIdParam" + } + ], + "get": { + "description": "Retrieves a single profile by ID.", + "operationId": "TextIndependent_GetProfile", + "summary": "Retrieve Single Profile", + "x-ms-examples": { + "Successful Query": { + "$ref": "./examples/textIndependentFetchProfile.json" + } + }, + "tags": [ + "text-independent" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TiProfileInfo" + } + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "429": { + "$ref": "#/responses/RateLimit" + }, + "500": { + "$ref": "#/responses/ServerError" + } + } + }, + "delete": { + "description": "Deletes an existing profile.", + "operationId": "TextIndependent_DeleteProfile", + "summary": "Delete Profile", + "x-ms-examples": { + "Successful Query": { + "$ref": "./examples/deleteProfile.json" + } + }, + "tags": [ + "text-independent" + ], + "responses": { + "204": { + "description": "OK" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "429": { + "$ref": "#/responses/RateLimit" + }, + "500": { + "$ref": "#/responses/ServerError" + } + } + } + }, + "/text-independent/profiles/{profileId}/reset": { + "parameters": [ + { + "$ref": "#/parameters/profileIdParam" + } + ], + "post": { + "description": "Resets existing profile to its original creation state. The reset operation does the following:\n* Updates enrollmentStatus to Enrolling.\n* Updates lastUpdatedDateTime.\n* Updates enrollmentsCount to 0.\n* Updates enrollmentsLength to 0.\n* Updates enrollmentsSpeechLength to 0.\n* Updates remainingEnrollmentsSpeechLength to the required number.\n* Removes all associated enrollments from storage.\n* Removes chosen passphrase association.\n* Resets value of modelVersion.", + "operationId": "TextIndependent_ResetProfile", + "summary": "Reset Profile", + "x-ms-examples": { + "Successful Query": { + "$ref": "./examples/resetProfile.json" + } + }, + "tags": [ + "text-independent" + ], + "responses": { + "204": { + "description": "OK" + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "429": { + "$ref": "#/responses/RateLimit" + }, + "500": { + "$ref": "#/responses/ServerError" + } + } + } + }, + "/text-independent/profiles/{profileId}/enrollments": { + "parameters": [ + { + "$ref": "#/parameters/profileIdParam" + } + ], + "post": { + "description": "Adds enrollments to existing profile.\nIf the minimum number of requested enrollment audios is reached, a voice print is created.\nIf the voice print was created before, it gets recreated from all existing enrollment including the new one.\n\nLimitations:\n* Minimum audio input length per request is **1 second**\n* Maximum audio input length per request is **120 seconds**\n* Minimum total effective speech length (excluding silence and other non-speech frames) for creating a voiceprint is **20 seconds**\n This limitation can be disabled by setting \"ignoreMinLength\" to **true**.\n\n* Maximum total audio input length allowed for creating a voiceprint is **300 seconds**\n* Minimum audio Signal-to-noise ratio (SNR) is **0dB**", + "operationId": "TextIndependent_CreateEnrollment", + "summary": "Enroll Profile", + "x-ms-examples": { + "Successful Query": { + "$ref": "./examples/textIndependentCreateEnrollment.json" + } + }, + "tags": [ + "text-independent" + ], + "consumes": [ + "audio/wav; codecs=audio/pcm" + ], + "parameters": [ + { + "in": "query", + "name": "ignoreMinLength", + "type": "boolean", + "description": "If true, a voice print will be created immediately for this profile regardless of how much speech is supplied or stored. Default is false." + }, + { + "name": "audioData", + "in": "body", + "description": "Binary audio file. Supported formats are audio/wav; codecs=audio/pcm. Supports audio up to 5MB.", + "required": true, + "schema": { + "type": "object", + "format": "file" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/TiEnrollmentInfo" + } + }, + "400": { + "description": "Bad Request\n* InvalidRequest - Invalid audio length. Maximum allowed length per enrollment request is 120 seconds.\n* InvalidRequest - Invalid audio length. Minimum allowed length per enrollment request is 1 second.\n* InvalidRequest - Invalid audio format. Supported format is 16Khz 16bit Mono PCM.\n* InvalidArgument - Invalid ignoreMinLength parameter value. Valid values are \"true\" and \"false\".\n* InvalidRequest - Audio is too noisy. The minimum allowed Signal-to-noise ratio (SNR) is 0dB.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "InvalidRequest", + "message": "Audio is too noisy." + } + } + }, + "x-ms-error-response": true + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "403": { + "description": "Forbidden\n* InvalidRequest - Maximum allowed length across all profile enrollments is 300 seconds.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "InvalidRequest", + "message": "Maximum allowed length across all profile enrollments is 300 seconds." + } + } + }, + "x-ms-error-response": true + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "409": { + "description": "Conflict\n* Conflict - Sending concurrent requests on same profile is not allowed.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "Conflict", + "message": "Sending concurrent requests on same profile is not allowed." + } + } + }, + "x-ms-error-response": true + }, + "415": { + "description": "UnsupportedMediaType - Unsupported media type. Only \"audio/wav; codecs=audio/pcm\" is accepted.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "UnsupportedMediaType", + "message": "Unsupported media type. Only 'audio/wav; codecs=audio/pcm' is accepted." + } + } + }, + "x-ms-error-response": true + }, + "429": { + "$ref": "#/responses/RateLimit" + }, + "500": { + "$ref": "#/responses/ServerError" + } + } + } + }, + "/text-independent/profiles/{profileId}/verify": { + "parameters": [ + { + "$ref": "#/parameters/profileIdParam" + } + ], + "post": { + "description": "Verifies existing profiles against input audio.\n\nLimitations:\n* Minimum audio input length is **1 second**\n* Maximum audio input length is **120 seconds**\n* Minimum effective speech length (excluding silence and other \"non-speech\" frames) is **4 seconds**\n This limitation can be disabled by setting \"ignoreMinLength\" to **true**.\n* Minimum audio Signal-to-noise ratio (SNR) is **0dB**", + "operationId": "TextIndependent_VerifyProfile", + "summary": "Verify Profile", + "x-ms-examples": { + "Successful Query": { + "$ref": "./examples/verify.json" + } + }, + "tags": [ + "text-independent" + ], + "consumes": [ + "audio/wav; codecs=audio/pcm" + ], + "parameters": [ + { + "in": "query", + "name": "ignoreMinLength", + "type": "boolean", + "description": "If true, a voice print will be created immediately for this profile regardless of how much speech is supplied or stored. Default is false." + }, + { + "name": "audioData", + "in": "body", + "description": "Binary audio file. Supported formats are audio/wav; codecs=audio/pcm. Supports audio up to 5MB.", + "required": true, + "schema": { + "type": "object", + "format": "file" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecognitionInfo" + } + }, + "400": { + "description": "Bad Request\n* InvalidRequest - Invalid audio length. Maximum allowed length per recognition request is 120 seconds.\n* InvalidRequest - Invalid audio length. Minimum allowed length per recognition request is 1 second.\n* InvalidRequest - Invalid audio format. Supported format is 16Khz 16bit Mono PCM.\n* InvalidArgument - Invalid ignoreMinLength parameter value. Valid values are \"true\" and \"false\".\n* InvalidRequest - Profile is not enrolled.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "InvalidRequest", + "message": "Profile is not enrolled." + } + } + }, + "x-ms-error-response": true + }, + "401": { + "$ref": "#/responses/Unauthorized" + }, + "404": { + "$ref": "#/responses/NotFound" + }, + "415": { + "description": "UnsupportedMediaType - Unsupported media type. Only \"audio/wav; codecs=audio/pcm\" is accepted.", + "schema": { + "$ref": "#/definitions/Error" + }, + "examples": { + "application/json": { + "error": { + "code": "UnsupportedMediaType", + "message": "Unsupported media type. Only 'audio/wav; codecs=audio/pcm' is accepted." + } + } + }, + "x-ms-error-response": true + }, + "429": { + "$ref": "#/responses/RateLimit" + }, + "500": { + "$ref": "#/responses/ServerError" + } + } + } + } + }, + "tags": [] +} diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/deleteProfile.json b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/deleteProfile.json new file mode 100644 index 000000000000..1af07b0b1a4f --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/deleteProfile.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "profileId": "49a36324-fc4b-4387-aa06-090cfbf0064f" + }, + "responses": { + "204": { + "headers": { + "Content-Type": "application/json" + } + }, + "401": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Unauthorized", + "message": "Request is not authorized. Make sure subscription key is included and valid." + } + } + }, + "429": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "RateLimit", + "message": "Rate limit is exceeded." + } + } + }, + "500": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error." + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/phrases.json b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/phrases.json new file mode 100644 index 000000000000..5bfd15a05c0d --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/phrases.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "locale": "en-US", + "Ocp-Apim-Subscription-Key": "{API key}" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/json" + }, + "body": [ + "my voice is my passport verify me", + "my voice is stronger than passwords" + ] + }, + "400": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InvalidRequest", + "message": "Locale parameter is missing." + } + } + }, + "401": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Unauthorized", + "message": "Request is not authorized. Make sure subscription key is included and valid." + } + } + }, + "429": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "RateLimit", + "message": "Rate limit is exceeded." + } + } + }, + "500": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error." + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/resetProfile.json b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/resetProfile.json new file mode 100644 index 000000000000..83389ad8eb82 --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/resetProfile.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "profileId": "49a36324-fc4b-4387-aa06-090cfbf0064f" + }, + "responses": { + "204": { + "headers": { + "Content-Type": "application/json" + } + }, + "401": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Unauthorized", + "message": "Request is not authorized. Make sure subscription key is included and valid." + } + } + }, + "404": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Not Found", + "message": "Requested profile doesn't exist" + } + } + }, + "429": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "RateLimit", + "message": "Rate limit is exceeded." + } + } + }, + "500": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error." + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/textDependentCreateEnrollment.json b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/textDependentCreateEnrollment.json new file mode 100644 index 000000000000..6208e8e8a0d3 --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/textDependentCreateEnrollment.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "audio/wav; codecs=audio/pcm", + "Ocp-Apim-Subscription-Key": "{API key}", + "profileId": "49a36324-fc4b-4387-aa06-090cfbf0064f", + "audioData": "{binary file date}" + }, + "responses": { + "201": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "profileId": "49a36324-fc4b-4387-aa06-090cfbf0064f", + "enrollmentStatus": "Enrolling", + "enrollmentsCount": 1, + "enrollmentsLength": 1.83, + "enrollmentsSpeechLength": 1.35, + "remainingEnrollmentsCount": 2, + "passPhrase": "my voice is my passport verify me", + "audioLength": 1.83, + "audioSpeechLength": 1.35 + } + }, + "400": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InvalidRequest", + "message": "Audio is too noisy." + } + } + }, + "401": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Unauthorized", + "message": "Request is not authorized. Make sure subscription key is included and valid." + } + } + }, + "403": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InvalidRequest", + "message": "Maximum allowed length across all profile enrollments is 300 seconds." + } + } + }, + "404": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Not Found", + "message": "Requested profile doesn't exist" + } + } + }, + "409": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Conflict", + "message": "Sending concurrent requests on same profile is not allowed." + } + } + }, + "415": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "UnsupportedMediaType", + "message": "Unsupported media type. Only 'audio/wav; codecs=audio/pcm' is accepted." + } + } + }, + "429": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "RateLimit", + "message": "Rate limit is exceeded." + } + } + }, + "500": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error." + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/textDependentCreateProfile.json b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/textDependentCreateProfile.json new file mode 100644 index 000000000000..823a2804f5ee --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/textDependentCreateProfile.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "profileInfo": { + "locale": "en-us" + } + }, + "responses": { + "201": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "profileId": "49a36324-fc4b-4387-aa06-090cfbf0064f", + "locale": "en-US", + "enrollmentStatus": "Enrolling", + "createdDateTime": "2015-04-23T18:25:43.41Z", + "lastUpdatedDateTime": "2015-04-23T18:25:43.41Z", + "enrollmentsCount": 0, + "enrollmentsLength": 0, + "enrollmentsSpeechLength": 0, + "remainingEnrollmentsCount": 3, + "modelVersion": "2019-12-05" + } + }, + "400": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InvalidRequest", + "message": "Request body is missing." + } + } + }, + "401": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Unauthorized", + "message": "Request is not authorized. Make sure subscription key is included and valid." + } + } + }, + "403": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Forbidden", + "message": "Maximum allowed number of profiles is 10,000." + } + } + }, + "415": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "UnsupportedMediaType", + "message": "Unsupported media type. Only 'application/JSON' is accepted." + } + } + }, + "429": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "RateLimit", + "message": "Rate limit is exceeded." + } + } + }, + "500": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error." + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/textDependentFetchProfile.json b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/textDependentFetchProfile.json new file mode 100644 index 000000000000..a21e8bdf6c5a --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/textDependentFetchProfile.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "profileId": "49a36324-fc4b-4387-aa06-090cfbf0064f" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "profileId": "49a36324-fc4b-4387-aa06-090cfbf0064f", + "locale": "en-US", + "enrollmentStatus": "Enrolling", + "createdDateTime": "2015-04-23T18:25:43.41Z", + "lastUpdatedDateTime": "2015-04-23T19:34:51.52Z", + "enrollmentsCount": 1, + "enrollmentsLength": 1.83, + "enrollmentsSpeechLength": 1.35, + "remainingEnrollmentsCount": 2, + "modelVersion": "2019-12-05" + } + }, + "401": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Unauthorized", + "message": "Request is not authorized. Make sure subscription key is included and valid." + } + } + }, + "404": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Not Found", + "message": "Requested profile doesn't exist" + } + } + }, + "429": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "RateLimit", + "message": "Rate limit is exceeded." + } + } + }, + "500": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error." + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/textDependentListProfiles.json b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/textDependentListProfiles.json new file mode 100644 index 000000000000..7126a6fc2a2b --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/textDependentListProfiles.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "profiles": [ + { + "profileId": "49a36324-fc4b-4387-aa06-090cfbf0064f", + "locale": "en-US", + "enrollmentStatus": "Enrolling", + "createdDateTime": "2015-04-23T18:25:43.41Z", + "lastUpdatedDateTime": "2015-04-23T19:34:51.52Z", + "enrollmentsCount": 1, + "enrollmentsLength": 1.83, + "enrollmentsSpeechLength": 1.35, + "remainingEnrollmentsCount": 2, + "modelVersion": "2019-12-05" + } + ], + "@nextLink": "https://{Endpoint}/text-independent/profiles?$top=35&$continuationToken=U21pdGg1QmVuOTk5" + } + }, + "400": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InvalidArgument", + "message": "Invalid $top parameter value. Value should be positive integer in the range [1, 500]" + } + } + }, + "401": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Unauthorized", + "message": "Request is not authorized. Make sure subscription key is included and valid." + } + } + }, + "429": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "RateLimit", + "message": "Rate limit is exceeded." + } + } + }, + "500": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error." + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/textIndependentCreateEnrollment.json b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/textIndependentCreateEnrollment.json new file mode 100644 index 000000000000..b7eb28955a51 --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/textIndependentCreateEnrollment.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "audio/wav; codecs=audio/pcm", + "Ocp-Apim-Subscription-Key": "{API key}", + "profileId": "49a36324-fc4b-4387-aa06-090cfbf0064f", + "audioData": "{binary file date}" + }, + "responses": { + "201": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "profileId": "49a36324-fc4b-4387-aa06-090cfbf0064f", + "enrollmentStatus": "Enrolling", + "enrollmentsCount": 1, + "enrollmentsLength": 1.83, + "enrollmentsSpeechLength": 1.35, + "remainingEnrollmentsSpeechLength": 18.65, + "audioLength": 1.83, + "audioSpeechLength": 1.35 + } + }, + "400": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InvalidRequest", + "message": "Audio is too noisy." + } + } + }, + "401": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Unauthorized", + "message": "Request is not authorized. Make sure subscription key is included and valid." + } + } + }, + "403": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InvalidRequest", + "message": "Maximum allowed length across all profile enrollments is 300 seconds." + } + } + }, + "404": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Not Found", + "message": "Requested profile doesn't exist" + } + } + }, + "409": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Conflict", + "message": "Sending concurrent requests on same profile is not allowed." + } + } + }, + "415": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "UnsupportedMediaType", + "message": "Unsupported media type. Only 'audio/wav; codecs=audio/pcm' is accepted." + } + } + }, + "429": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "RateLimit", + "message": "Rate limit is exceeded." + } + } + }, + "500": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error." + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/textIndependentCreateProfile.json b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/textIndependentCreateProfile.json new file mode 100644 index 000000000000..f20460a77a87 --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/textIndependentCreateProfile.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "profileInfo": { + "locale": "en-us" + } + }, + "responses": { + "201": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "profileId": "49a36324-fc4b-4387-aa06-090cfbf0064f", + "locale": "en-US", + "enrollmentStatus": "Enrolling", + "createdDateTime": "2015-04-23T18:25:43.41Z", + "lastUpdatedDateTime": "2015-04-23T18:25:43.41Z", + "enrollmentsCount": 0, + "enrollmentsLength": 0, + "enrollmentsSpeechLength": 0, + "remainingEnrollmentsSpeechLength": 20, + "modelVersion": "2019-12-05" + } + }, + "400": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InvalidRequest", + "message": "Request body is missing." + } + } + }, + "401": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Unauthorized", + "message": "Request is not authorized. Make sure subscription key is included and valid." + } + } + }, + "403": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Forbidden", + "message": "Maximum allowed number of profiles is 10,000." + } + } + }, + "415": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "UnsupportedMediaType", + "message": "Unsupported media type. Only 'application/JSON' is accepted." + } + } + }, + "429": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "RateLimit", + "message": "Rate limit is exceeded." + } + } + }, + "500": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error." + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/textIndependentFetchProfile.json b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/textIndependentFetchProfile.json new file mode 100644 index 000000000000..5ab27b08d95f --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/textIndependentFetchProfile.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "profileId": "49a36324-fc4b-4387-aa06-090cfbf0064f" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "profileId": "49a36324-fc4b-4387-aa06-090cfbf0064f", + "locale": "en-US", + "enrollmentStatus": "Enrolling", + "createdDateTime": "2015-04-23T18:25:43.41Z", + "lastUpdatedDateTime": "2015-04-23T19:34:51.52Z", + "enrollmentsCount": 1, + "enrollmentsLength": 1.83, + "enrollmentsSpeechLength": 1.35, + "remainingEnrollmentsSpeechLength": 18.65, + "modelVersion": "2019-12-05" + } + }, + "401": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Unauthorized", + "message": "Request is not authorized. Make sure subscription key is included and valid." + } + } + }, + "404": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Not Found", + "message": "Requested profile doesn't exist" + } + } + }, + "429": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "RateLimit", + "message": "Rate limit is exceeded." + } + } + }, + "500": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error." + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/textIndependentListProfiles.json b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/textIndependentListProfiles.json new file mode 100644 index 000000000000..1e6916cfd8e0 --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/textIndependentListProfiles.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "profiles": [ + { + "profileId": "49a36324-fc4b-4387-aa06-090cfbf0064f", + "locale": "en-US", + "enrollmentStatus": "Enrolling", + "createdDateTime": "2015-04-23T18:25:43.41Z", + "lastUpdatedDateTime": "2015-04-23T19:34:51.52Z", + "enrollmentsCount": 1, + "enrollmentsLength": 1.83, + "enrollmentsSpeechLength": 1.35, + "remainingEnrollmentsSpeechLength": 18.65, + "modelVersion": "2019-12-05" + } + ], + "@nextLink": "https://{Endpoint}/text-independent/profiles?$top=35&$continuationToken=U21pdGg1QmVuOTk5" + } + }, + "400": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InvalidArgument", + "message": "Invalid $top parameter value. Value should be positive integer in the range [1, 500]" + } + } + }, + "401": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Unauthorized", + "message": "Request is not authorized. Make sure subscription key is included and valid." + } + } + }, + "429": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "RateLimit", + "message": "Rate limit is exceeded." + } + } + }, + "500": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error." + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/verify.json b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/verify.json new file mode 100644 index 000000000000..5a1bf239e46e --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/preview/v2.0/examples/verify.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "audio/wav; codecs=audio/pcm", + "Ocp-Apim-Subscription-Key": "{API key}", + "profileId": "49a36324-fc4b-4387-aa06-090cfbf0064f", + "audioData": "{binary file date}" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "recognitionResult": "accept", + "score": 0.63 + } + }, + "400": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InvalidRequest", + "message": "Profile is not enrolled." + } + } + }, + "401": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Unauthorized", + "message": "Request is not authorized. Make sure subscription key is included and valid." + } + } + }, + "404": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "Not Found", + "message": "Requested profile doesn't exist" + } + } + }, + "415": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "UnsupportedMediaType", + "message": "Unsupported media type. Only 'audio/wav; codecs=audio/pcm' is accepted." + } + } + }, + "429": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "RateLimit", + "message": "Rate limit is exceeded." + } + } + }, + "500": { + "headers": { + "Content-Type": "application/json" + }, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error." + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/readme.md b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/readme.md new file mode 100644 index 000000000000..4a6dcd91654b --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/readme.md @@ -0,0 +1,92 @@ +# Cognitive Services Speaker Recognition SDKs + +> see https://aka.ms/autorest + +Configuration for generating Speaker Verification SDK. + +``` yaml +tag: verification_2_0_preview +add-credentials: true +openapi-type: data-plane +``` + +The current release for the Authoring Endpoint is `verification_2_0_preview`. + +# Releases + +## verification 2.0 +These settings apply only when `--tag=verification_2_0_preview` is specified on the command line. + +``` yaml $(tag) == 'verification_2_0_preview' +input-file: preview/v2.0/Verification.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-js + - repo: azure-sdk-for-node +``` + +### CSharp Settings +These settings apply only when `--csharp` is specified on the command line. +``` yaml $(csharp) +csharp: + sync-methods: None + license-header: MICROSOFT_MIT_NO_VERSION + azure-arm: false + namespace: Microsoft.Azure.CognitiveServices.speech.speaker.verification + output-folder: $(csharp-sdks-folder)/CognitiveServices/speech.speaker.verification/src/Generated + clear-output-folder: true +``` + +## Java + +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 + namespace: com.microsoft.azure.cognitiveservices.speech.speaker.verification + license-header: MICROSOFT_MIT_NO_CODEGEN + payload-flattening-threshold: 1 + output-folder: $(azure-libraries-for-java-folder)/cognitiveservices/data-plane/speech/speaker/verification + with-optional-parameters: true + with-single-async-method: 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)/preview/v2.0/Verification.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/SpeakerRecognition/Verification/readme.nodejs.md b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/readme.nodejs.md new file mode 100644 index 000000000000..d9965af29de6 --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/readme.nodejs.md @@ -0,0 +1,14 @@ +## Node.js + +These settings apply only when `--nodejs` is specified on the command line. +Please also specify `--node-sdks-folder=`. + +``` yaml $(nodejs) +nodejs: + package-name: azure-cognitiveservices-speech-speaker-verification + output-folder: $(node-sdks-folder)/lib/services/speech/speaker/verification + azure-arm: false + generate-license-txt: true + generate-package-json: true + generate-readme-md: true +``` diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/readme.python.md b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/readme.python.md new file mode 100644 index 000000000000..b5418a87b8b1 --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/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: + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: azure.cognitiveservices.speech.speaker.verification + package-name: azure-cognitiveservices-speech-speaker + clear-output-folder: true + +``` +``` yaml $(python) && $(python-mode) == 'update' +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/cognitiveservices/speech/speaker/verification +``` +``` yaml $(python) && $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-speech-speaker +``` diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/readme.typescript.md b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/readme.typescript.md new file mode 100644 index 000000000000..40bebe3609bd --- /dev/null +++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/readme.typescript.md @@ -0,0 +1,12 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +``` yaml $(typescript) +typescript: + package-name: "@azure/cognitiveservices-speaker-verification" + output-folder: "$(typescript-sdks-folder)/sdk/cognitiveservices/cognitiveservices-speaker-verification" + azure-arm: false + generate-metadata: true +``` diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.1/TextAnalytics.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.1/TextAnalytics.json index 675210bab169..0ff15eff3ba9 100644 --- a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.1/TextAnalytics.json +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.1/TextAnalytics.json @@ -734,9 +734,7 @@ "sentiment", "confidenceScores", "offset", - "length", - "aspects", - "opinions" + "length" ], "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..abdf5f8a1425 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/TranslatorBatch.json @@ -0,0 +1,1282 @@ +{ + "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 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" + } + } + }, + "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" + } + } + } + }, + "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..f6b28b8d49fe 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. @@ -142,6 +181,7 @@ require: $(this-folder)/../../../../profiles/readme.md # all the input files across all versions input-file: - $(this-folder)/stable/v3.0/TranslatorText.json + - $(this-folder)/preview/v1.0-preview.1/TranslatorBatch.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 6fd63f97971f..6fafff2877ff 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 @@ -935,6 +935,14 @@ "description": "The internal identifier.", "readOnly": true }, + "capabilities": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SkuCapability" + }, + "description": "Gets the capabilities of the cognitive services account. Each item indicates the capability of a specific feature. The values are read-only and for reference only." + }, "customSubDomainName": { "type": "string", "description": "Optional subdomain name used for token-based authentication." @@ -1313,6 +1321,19 @@ } } }, + "SkuCapability": { + "properties": { + "name": { + "type": "string", + "description": "The name of the SkuCapability." + }, + "value": { + "type": "string", + "description": "The value of the SkuCapability." + } + }, + "description": "SkuCapability indicates the capability of a certain feature." + }, "CheckDomainAvailabilityParameter": { "description": "Check Domain availability parameter.", "properties": { 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/compute/resource-manager/Microsoft.Compute/stable/2015-06-15/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2015-06-15/compute.json index 66735a54b30d..27547d5699c5 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2015-06-15/compute.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2015-06-15/compute.json @@ -2460,21 +2460,21 @@ "in": "query", "required": false, "type": "string", - "description": "The filter to apply to the operation." + "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." + "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." + "description": "The expand expression to apply to the operation. Allowed values are 'instanceView'." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2016-03-30/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2016-03-30/compute.json index 939d08a0e931..83dd89c98d6b 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2016-03-30/compute.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2016-03-30/compute.json @@ -179,7 +179,7 @@ "in": "query", "required": false, "type": "string", - "description": "The expand expression to apply to the operation." + "description": "The expand expression to apply to the operation. Allowed values are 'instanceView'." } ], "responses": { @@ -2541,21 +2541,21 @@ "in": "query", "required": false, "type": "string", - "description": "The filter to apply to the operation." + "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." + "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." + "description": "The expand expression to apply to the operation. Allowed values are 'instanceView'." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/compute.json index 9cb759885ebe..9fbeb9bcab70 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/compute.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/compute.json @@ -183,7 +183,7 @@ "in": "query", "required": false, "type": "string", - "description": "The expand expression to apply to the operation." + "description": "The expand expression to apply to the operation. Allowed values are 'instanceView'." } ], "responses": { @@ -3562,21 +3562,21 @@ "in": "query", "required": false, "type": "string", - "description": "The filter to apply to the operation." + "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." + "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." + "description": "The expand expression to apply to the operation. Allowed values are 'instanceView'." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/ListAvailabilitySetsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/ListAvailabilitySetsInASubscription.json index 996c3b390765..8184ebca23ed 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/ListAvailabilitySetsInASubscription.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/ListAvailabilitySetsInASubscription.json @@ -2,7 +2,7 @@ "parameters": { "subscriptionId": "{subscriptionId}", "api-version": "2017-03-30", - "$expand": "virtualMachines\\$ref" + "$expand": "instanceView" }, "responses": { "200": { diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/compute.json index 0cb61c92bf74..02566cf61a71 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/compute.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/compute.json @@ -254,7 +254,7 @@ "in": "query", "required": false, "type": "string", - "description": "The expand expression to apply to the operation." + "description": "The expand expression to apply to the operation. Allowed values are 'instanceView'." } ], "responses": { @@ -3968,21 +3968,21 @@ "in": "query", "required": false, "type": "string", - "description": "The filter to apply to the operation." + "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." + "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." + "description": "The expand expression to apply to the operation. Allowed values are 'instanceView'." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/ListAvailabilitySetsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/ListAvailabilitySetsInASubscription.json index d5bb9e943b6d..1d999ce5a8fa 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/ListAvailabilitySetsInASubscription.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/ListAvailabilitySetsInASubscription.json @@ -2,7 +2,7 @@ "parameters": { "subscriptionId": "{subscriptionId}", "api-version": "2017-12-01", - "$expand": "virtualMachines\\$ref" + "$expand": "instanceView" }, "responses": { "200": { diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-04-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-04-01/compute.json index e0f8125e5df8..9f7169f58aaa 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-04-01/compute.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-04-01/compute.json @@ -251,7 +251,7 @@ "in": "query", "required": false, "type": "string", - "description": "The expand expression to apply to the operation." + "description": "The expand expression to apply to the operation. Allowed values are 'instanceView'." } ], "responses": { @@ -4079,21 +4079,21 @@ "in": "query", "required": false, "type": "string", - "description": "The filter to apply to the operation." + "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." + "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." + "description": "The expand expression to apply to the operation. Allowed values are 'instanceView'." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-04-01/examples/ListAvailabilitySetsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-04-01/examples/ListAvailabilitySetsInASubscription.json index 29bb119ff690..c97c80fff2f5 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-04-01/examples/ListAvailabilitySetsInASubscription.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-04-01/examples/ListAvailabilitySetsInASubscription.json @@ -2,7 +2,7 @@ "parameters": { "subscriptionId": "{subscriptionId}", "api-version": "2018-04-01", - "$expand": "virtualMachines\\$ref" + "$expand": "instanceView" }, "responses": { "200": { diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/compute.json index 6ec3b585ce05..acdb3a9dc59d 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/compute.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/compute.json @@ -251,7 +251,7 @@ "in": "query", "required": false, "type": "string", - "description": "The expand expression to apply to the operation." + "description": "The expand expression to apply to the operation. Allowed values are 'instanceView'." } ], "responses": { @@ -4198,21 +4198,21 @@ "in": "query", "required": false, "type": "string", - "description": "The filter to apply to the operation." + "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." + "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." + "description": "The expand expression to apply to the operation. Allowed values are 'instanceView'." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/ListAvailabilitySetsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/ListAvailabilitySetsInASubscription.json index 217c0f707840..fc595d9a5ab8 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/ListAvailabilitySetsInASubscription.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/ListAvailabilitySetsInASubscription.json @@ -2,7 +2,7 @@ "parameters": { "subscriptionId": "{subscriptionId}", "api-version": "2018-06-01", - "$expand": "virtualMachines\\$ref" + "$expand": "instanceView" }, "responses": { "200": { diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/compute.json index 11aeaedc3244..429401d44d5f 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/compute.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/compute.json @@ -251,7 +251,7 @@ "in": "query", "required": false, "type": "string", - "description": "The expand expression to apply to the operation." + "description": "The expand expression to apply to the operation. Allowed values are 'instanceView'." } ], "responses": { @@ -4201,21 +4201,21 @@ "in": "query", "required": false, "type": "string", - "description": "The filter to apply to the operation." + "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." + "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." + "description": "The expand expression to apply to the operation. Allowed values are 'instanceView'." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/examples/ListAvailabilitySetsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/examples/ListAvailabilitySetsInASubscription.json index bd9cb9e4e140..cb52806da595 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/examples/ListAvailabilitySetsInASubscription.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/examples/ListAvailabilitySetsInASubscription.json @@ -2,7 +2,7 @@ "parameters": { "subscriptionId": "{subscriptionId}", "api-version": "2018-10-01", - "$expand": "virtualMachines\\$ref" + "$expand": "instanceView" }, "responses": { "200": { diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json index 6ab37f15f568..d7d39de3f591 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json @@ -251,7 +251,7 @@ "in": "query", "required": false, "type": "string", - "description": "The expand expression to apply to the operation." + "description": "The expand expression to apply to the operation. Allowed values are 'instanceView'." } ], "responses": { @@ -4405,6 +4405,9 @@ }, "description": "The input object for ConvertToSinglePlacementGroup API." }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, { "$ref": "#/parameters/SubscriptionIdParameter" } @@ -4807,21 +4810,21 @@ "in": "query", "required": false, "type": "string", - "description": "The filter to apply to the operation." + "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." + "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." + "description": "The expand expression to apply to the operation. Allowed values are 'instanceView'." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListAvailabilitySetsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListAvailabilitySetsInASubscription.json index d7c2558571ef..f7b93ed9e9b9 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListAvailabilitySetsInASubscription.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListAvailabilitySetsInASubscription.json @@ -2,7 +2,7 @@ "parameters": { "subscriptionId": "{subscriptionId}", "api-version": "2019-03-01", - "$expand": "virtualMachines\\$ref" + "$expand": "instanceView" }, "responses": { "200": { diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/compute.json index b125a7a590f1..f0df5077fd9c 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/compute.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/compute.json @@ -251,7 +251,7 @@ "in": "query", "required": false, "type": "string", - "description": "The expand expression to apply to the operation." + "description": "The expand expression to apply to the operation. Allowed values are 'instanceView'." } ], "responses": { @@ -4560,6 +4560,9 @@ }, "description": "The input object for ConvertToSinglePlacementGroup API." }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, { "$ref": "#/parameters/SubscriptionIdParameter" } @@ -5313,21 +5316,21 @@ "in": "query", "required": false, "type": "string", - "description": "The filter to apply to the operation." + "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." + "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." + "description": "The expand expression to apply to the operation. Allowed values are 'instanceView'." }, { "$ref": "#/parameters/ApiVersionParameter" diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListAvailabilitySetsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListAvailabilitySetsInASubscription.json index 719e9496ee1e..a76d7a10ce71 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListAvailabilitySetsInASubscription.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ListAvailabilitySetsInASubscription.json @@ -2,7 +2,7 @@ "parameters": { "subscriptionId": "{subscriptionId}", "api-version": "2019-07-01", - "$expand": "virtualMachines\\$ref" + "$expand": "instanceView" }, "responses": { "200": { diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/compute.json index dbeecd29ccce..4e9f646b5399 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/compute.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/compute.json @@ -251,7 +251,7 @@ "in": "query", "required": false, "type": "string", - "description": "The expand expression to apply to the operation." + "description": "The expand expression to apply to the operation. Allowed values are 'instanceView'." } ], "responses": { @@ -4902,6 +4902,9 @@ }, "description": "The input object for ConvertToSinglePlacementGroup API." }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, { "$ref": "#/parameters/SubscriptionIdParameter" } @@ -5704,21 +5707,21 @@ "in": "query", "required": false, "type": "string", - "description": "The filter to apply to the operation." + "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." + "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." + "description": "The expand expression to apply to the operation. Allowed values are 'instanceView'." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -8453,7 +8456,7 @@ }, "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, the only supported value is 'Deallocate' 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." + "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", @@ -9233,14 +9236,14 @@ "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 load balancer." + "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 load balancer" + "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." @@ -9751,7 +9754,7 @@ }, "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, the only supported value is 'Deallocate' 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." + "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", diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ListAvailabilitySetsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ListAvailabilitySetsInASubscription.json index 8a8af8f9e5d2..cd51b4aa7948 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ListAvailabilitySetsInASubscription.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ListAvailabilitySetsInASubscription.json @@ -2,7 +2,7 @@ "parameters": { "subscriptionId": "{subscriptionId}", "api-version": "2019-12-01", - "$expand": "virtualMachines\\$ref" + "$expand": "instanceView" }, "responses": { "200": { 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 new file mode 100644 index 000000000000..8871f4d6f77e --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/disk.json @@ -0,0 +1,2641 @@ +{ + "swagger": "2.0", + "info": { + "title": "DiskResourceProviderClient", + "description": "The Disk Resource Provider Client.", + "version": "2020-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.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" + } + }, + "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/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": { + "type": "string", + "description": "The 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." + } + ] + } + }, + "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." + } + }, + "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." + }, + "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/EncryptionType" + }, + "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." + }, + { + "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." + } + ] + } + }, + "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." + } + }, + "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": { + "activeKey": { + "$ref": "#/definitions/KeyVaultAndKeyReference" + } + }, + "description": "disk encryption set resource update properties." + }, + "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)." + } + }, + "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." + }, + "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-05-01/examples/CreateADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateADiskAccess.json new file mode 100644 index 000000000000..8258083a4243 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateADiskAccess.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-01", + "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-05-01/examples/CreateADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateADiskEncryptionSet.json new file mode 100644 index 000000000000..00889e9835be --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateADiskEncryptionSet.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-01", + "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}" + } + } + } + }, + "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}" + }, + "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}" + }, + "previousKeys": [] + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateAManagedDiskByCopyingASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateAManagedDiskByCopyingASnapshot.json new file mode 100644 index 000000000000..a803786c3a74 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateAManagedDiskByCopyingASnapshot.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-01", + "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-05-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json new file mode 100644 index 000000000000..04099033b89b --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-01", + "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-05-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json new file mode 100644 index 000000000000..c27fa7a173f7 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-01", + "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-05-01/examples/CreateAManagedDiskFromAPlatformImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateAManagedDiskFromAPlatformImage.json new file mode 100644 index 000000000000..a08c744382c5 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateAManagedDiskFromAPlatformImage.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-01", + "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-05-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json new file mode 100644 index 000000000000..77e9a0f63a2f --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-01", + "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-05-01/examples/CreateAManagedDiskWithDiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateAManagedDiskWithDiskAccess.json new file mode 100644 index 000000000000..e84d4ad3d972 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateAManagedDiskWithDiskAccess.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-01", + "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-05-01/examples/CreateAManagedDiskWithDiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateAManagedDiskWithDiskEncryptionSet.json new file mode 100644 index 000000000000..1d5673635ef0 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateAManagedDiskWithDiskEncryptionSet.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-01", + "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-05-01/examples/CreateAManagedUploadDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateAManagedUploadDisk.json new file mode 100644 index 000000000000..6e4e296a8203 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateAManagedUploadDisk.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-01", + "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-05-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json new file mode 100644 index 000000000000..2b3f867bf38f --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-01", + "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-05-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json new file mode 100644 index 000000000000..01d02842d7ef --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-01", + "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-05-01/examples/CreateASnapshotFromAnExistingSnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateASnapshotFromAnExistingSnapshot.json new file mode 100644 index 000000000000..da2e8f151dce --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateASnapshotFromAnExistingSnapshot.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-01", + "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-05-01/examples/CreateAnEmptyManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateAnEmptyManagedDisk.json new file mode 100644 index 000000000000..ce8be10e624c --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/CreateAnEmptyManagedDisk.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-01", + "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/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/PrivateClouds_Delete.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/DeleteADiskAccess.json similarity index 54% rename from specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/PrivateClouds_Delete.json rename to specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/DeleteADiskAccess.json index cbadcd2a5823..cd138298f526 100644 --- a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/PrivateClouds_Delete.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/DeleteADiskAccess.json @@ -1,9 +1,9 @@ { "parameters": { - "api-version": "2019-08-09-preview", "subscriptionId": "{subscription-id}", - "resourceGroupName": "group1", - "privateCloudName": "cloud1" + "resourceGroupName": "myResourceGroup", + "diskAccessName": "myDiskAccess", + "api-version": "2020-05-01" }, "responses": { "200": {}, diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/DeleteADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/DeleteADiskEncryptionSet.json new file mode 100644 index 000000000000..5b3569467275 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/DeleteADiskEncryptionSet.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "diskEncryptionSetName": "myDiskEncryptionSet", + "api-version": "2020-05-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/GetDiskAccessPrivateLinkResources.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/GetDiskAccessPrivateLinkResources.json new file mode 100644 index 000000000000..03ffff09b0ff --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/GetDiskAccessPrivateLinkResources.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-01", + "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-05-01/examples/GetInformationAboutADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/GetInformationAboutADiskAccess.json new file mode 100644 index 000000000000..085ca9beb839 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/GetInformationAboutADiskAccess.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-01", + "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-05-01/examples/GetInformationAboutADiskAccessWithPrivateEndpoints.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/GetInformationAboutADiskAccessWithPrivateEndpoints.json new file mode 100644 index 000000000000..64b76c11afb0 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/GetInformationAboutADiskAccessWithPrivateEndpoints.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-01", + "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-05-01/examples/GetInformationAboutADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/GetInformationAboutADiskEncryptionSet.json new file mode 100644 index 000000000000..79dd5a069b1e --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/GetInformationAboutADiskEncryptionSet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-01", + "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}" + }, + "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-05-01/examples/GetInformationAboutAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/GetInformationAboutAManagedDisk.json new file mode 100644 index 000000000000..c0d091d9d798 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/GetInformationAboutAManagedDisk.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-01", + "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-05-01/examples/GetInformationAboutASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/GetInformationAboutASnapshot.json new file mode 100644 index 000000000000..c3ec32fa4a7e --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/GetInformationAboutASnapshot.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-01", + "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-05-01/examples/ListDiskAccessesInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/ListDiskAccessesInAResourceGroup.json new file mode 100644 index 000000000000..d6b8dada0e9a --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/ListDiskAccessesInAResourceGroup.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-01" + }, + "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-05-01/examples/ListDiskAccessesInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/ListDiskAccessesInASubscription.json new file mode 100644 index 000000000000..85db06c39cb5 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/ListDiskAccessesInASubscription.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-05-01" + }, + "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-05-01/examples/ListDiskEncryptionSetsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/ListDiskEncryptionSetsInAResourceGroup.json new file mode 100644 index 000000000000..fc267bdcfc29 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/ListDiskEncryptionSetsInAResourceGroup.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-01" + }, + "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}" + }, + "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}" + }, + "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-05-01/examples/ListDiskEncryptionSetsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/ListDiskEncryptionSetsInASubscription.json new file mode 100644 index 000000000000..4680795b13c8 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/ListDiskEncryptionSetsInASubscription.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-05-01" + }, + "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}" + }, + "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}" + }, + "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-05-01/examples/ListManagedDisksInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/ListManagedDisksInAResourceGroup.json new file mode 100644 index 000000000000..99577d2019b5 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/ListManagedDisksInAResourceGroup.json @@ -0,0 +1,120 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-01" + }, + "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-05-01/examples/ListManagedDisksInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/ListManagedDisksInASubscription.json new file mode 100644 index 000000000000..7a11120324f5 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/ListManagedDisksInASubscription.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-05-01" + }, + "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-05-01/examples/ListSnapshotsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/ListSnapshotsInAResourceGroup.json new file mode 100644 index 000000000000..2731bf774cf2 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/ListSnapshotsInAResourceGroup.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-01" + }, + "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-05-01/examples/ListSnapshotsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/ListSnapshotsInASubscription.json new file mode 100644 index 000000000000..1a4bd0559f34 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/ListSnapshotsInASubscription.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-05-01" + }, + "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-05-01/examples/UpdateADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/UpdateADiskAccess.json new file mode 100644 index 000000000000..fa0d26f53b12 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/UpdateADiskAccess.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-01", + "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-05-01/examples/UpdateADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/UpdateADiskEncryptionSet.json new file mode 100644 index 000000000000..31573f1e0edf --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/UpdateADiskEncryptionSet.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-01", + "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}" + } + }, + "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}" + }, + "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}" + }, + "previousKeys": [] + }, + "tags": { + "department": "Development", + "project": "Encryption" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/UpdateAManagedDiskToRemoveDiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/UpdateAManagedDiskToRemoveDiskAccess.json new file mode 100644 index 000000000000..a9cbcf115a87 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/examples/UpdateAManagedDiskToRemoveDiskAccess.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-01", + "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.md b/specification/compute/resource-manager/readme.md index fd00318c0fe8..06d1324050ed 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-2019-12-01 +tag: package-2020-05-01 directive: - where: @@ -215,6 +215,29 @@ directive: ``` +### Tag: package-2020-05-01 + +These settings apply only when `--tag=package-2020-05-01` is specified on the command line. + +``` yaml $(tag) == 'package-2020-05-01' +input-file: +- Microsoft.Compute/stable/2019-12-01/compute.json +- Microsoft.Compute/stable/2019-12-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-05-01-only + +These settings apply only when `--tag=package-2020-05-01-only` is specified on the command line. + +``` yaml $(tag) == 'package-2020-05-01-only' +input-file: +- Microsoft.Compute/stable/2020-05-01/disk.json +``` + ### Tag: package-2019-12-01 These settings apply only when `--tag=package-2019-12-01` is specified on the command line. @@ -662,6 +685,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 @@ -774,6 +798,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(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 diff --git a/specification/compute/resource-manager/readme.python.md b/specification/compute/resource-manager/readme.python.md index 07382513e166..53decad609c1 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,15 +38,6 @@ 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 diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/confluent.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/confluent.json new file mode 100644 index 000000000000..5265c290155d --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/confluent.json @@ -0,0 +1,697 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft.Confluent", + "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": { + "/providers/Microsoft.Confluent/operations": { + "get": { + "tags": [ + "Organization" + ], + "summary": "List all operations provided by Microsoft.Confluent.", + "operationId": "OrganizationOperations_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "OrganizationOperations_List": { + "$ref": "./examples/OrganizationOperations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Confluent/organizations": { + "get": { + "tags": [ + "Organization" + ], + "summary": "List all organizations under the specified subscription.", + "operationId": "Organization_ListBySubscription", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OrganizationResourceListResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Organization_ListBySubscription": { + "$ref": "./examples/Organization_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Confluent/organizations": { + "get": { + "tags": [ + "Organization" + ], + "summary": "List all Organizations under the specified resource group.", + "operationId": "Organization_ListByResourceGroup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OrganizationResourceListResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Organization_ListByResourceGroup": { + "$ref": "./examples/Organization_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Confluent/organizations/{organizationName}": { + "get": { + "tags": [ + "Organization" + ], + "summary": "Get the properties of a specific Organization resource.", + "operationId": "Organization_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/OrganizationResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OrganizationResource" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Organization_Get": { + "$ref": "./examples/Organization_Get.json" + } + } + }, + "put": { + "tags": [ + "Organization" + ], + "summary": "Create Organization resource", + "operationId": "Organization_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/OrganizationResourceNameParameter" + }, + { + "in": "body", + "name": "body", + "description": "Organization resource model", + "schema": { + "$ref": "#/definitions/OrganizationResource" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OrganizationResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/OrganizationResource" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Organization_Create": { + "$ref": "./examples/Organization_Create.json" + } + } + }, + "patch": { + "tags": [ + "Organization" + ], + "summary": "Update Organization resource", + "operationId": "Organization_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/OrganizationResourceNameParameter" + }, + { + "in": "body", + "name": "body", + "description": "Updated Organization resource", + "schema": { + "$ref": "#/definitions/OrganizationResourceUpdate" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OrganizationResource" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Confluent_Update": { + "$ref": "./examples/Organization_Update.json" + } + } + }, + "delete": { + "tags": [ + "Organization" + ], + "summary": "Delete Organization resource", + "operationId": "Organization_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/OrganizationResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "The specified confluent resource does not exist in the subscription." + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Confluent_Delete": { + "$ref": "./examples/Organization_Delete.json" + } + } + } + } + }, + "definitions": { + "OperationDisplay": { + "description": "The object that represents the operation.", + "type": "object", + "properties": { + "provider": { + "description": "Service provider: Microsoft.Confluent", + "type": "string" + }, + "resource": { + "description": "Type on which the operation is performed, e.g., 'clusters'.", + "type": "string" + }, + "operation": { + "description": "Operation type, e.g., read, write, delete, etc.", + "type": "string" + }, + "description": { + "description": "Description of the operation, e.g., 'Write confluent'.", + "type": "string" + } + } + }, + "OperationResult": { + "description": "An Confluent REST API operation.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "The object that represents the operation.", + "$ref": "#/definitions/OperationDisplay" + } + } + }, + "OperationListResult": { + "description": "Result of GET request to list Confluent operations.", + "type": "object", + "properties": { + "value": { + "description": "List of Confluent operations supported by the Microsoft.Confluent provider.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationResult" + } + }, + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string" + } + } + }, + "ErrorResponseBody": { + "description": "Response body of Error", + "title": "ErrorResponseBody", + "type": "object", + "properties": { + "code": { + "description": "Error code", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message", + "type": "string", + "readOnly": true + }, + "target": { + "description": "Error target", + "type": "string", + "readOnly": true + }, + "details": { + "description": "Error detail", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + } + }, + "ResourceProviderDefaultErrorResponse": { + "type": "object", + "description": "Default error response for resource provider", + "title": "ResourceProviderDefaultErrorResponse", + "properties": { + "error": { + "description": "Response body of Error", + "readOnly": true, + "$ref": "#/definitions/ErrorResponseBody" + } + } + }, + "ProvisioningState": { + "enum": [ + "Accepted", + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "description": "Provision states for confluent RP", + "title": "ProvisioningState", + "x-ms-enum": { + "name": "ProvisionState", + "modelAsString": true + } + }, + "OfferDetail": { + "description": "Confluent Offer detail", + "type": "object", + "properties": { + "publisherId": { + "description": "Publisher Id", + "maxLength": 50, + "type": "string" + }, + "id": { + "description": "Offer Id", + "maxLength": 50, + "type": "string" + }, + "planId": { + "description": "Offer Plan Id", + "maxLength": 50, + "type": "string" + }, + "planName": { + "description": "Offer Plan Name", + "maxLength": 50, + "type": "string" + }, + "termUnit": { + "description": "Offer Plan Term unit", + "maxLength": 25, + "type": "string" + } + } + }, + "UserDetail": { + "description": "Subscriber detail", + "type": "object", + "properties": { + "firstName": { + "description": "First name", + "maxLength": 50, + "type": "string" + }, + "lastName": { + "description": "Last name", + "maxLength": 50, + "type": "string" + }, + "emailAddress": { + "description": "Email address. Validation Pattern: ^\\w+@[a-zA-Z_]+?\\.[a-zA-Z]{2,3}$", + "pattern": "^\\w+@[a-zA-Z_]+?\\.[a-zA-Z]{2,3}$", + "type": "string" + }, + "phoneNumber": { + "description": "Phone number. Validation Pattern: ^(\\+\\d{1,2}\\s)?\\(?\\d{3}\\)?[\\s.-]?\\d{3}[\\s.-]?\\d{4}$", + "pattern": "^(\\+\\d{1,2}\\s)?\\(?\\d{3}\\)?[\\s.-]?\\d{3}[\\s.-]?\\d{4}$", + "type": "string" + } + } + }, + "OrganizationResourceProperties": { + "description": "Organization resource property", + "type": "object", + "properties": { + "createdTime": { + "format": "date-time", + "description": "The creation time of the resource.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "Provision states for confluent RP", + "$ref": "#/definitions/ProvisioningState" + }, + "organizationId": { + "description": "Id of the Confluent organization.", + "type": "string", + "readOnly": true + }, + "ssoUrl": { + "description": "SSO url for the Confluent organization.", + "type": "string", + "readOnly": true + }, + "offerDetail": { + "description": "Confluent offer detail", + "allOf": [ + { + "$ref": "#/definitions/OfferDetail" + } + ] + }, + "userDetail": { + "description": "Subscriber detail", + "allOf": [ + { + "$ref": "#/definitions/UserDetail" + } + ] + } + } + }, + "OrganizationResource": { + "description": "Organization resource.", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "id": { + "description": "The ARM id of 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 + }, + "properties": { + "x-ms-client-flatten": true, + "description": "Organization resource properties", + "allOf": [ + { + "$ref": "#/definitions/OrganizationResourceProperties" + } + ] + }, + "tags": { + "type": "object", + "description": "Organization resource tags", + "additionalProperties": { + "type": "string" + } + }, + "location": { + "description": "Location of Organization resource", + "type": "string" + } + } + }, + "OrganizationResourceListResult": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Result of a list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/OrganizationResource" + } + }, + "nextLink": { + "description": "Link to the next set of results, if any.", + "type": "string" + } + } + }, + "OrganizationResourceUpdate": { + "description": "Organization Resource update", + "type": "object", + "properties": { + "tags": { + "description": "ARM resource tags", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string", + "enum": [ + "2020-03-01-preview" + ] + }, + "SubscriptionIdParameter": { + "in": "path", + "name": "subscriptionId", + "description": "Microsoft Azure subscription id", + "required": true, + "type": "string" + }, + "ResourceGroupParameter": { + "in": "path", + "name": "resourceGroupName", + "description": "Resource group name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "OrganizationResourceNameParameter": { + "in": "path", + "name": "organizationName", + "description": "Organization resource name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/OrganizationOperations_List.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/OrganizationOperations_List.json new file mode 100644 index 000000000000..cf08589e54db --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/OrganizationOperations_List.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2020-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Confluent/organizations/Read", + "display": { + "provider": "Microsoft.Confluent", + "resource": "organizations", + "operation": "Get/List organization resources", + "description": "Read organization" + } + }, + { + "name": "Microsoft.Confluent/organizations/Write", + "display": { + "provider": "Microsoft.Confluent", + "resource": "organizations", + "operation": "Create/Update organization resources", + "description": "Write organization" + } + }, + { + "name": "Microsoft.Confluent/organizations/Delete", + "display": { + "provider": "Microsoft.Confluent", + "resource": "organizations", + "operation": "Delete organization resources", + "description": "Delete organization" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Create.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Create.json new file mode 100644 index 000000000000..59c760932d81 --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Create.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "api-version": "2020-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "organizationName": "myOrganization", + "body": { + "properties": { + "offerDetail": { + "publisherId": "string", + "id": "string", + "planId": "string", + "planName": "string", + "termUnit": "string" + }, + "userDetail": { + "firstName": "string", + "lastName": "string", + "emailAddress": "contoso@microsoft.com", + "phoneNumber": "+91 1111111111" + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Confluent/organizations/myOrganization", + "name": "myOrganization", + "type": "Microsoft.Confluent/organizations", + "properties": { + "createdTime": "2020-05-09T14:28:47.284Z", + "provisioningState": "Succeeded", + "organizationId": "string", + "ssoUrl": "string", + "offerDetail": { + "publisherId": "string", + "id": "string", + "planId": "string", + "planName": "string", + "termUnit": "string" + }, + "userDetail": { + "firstName": "string", + "lastName": "string", + "emailAddress": "contoso@microsoft.com", + "phoneNumber": "+91 1111111111" + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Confluent/organizations/myOrganization", + "name": "myOrganization", + "type": "Microsoft.Confluent/organizations", + "properties": { + "createdTime": "2020-05-09T14:28:47.284Z", + "provisioningState": "Accepted", + "organizationId": "string", + "ssoUrl": "string", + "offerDetail": { + "publisherId": "string", + "id": "string", + "planId": "string", + "planName": "string", + "termUnit": "string" + }, + "userDetail": { + "firstName": "string", + "lastName": "string", + "emailAddress": "contoso@microsoft.com", + "phoneNumber": "+91 1111111111" + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + } + } +} diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Delete.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Delete.json new file mode 100644 index 000000000000..9621d3e6929b --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "organizationName": "myOrganization" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Get.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Get.json new file mode 100644 index 000000000000..5b1aab813d2e --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Get.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "organizationName": "myOrganization" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Confluent/organizations/myOrganization", + "name": "myOrganization", + "type": "Microsoft.Confluent/organizations", + "properties": { + "createdTime": "2020-05-09T14:28:47.284Z", + "provisioningState": "Accepted", + "organizationId": "string", + "ssoUrl": "string", + "offerDetail": { + "publisherId": "string", + "id": "string", + "planId": "string", + "planName": "string", + "termUnit": "string" + }, + "userDetail": { + "firstName": "string", + "lastName": "string", + "emailAddress": "contoso@microsoft.com", + "phoneNumber": "+91 1111111111" + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + } + } +} diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_ListByResourceGroup.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_ListByResourceGroup.json new file mode 100644 index 000000000000..6d80f1581538 --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_ListByResourceGroup.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Confluent/organizations/myOrganizations", + "name": "myOrganizations", + "type": "Microsoft.Confluent/organizations", + "properties": { + "createdTime": "2020-05-09T14:28:47.284Z", + "provisioningState": "Accepted", + "organizationId": "string", + "ssoUrl": "string", + "offerDetail": { + "publisherId": "string", + "id": "string", + "planId": "string", + "planName": "string", + "termUnit": "string" + }, + "userDetail": { + "firstName": "string", + "lastName": "string", + "emailAddress": "contoso@microsoft.com", + "phoneNumber": "+91 1111111111" + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_ListBySubscription.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_ListBySubscription.json new file mode 100644 index 000000000000..f605aee4a999 --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_ListBySubscription.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2020-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Confluent/organizations/myOrganizations", + "name": "myOrganizations", + "type": "Microsoft.Confluent/organizations", + "properties": { + "createdTime": "2020-05-09T14:28:47.284Z", + "provisioningState": "Accepted", + "organizationId": "string", + "ssoUrl": "string", + "offerDetail": { + "publisherId": "string", + "id": "string", + "planId": "string", + "planName": "string", + "termUnit": "string" + }, + "userDetail": { + "firstName": "string", + "lastName": "string", + "emailAddress": "contoso@microsoft.com", + "phoneNumber": "+91 1111111111" + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Update.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Update.json new file mode 100644 index 000000000000..dce805cf8eac --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Update.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2020-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "organizationName": "myOrganization", + "body": { + "tags": { + "env": "dev", + "client": "dev-client" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Confluent/organizations/myOrganization", + "name": "myOrganization", + "type": "Microsoft.Confluent/organizations", + "properties": { + "createdTime": "2020-05-09T14:28:47.284Z", + "provisioningState": "Succeeded", + "organizationId": "string", + "ssoUrl": "string", + "offerDetail": { + "publisherId": "string", + "id": "string", + "planId": "string", + "planName": "string", + "termUnit": "string" + }, + "userDetail": { + "firstName": "string", + "lastName": "string", + "emailAddress": "contoso@microsoft.com", + "phoneNumber": "+91 1111111111" + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + } + } +} diff --git a/specification/confluent/resource-manager/readme.md b/specification/confluent/resource-manager/readme.md new file mode 100644 index 000000000000..687ff7737205 --- /dev/null +++ b/specification/confluent/resource-manager/readme.md @@ -0,0 +1,40 @@ +# Confluent + +> see https://aka.ms/autorest + +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` + +To see additional help and options, run: + +> `autorest --help` +--- + +## Configuration + + + +### Basic Information +These are the global settings for the Confluent API. + +``` yaml +title: Microsoft Confluent Client +openapi-type: arm +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. + +``` yaml $(tag) == 'package-2020-03-preview' +input-file: +- Microsoft.Confluent/preview/2020-03-01-preview/confluent.json +``` 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 4d14b159469b..214e42d27d1a 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 @@ -1129,8 +1129,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 +1167,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 +3379,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 +3647,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 +3670,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", @@ -3548,8 +3766,7 @@ "description": "The category of the budget, whether the budget tracks cost or usage.", "type": "string", "enum": [ - "Cost", - "Usage" + "Cost" ], "x-ms-enum": { "name": "CategoryType", @@ -3562,7 +3779,7 @@ "format": "decimal" }, "timeGrain": { - "description": "The time covered by a budget. Tracking of the amount will be reset based on the time grain.", + "description": "The time covered by a budget. Tracking of the amount will be reset based on the time grain. BillingMonth, BillingQuarter, and BillingAnnual are only supported by WD customers", "type": "string", "enum": [ "Monthly", @@ -3578,13 +3795,13 @@ } }, "timePeriod": { - "description": "Has start and end date of the budget. The start date must be first of the month and should be less than the end date. Budget start date must be on or after June 1, 2017. Future start date should not be more than three months. Past start date should be selected within the timegrain period. There are no restrictions on the end date.", + "description": "Has start and end date of the budget. The start date must be first of the month and should be less than the end date. Budget start date must be on or after June 1, 2017. Future start date should not be more than twelve months. Past start date should be selected within the timegrain period. There are no restrictions on the end date.", "$ref": "#/definitions/BudgetTimePeriod" }, - "filters": { + "filter": { "description": "May be used to filter budgets by resource group, resource, or meter.", "type": "object", - "$ref": "#/definitions/Filters" + "$ref": "#/definitions/BudgetFilter" }, "currentSpend": { "description": "The current amount of cost which is being tracked for a budget.", @@ -3626,51 +3843,64 @@ "startDate" ] }, - "Filters": { + "BudgetFilter": { "description": "May be used to filter budgets by resource group, resource, or meter.", "properties": { - "resourceGroups": { - "description": "The list of filters on resource groups, allowed at subscription level only.", + "and": { + "description": "The logical \"AND\" expression. Must have at least 2 items.", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/BudgetFilter" }, - "minItems": 0, - "maxItems": 10 + "minItems": 2 }, - "resources": { - "description": "The list of filters on resources.", - "type": "array", - "items": { - "type": "string" - }, - "minItems": 0, - "maxItems": 10 + "not": { + "description": "The logical \"NOT\" expression.", + "$ref": "#/definitions/BudgetFilter" }, - "meters": { - "description": "The list of filters on meters (GUID), mandatory for budgets of usage category. ", - "type": "array", - "items": { - "type": "string", - "format": "uuid" - }, - "minItems": 0, - "maxItems": 10 + "dimensions": { + "description": "Has comparison expression for a dimension", + "$ref": "#/definitions/BudgetComparisonExpression" }, "tags": { - "type": "object", - "description": "The dictionary of filters on tags.", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - }, - "minItems": 0, - "maxItems": 10 + "description": "Has comparison expression for a tag", + "$ref": "#/definitions/BudgetComparisonExpression" } } }, + "BudgetComparisonExpression": { + "description": "The comparison expression to be used in the budgets.", + "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": "BudgetOperatorType", + "modelAsString": true + } + }, + "values": { + "description": "Array of values to use for comparison", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "name", + "operator", + "values" + ] + }, "CurrentSpend": { "description": "The current amount of cost which is being tracked for a budget.", "properties": { @@ -3736,6 +3966,17 @@ }, "minItems": 0, "maxItems": 50 + }, + "thresholdType": { + "description": "The type of threshold", + "type": "string", + "enum": [ + "Actual" + ], + "x-ms-enum": { + "name": "ThresholdType", + "modelAsString": true + } } }, "required": [ @@ -4716,6 +4957,15 @@ "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 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 + }, "apiVersionParameter": { "name": "api-version", "in": "query", diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/Budget.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/Budget.json index 8471ee227283..7772ab159833 100644 --- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/Budget.json +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/Budget.json @@ -9,7 +9,7 @@ "responses": { "200": { "body": { - "id": "subscriptions/{subscription-id}/providers/Microsoft.Consumption/budgets/TestBudget", + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/TestBudget", "name": "TestBudget", "type": "Microsoft.Consumption/budgets", "eTag": "\"1d34d012214157f\"", @@ -21,27 +21,39 @@ "startDate": "2017-10-01T00:00:00Z", "endDate": "2018-10-31T00:00:00Z" }, - "filters": { - "resourceGroups": [ - "MPDEVTESTRG" - ], - "resources": [ - "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2", - "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1" - ], - "meters": [ - "00000000-0000-0000-0000-000000000000" - ], - "tags": { - "category": [ - "Dev", - "Prod" - ], - "department": [ - "engineering", - "sales" - ] - } + "filter": { + "and": [ + { + "dimensions": { + "name": "ResourceId", + "operator": "In", + "values": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1" + ] + } + }, + { + "tags": { + "name": "category", + "operator": "In", + "values": [ + "Dev", + "Prod" + ] + } + }, + { + "tags": { + "name": "department", + "operator": "In", + "values": [ + "engineering", + "sales" + ] + } + } + ] }, "currentSpend": { "amount": 80.89, @@ -61,8 +73,9 @@ "Reader" ], "contactGroups": [ - "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" - ] + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" + ], + "thresholdType": "Actual" } } } diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/BudgetsList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/BudgetsList.json index 28b3c2a85f87..3a2bef0fc12e 100644 --- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/BudgetsList.json +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/BudgetsList.json @@ -10,7 +10,7 @@ "body": { "value": [ { - "id": "subscriptions/{subscription-id}/providers/Microsoft.Consumption/budgets/TestBudget", + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/TestBudget", "name": "TestBudget", "type": "Microsoft.Consumption/budgets", "eTag": "\"1d34d012214157f\"", @@ -22,27 +22,39 @@ "startDate": "2017-10-01T00:00:00Z", "endDate": "2018-10-31T00:00:00Z" }, - "filters": { - "resourceGroups": [ - "MYDEVTESTRG" - ], - "resources": [ - "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MYVM2", - "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1" - ], - "meters": [ - "00000000-0000-0000-0000-000000000000" - ], - "tags": { - "category": [ - "Dev", - "Prod" - ], - "department": [ - "engineering", - "sales" - ] - } + "filter": { + "and": [ + { + "dimensions": { + "name": "ResourceId", + "operator": "In", + "values": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1" + ] + } + }, + { + "tags": { + "name": "category", + "operator": "In", + "values": [ + "Dev", + "Prod" + ] + } + }, + { + "tags": { + "name": "department", + "operator": "In", + "values": [ + "engineering", + "sales" + ] + } + } + ] }, "currentSpend": { "amount": 80.89, @@ -75,14 +87,15 @@ "Reader" ], "contactGroups": [ - "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" ] - } + }, + "thresholdType": "Actual" } } }, { - "id": "subscriptions/{subscription-id}/providers/Microsoft.Consumption/budgets/TestBudget", + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/budgets/TestBudget", "name": "TestBudget", "type": "Microsoft.Consumption/budgets", "eTag": "\"1d34d012214157f\"", @@ -94,27 +107,39 @@ "startDate": "2017-10-01T00:00:00Z", "endDate": "2018-10-31T00:00:00Z" }, - "filters": { - "resourceGroups": [ - "MYDEVTESTRG" - ], - "resources": [ - "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MYVM2", - "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1" - ], - "meters": [ - "00000000-0000-0000-0000-000000000000" - ], - "tags": { - "category": [ - "Dev", - "Prod" - ], - "department": [ - "engineering", - "sales" - ] - } + "filter": { + "and": [ + { + "dimensions": { + "name": "ResourceId", + "operator": "In", + "values": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1" + ] + } + }, + { + "tags": { + "name": "category", + "operator": "In", + "values": [ + "Dev", + "Prod" + ] + } + }, + { + "tags": { + "name": "department", + "operator": "In", + "values": [ + "engineering", + "sales" + ] + } + } + ] }, "currentSpend": { "amount": 120.89, @@ -147,8 +172,9 @@ "Reader" ], "contactGroups": [ - "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" - ] + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" + ], + "thresholdType": "Actual" } } } diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/CreateOrUpdateBudget.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/CreateOrUpdateBudget.json index d527262295e6..e7316c36d43e 100644 --- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/CreateOrUpdateBudget.json +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/CreateOrUpdateBudget.json @@ -15,27 +15,39 @@ "startDate": "2017-10-01T00:00:00Z", "endDate": "2018-10-31T00:00:00Z" }, - "filters": { - "resourceGroups": [ - "MYDEVTESTRG" - ], - "resources": [ - "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MYVM2", - "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1" - ], - "meters": [ - "00000000-0000-0000-0000-000000000000" - ], - "tags": { - "category": [ - "Dev", - "Prod" - ], - "department": [ - "engineering", - "sales" - ] - } + "filter": { + "and": [ + { + "dimensions": { + "name": "ResourceId", + "operator": "In", + "values": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1" + ] + } + }, + { + "tags": { + "name": "category", + "operator": "In", + "values": [ + "Dev", + "Prod" + ] + } + }, + { + "tags": { + "name": "department", + "operator": "In", + "values": [ + "engineering", + "sales" + ] + } + } + ] }, "notifications": { "Actual_GreaterThan_80_Percent": { @@ -51,8 +63,9 @@ "Reader" ], "contactGroups": [ - "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" - ] + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" + ], + "thresholdType": "Actual" } } } @@ -61,7 +74,7 @@ "responses": { "201": { "body": { - "id": "subscriptions/{subscription-id}/providers/Microsoft.Consumption/budgets/TestBudget", + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/TestBudget", "name": "TestBudget", "type": "Microsoft.Consumption/budgets", "eTag": "\"1d34d012214157f\"", @@ -73,27 +86,39 @@ "startDate": "2017-10-01T00:00:00Z", "endDate": "2018-10-31T00:00:00Z" }, - "filters": { - "resourceGroups": [ - "MPDEVTESTRG" - ], - "resources": [ - "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MYVM2", - "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1" - ], - "meters": [ - "00000000-0000-0000-0000-000000000000" - ], - "tags": { - "category": [ - "Dev", - "Prod" - ], - "department": [ - "engineering", - "sales" - ] - } + "filter": { + "and": [ + { + "dimensions": { + "name": "ResourceId", + "operator": "In", + "values": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1" + ] + } + }, + { + "tags": { + "name": "category", + "operator": "In", + "values": [ + "Dev", + "Prod" + ] + } + }, + { + "tags": { + "name": "department", + "operator": "In", + "values": [ + "engineering", + "sales" + ] + } + } + ] }, "currentSpend": { "amount": 80.89, @@ -113,8 +138,9 @@ "Reader" ], "contactGroups": [ - "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" - ] + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" + ], + "thresholdType": "Actual" } } } @@ -122,7 +148,7 @@ }, "200": { "body": { - "id": "subscriptions/{subscription-id}/providers/Microsoft.Consumption/budgets/TestBudget", + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/budgets/TestBudget", "name": "TestBudget", "type": "Microsoft.Consumption/budgets", "eTag": "\"1d34d012214157f\"", @@ -134,27 +160,39 @@ "startDate": "2017-10-01T00:00:00Z", "endDate": "2018-10-31T00:00:00Z" }, - "filters": { - "resourceGroups": [ - "MPDEVTESTRG" - ], - "resources": [ - "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MYVM2", - "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1" - ], - "meters": [ - "00000000-0000-0000-0000-000000000000" - ], - "tags": { - "category": [ - "Dev", - "Prod" - ], - "department": [ - "engineering", - "sales" - ] - } + "filter": { + "and": [ + { + "dimensions": { + "name": "ResourceId", + "operator": "In", + "values": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1" + ] + } + }, + { + "tags": { + "name": "category", + "operator": "In", + "values": [ + "Dev", + "Prod" + ] + } + }, + { + "tags": { + "name": "department", + "operator": "In", + "values": [ + "engineering", + "sales" + ] + } + } + ] }, "currentSpend": { "amount": 80.89, @@ -174,8 +212,9 @@ "Reader" ], "contactGroups": [ - "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" - ] + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup" + ], + "thresholdType": "Actual" } } } 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/ReservationTransactionsListByBillingAccountId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationTransactionsListByEnrollmentNumber.json similarity index 95% rename from specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationTransactionsListByBillingAccountId.json rename to specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationTransactionsListByEnrollmentNumber.json index 7770a224b060..9e2cd5457ab2 100644 --- 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/ReservationTransactionsListByEnrollmentNumber.json @@ -1,8 +1,8 @@ { "parameters": { "api-version": "2019-10-01", - "billingAccountId": "123456", - "$filter": "properties/eventDate ge 2019-09-09 AND properties/eventDate le 2019-09-10" + "$filter": "properties/eventDate+ge+2020-05-20+AND+properties/eventDate+le+2020-05-30", + "billingAccountId": "123456" }, "responses": { "200": { 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.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..14839315995e 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 @@ -134,21 +142,9 @@ swagger-to-sdk: - bundle install && rake arm:regen_all_profiles['azure_mgmt_container_instance'] ``` - ## 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 +152,26 @@ 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.containerinstance -license-header: MICROSOFT_MIT_NO_CODEGEN -payload-flattening-threshold: 1 -output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-containerinstance -``` +## Node.js -### Java multi-api +See configuration in [readme.nodejs.md](./readme.nodejs.md) -``` 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 +## Python -These settings apply only when `--tag=package-2018-02-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-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 -``` +## 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 -``` - -### Tag: package-2017-08-preview and java +See configuration in [readme.typescript.md](./readme.typescript.md) -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 -``` - -## 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. @@ -281,11 +194,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/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json index 933aa70dc501..2174cc1e0e84 100644 --- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json @@ -1904,6 +1904,10 @@ "logLink": { "description": "The link to logs for a run on a azure container registry.", "type": "string" + }, + "logArtifactLink": { + "description": "The link to logs in registry for a run on a azure container registry.", + "type": "string" } } }, diff --git a/specification/containerregistry/resource-manager/readme.az.md b/specification/containerregistry/resource-manager/readme.az.md new file mode 100644 index 000000000000..fab7ce840545 --- /dev/null +++ b/specification/containerregistry/resource-manager/readme.az.md @@ -0,0 +1,20 @@ +## AZ + +These settings apply only when `--az` is specified on the command line. + +``` yaml $(az) +az: + extensions: containerregistry + namespace: azure.mgmt.containerregistry + package-name: azure-mgmt-containerregistry +az-output-folder: $(azure-cli-extension-folder)/src/containerregistry +python-sdk-output-folder: "$(az-output-folder)/azext_containerregistry/vendored_sdks/containerregistry" + +#cli: +# cli-directive: +# - where: +# group: MachineLearningCompute +# op: CreateOrUpdate +# param: properties +# poly-resource: true +``` diff --git a/specification/containerregistry/resource-manager/readme.cli.md b/specification/containerregistry/resource-manager/readme.cli.md new file mode 100644 index 000000000000..c88be4f1c90e --- /dev/null +++ b/specification/containerregistry/resource-manager/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 +``` \ No newline at end of file diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/AgentPools_Update.json new file mode 100644 index 000000000000..cf4d40d62ade --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/examples/AgentPools_Update.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2019-11-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": "Low", + "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": "Low", + "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": "Low", + "scaleSetEvictionPolicy": "Delete" + } + } + } + } +} 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 3a873962adcd..8282d9264ca7 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 @@ -719,6 +719,9 @@ "x-ms-examples": { "Create/Update Agent Pool": { "$ref": "./examples/AgentPoolsCreate_Update.json" + }, + "Update Agent Pool": { + "$ref": "./examples/AgentPools_Update.json" } } }, @@ -1423,10 +1426,7 @@ "count": { "type": "integer", "format": "int32", - "maximum": 100, - "minimum": 1, - "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ", - "default": 1 + "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1." }, "vmSize": { "$ref": "#/definitions/ContainerServiceVMSize", @@ -1517,10 +1517,6 @@ "description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule." } }, - "required": [ - "vmSize", - "count" - ], "description": "Properties for the container service agent pool profile." }, "ManagedClusterAgentPoolProfile": { diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/AgentPools_Update.json new file mode 100644 index 000000000000..ed54e42a197a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/examples/AgentPools_Update.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2020-01-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": "Low", + "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": "Low", + "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": "Low", + "scaleSetEvictionPolicy": "Delete" + } + } + } + } +} 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 4e21f399e3b1..dea09d26dea6 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 @@ -719,6 +719,9 @@ "x-ms-examples": { "Create/Update Agent Pool": { "$ref": "./examples/AgentPoolsCreate_Update.json" + }, + "Update Agent Pool": { + "$ref": "./examples/AgentPools_Update.json" } } }, @@ -1423,10 +1426,7 @@ "count": { "type": "integer", "format": "int32", - "maximum": 100, - "minimum": 1, - "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ", - "default": 1 + "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1." }, "vmSize": { "$ref": "#/definitions/ContainerServiceVMSize", @@ -1517,10 +1517,6 @@ "description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule." } }, - "required": [ - "vmSize", - "count" - ], "description": "Properties for the container service agent pool profile." }, "ManagedClusterAgentPoolProfile": { diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-02-01/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-02-01/examples/AgentPools_Update.json new file mode 100644 index 000000000000..e80f903f7305 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-02-01/examples/AgentPools_Update.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2020-02-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": "Low", + "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": "Low", + "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": "Low", + "scaleSetEvictionPolicy": "Delete" + } + } + } + } +} 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 09a127a07480..4c23040f7b7a 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 @@ -720,6 +720,9 @@ "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" } @@ -1426,10 +1429,7 @@ "count": { "type": "integer", "format": "int32", - "maximum": 100, - "minimum": 1, - "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ", - "default": 1 + "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1." }, "vmSize": { "$ref": "#/definitions/ContainerServiceVMSize", @@ -1524,10 +1524,6 @@ "description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule." } }, - "required": [ - "vmSize", - "count" - ], "description": "Properties for the container service agent pool profile." }, "ManagedClusterAgentPoolProfile": { diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-03-01/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-03-01/examples/AgentPools_Update.json new file mode 100644 index 000000000000..8bd933ab157b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-03-01/examples/AgentPools_Update.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2020-03-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": "Low", + "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": "Low", + "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": "Low", + "scaleSetEvictionPolicy": "Delete" + } + } + } + } +} 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 28cee03f5637..894a1ab3fb3b 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 @@ -720,6 +720,9 @@ "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" } @@ -1426,10 +1429,7 @@ "count": { "type": "integer", "format": "int32", - "maximum": 100, - "minimum": 0, - "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 100 (inclusive). The default value is 1. ", - "default": 1 + "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", @@ -1528,10 +1528,6 @@ "description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule." } }, - "required": [ - "vmSize", - "count" - ], "description": "Properties for the container service agent pool profile." }, "ManagedClusterAgentPoolProfile": { diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/AgentPoolsCreate_Spot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/AgentPoolsCreate_Spot.json new file mode 100644 index 000000000000..bee43cf83fe6 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/AgentPoolsCreate_Spot.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2020-04-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-04-01/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/AgentPoolsCreate_Update.json new file mode 100644 index 000000000000..e651a428325f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/AgentPoolsCreate_Update.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2020-04-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-04-01/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/AgentPoolsDelete.json new file mode 100644 index 000000000000..b1cc407c97ef --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/AgentPoolsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/AgentPoolsGet.json new file mode 100644 index 000000000000..5f45d3a1d359 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/AgentPoolsGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-04-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-04-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json new file mode 100644 index 000000000000..f5030d56cbe8 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-04-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-04-01/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/AgentPoolsGetUpgradeProfile.json new file mode 100644 index 000000000000..fdddcbaf8d98 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/AgentPoolsGetUpgradeProfile.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-04-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-04-01/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/AgentPoolsList.json new file mode 100644 index 000000000000..2790bd1676f8 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/AgentPoolsList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-04-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-04-01/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/AgentPools_Update.json new file mode 100644 index 000000000000..07f907e2c01b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/AgentPools_Update.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2020-04-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-04-01/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/ManagedClustersCreate_Update.json new file mode 100644 index 000000000000..a0b14bbe8a20 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/ManagedClustersCreate_Update.json @@ -0,0 +1,249 @@ +{ + "parameters": { + "api-version": "2020-04-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 + } + } + }, + "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" + } + } + } + }, + "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" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/ManagedClustersDelete.json new file mode 100644 index 000000000000..d1ca56789c89 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/ManagedClustersDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/ManagedClustersGet.json new file mode 100644 index 000000000000..51cd895d5dbf --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/ManagedClustersGet.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "api-version": "2020-04-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-04-01/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/ManagedClustersGetAccessProfile.json new file mode 100644 index 000000000000..b8684d2d7adf --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/ManagedClustersGetAccessProfile.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-04-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-04-01/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/ManagedClustersGetUpgradeProfile.json new file mode 100644 index 000000000000..4bfc5b558f3f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/ManagedClustersGetUpgradeProfile.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2020-04-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-04-01/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/ManagedClustersList.json new file mode 100644 index 000000000000..2cfd288fc78e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/ManagedClustersList.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2020-04-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-04-01/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/ManagedClustersListByResourceGroup.json new file mode 100644 index 000000000000..ff5aa73e5873 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/ManagedClustersListByResourceGroup.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2020-04-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-04-01/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/ManagedClustersListClusterCredentialResult.json new file mode 100644 index 000000000000..875612fc19b0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/ManagedClustersListClusterCredentialResult.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-04-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-04-01/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/ManagedClustersResetAADProfile.json new file mode 100644 index 000000000000..53ea2a956c86 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/ManagedClustersResetAADProfile.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-04-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-04-01/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/ManagedClustersResetServicePrincipalProfile.json new file mode 100644 index 000000000000..b360bdbfc241 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/ManagedClustersResetServicePrincipalProfile.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2020-04-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-04-01/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/ManagedClustersRotateClusterCertificates.json new file mode 100644 index 000000000000..d1ca56789c89 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/ManagedClustersRotateClusterCertificates.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/ManagedClustersUpdateTags.json new file mode 100644 index 000000000000..8e4bd9677042 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/examples/ManagedClustersUpdateTags.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2020-04-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-04-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/managedClusters.json new file mode 100644 index 000000000000..83b5e9e30cbb --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/managedClusters.json @@ -0,0 +1,2609 @@ +{ + "swagger": "2.0", + "info": { + "title": "ContainerServiceClient", + "description": "The Container Service Client.", + "version": "2020-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.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" + } + } + }, + "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" + } + } + }, + "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" + } + } + } + } + }, + "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." + } + }, + "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": "(PREVIEW) Whether to enable Kubernetes Pod security policy." + }, + "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", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + } + }, + "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." + }, + "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." + }, + "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 + } + } + } + } + }, + "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-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..e726cd78022b --- /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": "(PREVIEW) Whether to enable Kubernetes Pod security policy." + }, + "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/readme.go.md b/specification/containerservice/resource-manager/readme.go.md index abc52e7c79b7..657781427475 100644 --- a/specification/containerservice/resource-manager/readme.go.md +++ b/specification/containerservice/resource-manager/readme.go.md @@ -12,6 +12,8 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-06 + - tag: package-2020-04 - tag: package-2020-03 - tag: package-2020-02 - tag: package-2020-01 @@ -30,6 +32,25 @@ batch: - tag: package-2017-08 - tag: package-2017-07 ``` +### 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 + +These settings apply only when `--package-2020-04 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2020-04' && $(go) +namespace: containerservice +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-04-01/$(namespace) +``` ### Tag: package-2020-03 and go diff --git a/specification/containerservice/resource-manager/readme.java.md b/specification/containerservice/resource-manager/readme.java.md index bbb60e7a0feb..f902c9011114 100644 --- a/specification/containerservice/resource-manager/readme.java.md +++ b/specification/containerservice/resource-manager/readme.java.md @@ -23,6 +23,34 @@ batch: - tag: package-2020-01 - tag: package-2020-02 - tag: package-2020-03 + - tag: package-2020-04 + - tag: package-2020-06 +``` + +### 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 + +These settings apply only when `--tag=package-2020-04` 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.containerservice.v2020_04_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2020_04_01 +regenerate-manager: true +generate-interface: true ``` ### Tag: package-2020-03 and java diff --git a/specification/containerservice/resource-manager/readme.md b/specification/containerservice/resource-manager/readme.md index aa5d14dc6729..296d71dd7e19 100644 --- a/specification/containerservice/resource-manager/readme.md +++ b/specification/containerservice/resource-manager/readme.md @@ -34,10 +34,33 @@ These are the global settings for the ContainerServices API. ``` yaml openapi-type: arm -tag: package-2020-03 +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.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' +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. @@ -235,6 +258,32 @@ input-file: - Microsoft.ContainerService/stable/2017-07-01/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.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 + +These settings apply only when `--tag=package-2020-04-01-only` is specified on the command line. + +``` yaml $(tag) == 'package-2020-04-01-only' +input-file: +- Microsoft.ContainerService/stable/2020-04-01/managedClusters.json +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile + reason: Cluster-autoscaler settings are not camel-cased +``` + ### Tag: package-2020-03-01-only These settings apply only when `--tag=package-2020-03-01-only` is specified on the command line. @@ -511,6 +560,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-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 - $(this-folder)/Microsoft.ContainerService/stable/2020-01-01/managedClusters.json diff --git a/specification/containerservice/resource-manager/readme.python.md b/specification/containerservice/resource-manager/readme.python.md index bd7887b9243c..5fee0ec5f9e4 100644 --- a/specification/containerservice/resource-manager/readme.python.md +++ b/specification/containerservice/resource-manager/readme.python.md @@ -18,6 +18,8 @@ Generate all API versions currently shipped for this package ```yaml $(python) && $(multiapi) batch: + - tag: package-2020-06-01-only + - tag: package-2020-04-01-only - tag: package-2020-03-01-only - tag: package-2020-02-01-only - tag: package-2020-01-01-only @@ -36,6 +38,28 @@ batch: - tag: package-2017-07-only-extended ``` +### 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. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-04-01-only' && $(python) +python: + namespace: azure.mgmt.containerservice.v2020_04_01 + output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2020_04_01 +``` + ### Tag: package-2020-03-01-only and python These settings apply only when `--tag=package-2020-03-01-only --python` is specified on the command line. diff --git a/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/table.json b/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/table.json index 6ec8ea5e20b5..abc01960c97c 100644 --- a/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/table.json +++ b/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/table.json @@ -1310,6 +1310,9 @@ "TableServiceProperties": { "description": "Table Service Properties.", "type": "object", + "xml": { + "name": "StorageServiceProperties" + }, "properties": { "Logging": { "description": "Azure Analytics Logging settings.", @@ -1496,9 +1499,11 @@ } }, "TableServiceStats": { - "xml": {}, "description": "Stats for the service.", "type": "object", + "xml": { + "name": "StorageServiceStats" + }, "properties": { "GeoReplication": { "description": "Geo-Replication information for the Secondary Storage Service.", diff --git a/specification/cosmos-db/data-plane/readme.md b/specification/cosmos-db/data-plane/readme.md index 9adbc06b50b1..ba1ff2a95e5f 100644 --- a/specification/cosmos-db/data-plane/readme.md +++ b/specification/cosmos-db/data-plane/readme.md @@ -203,29 +203,7 @@ csharp: ## 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: - license-header: MICROSOFT_MIT_NO_VERSION - payload-flattening-threshold: 2 - namespace: azure.tables - package-name: azure-tables - clear-output-folder: true - no-namespace-folders: true -``` - -### Tag: package-2019-02 and python - -These settings apply only when `--tag=package-2019-02 --python` is specified on the command line. - -``` yaml $(tag) == 'package-2019-02' && $(python) -python: - namespace: azure.tables.storage.v2019_02_02 - output-folder: $(python-sdks-folder)/azure-tables-storage/azure/tables/storage/v2019_02_02 -``` +See configuration in [readme.python.md](./readme.python.md) ## Go diff --git a/specification/cosmos-db/data-plane/readme.python.md b/specification/cosmos-db/data-plane/readme.python.md new file mode 100644 index 000000000000..0d182d9db567 --- /dev/null +++ b/specification/cosmos-db/data-plane/readme.python.md @@ -0,0 +1,38 @@ +## 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: + license-header: MICROSOFT_MIT_NO_VERSION + namespace: azure.table + package-name: azure-table + clear-output-folder: true + no-namespace-folders: true + enable-xml: true + vanilla: true + output-folder: "$(python-sdks-folder)/sdk/cosmos/azure-cosmos-table/azure/table/_generated" + package-version: "2019-02-02" +``` + +### Use strings for dates when python doesn't have enough precision +``` yaml +directive: +- from: swagger-document + where: $.definitions.AccessPolicy.properties + transform: > + $.Start.format = "str"; + $.Expiry.format = "str"; +``` + +### SignedIdentifier shouldn't require an AccessPolicy, only ID +``` yaml +directive: +- from: swagger-document + where: $.definitions.SignedIdentifier + transform: > + $.required = [ "Id" ]; +``` + diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBNotebookWorkspaceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBNotebookWorkspaceCreate.json new file mode 100644 index 000000000000..6b9f0b7786a3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBNotebookWorkspaceCreate.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2019-12-12", + "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/stable/2019-12-12/examples/CosmosDBNotebookWorkspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBNotebookWorkspaceDelete.json new file mode 100644 index 000000000000..14e2f6e77d53 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBNotebookWorkspaceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2019-12-12", + "subscriptionId": "subid", + "notebookWorkspaceName": "default" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBNotebookWorkspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBNotebookWorkspaceGet.json new file mode 100644 index 000000000000..97eb46f4c16d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBNotebookWorkspaceGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2019-12-12", + "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/stable/2019-12-12/examples/CosmosDBNotebookWorkspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBNotebookWorkspaceList.json new file mode 100644 index 000000000000..4c2b95104aed --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBNotebookWorkspaceList.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2019-12-12", + "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/stable/2019-12-12/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json new file mode 100644 index 000000000000..66993961b4ae --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2019-12-12", + "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/stable/2019-12-12/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json new file mode 100644 index 000000000000..3e456159a011 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2019-12-12", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBNotebookWorkspaceStart.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBNotebookWorkspaceStart.json new file mode 100644 index 000000000000..3e456159a011 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/examples/CosmosDBNotebookWorkspaceStart.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2019-12-12", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/notebook.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/notebook.json new file mode 100644 index 000000000000..495565d8e4f0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2019-12-12/notebook.json @@ -0,0 +1,461 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2019-12-12" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/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": "../../stable/2019-12-12/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": "../../stable/2019-12-12/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": "../../stable/2019-12-12/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": "../../stable/2019-12-12/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": "../../stable/2019-12-12/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": "../../stable/2019-12-12/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": "../../stable/2019-12-12/cosmos-db.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "NotebookWorkspaceCreateUpdateParameters": { + "description": "Parameters to create a notebook workspace resource", + "type": "object", + "allOf": [ + { + "$ref": "../../stable/2019-12-12/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": "../../stable/2019-12-12/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..e648003dc480 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." } } }, 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/CosmosDBNotebookWorkspaceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBNotebookWorkspaceCreate.json new file mode 100644 index 000000000000..c01796bbdb17 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBNotebookWorkspaceCreate.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "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/stable/2020-03-01/examples/CosmosDBNotebookWorkspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBNotebookWorkspaceDelete.json new file mode 100644 index 000000000000..d2e386ecc31b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBNotebookWorkspaceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-03-01", + "subscriptionId": "subid", + "notebookWorkspaceName": "default" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBNotebookWorkspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBNotebookWorkspaceGet.json new file mode 100644 index 000000000000..5422c65564bc --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBNotebookWorkspaceGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "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/stable/2020-03-01/examples/CosmosDBNotebookWorkspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBNotebookWorkspaceList.json new file mode 100644 index 000000000000..ac3a39d40c95 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBNotebookWorkspaceList.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "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/stable/2020-03-01/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json new file mode 100644 index 000000000000..eeb535a3919d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "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/stable/2020-03-01/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json new file mode 100644 index 000000000000..33fb6777cc06 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBNotebookWorkspaceStart.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBNotebookWorkspaceStart.json new file mode 100644 index 000000000000..33fb6777cc06 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBNotebookWorkspaceStart.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/notebook.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/notebook.json new file mode 100644 index 000000000000..639a7d9edcf0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/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-03-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/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": "../../stable/2020-03-01/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": "../../stable/2020-03-01/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": "../../stable/2020-03-01/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": "../../stable/2020-03-01/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": "../../stable/2020-03-01/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": "../../stable/2020-03-01/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": "../../stable/2020-03-01/cosmos-db.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "NotebookWorkspaceCreateUpdateParameters": { + "description": "Parameters to create a notebook workspace resource", + "type": "object", + "allOf": [ + { + "$ref": "../../stable/2020-03-01/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": "../../stable/2020-03-01/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-04-01/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/cosmos-db.json new file mode 100644 index 000000000000..6e73ccd40325 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/cosmos-db.json @@ -0,0 +1,7516 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2020-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.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" + } + }, + "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" + } + } + } + } + } + }, + "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." + }, + "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" + } + }, + "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" + } + }, + "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" + ] + }, + "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" + } + } + }, + "DatabaseAccountCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB database accounts.", + "type": "object", + "properties": { + "consistencyPolicy": { + "description": "The consistency policy for the Cosmos DB account.", + "$ref": "#/definitions/ConsistencyPolicy" + }, + "locations": { + "type": "array", + "description": "An array that contains the georeplication locations enabled for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/Location" + } + }, + "databaseAccountOfferType": { + "description": "The offer type for the database", + "$ref": "#/definitions/DatabaseAccountOfferType" + }, + "ipRules": { + "description": "List of IpRules.", + "$ref": "#/definitions/IPRules" + }, + "isVirtualNetworkFilterEnabled": { + "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules.", + "type": "boolean" + }, + "enableAutomaticFailover": { + "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.", + "type": "boolean" + }, + "capabilities": { + "type": "array", + "description": "List of Cosmos DB capabilities for the account", + "items": { + "$ref": "#/definitions/Capability" + } + }, + "virtualNetworkRules": { + "type": "array", + "description": "List of Virtual Network ACL rules configured for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + "enableMultipleWriteLocations": { + "description": "Enables the account to write in multiple locations", + "type": "boolean" + }, + "enableCassandraConnector": { + "description": "Enables the cassandra connector on the Cosmos DB C* account", + "type": "boolean" + }, + "connectorOffer": { + "description": "The cassandra connector offer type for the Cosmos DB database C* account.", + "$ref": "#/definitions/ConnectorOffer" + }, + "disableKeyBasedMetadataWriteAccess": { + "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys", + "type": "boolean" + }, + "keyVaultKeyUri": { + "description": "The URI of the key vault", + "type": "string" + }, + "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" + } + }, + "required": [ + "locations", + "databaseAccountOfferType" + ] + }, + "DatabaseAccountCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB database accounts.", + "type": "object", + "properties": { + "kind": { + "description": "Indicates the type of database account. This can only be set at database account creation.", + "type": "string", + "default": "GlobalDocumentDB", + "enum": [ + "GlobalDocumentDB", + "MongoDB", + "Parse" + ], + "x-ms-enum": { + "name": "DatabaseAccountKind", + "modelAsString": true + } + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DatabaseAccountCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "DatabaseAccountUpdateProperties": { + "description": "Properties to update Azure Cosmos DB database accounts.", + "type": "object", + "properties": { + "consistencyPolicy": { + "description": "The consistency policy for the Cosmos DB account.", + "$ref": "#/definitions/ConsistencyPolicy" + }, + "locations": { + "type": "array", + "description": "An array that contains the georeplication locations enabled for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/Location" + } + }, + "ipRules": { + "description": "List of IpRules.", + "$ref": "#/definitions/IPRules" + }, + "isVirtualNetworkFilterEnabled": { + "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules.", + "type": "boolean" + }, + "enableAutomaticFailover": { + "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.", + "type": "boolean" + }, + "capabilities": { + "type": "array", + "description": "List of Cosmos DB capabilities for the account", + "items": { + "$ref": "#/definitions/Capability" + } + }, + "virtualNetworkRules": { + "type": "array", + "description": "List of Virtual Network ACL rules configured for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + "enableMultipleWriteLocations": { + "description": "Enables the account to write in multiple locations", + "type": "boolean" + }, + "enableCassandraConnector": { + "description": "Enables the cassandra connector on the Cosmos DB C* account", + "type": "boolean" + }, + "connectorOffer": { + "description": "The cassandra connector offer type for the Cosmos DB database C* account.", + "$ref": "#/definitions/ConnectorOffer" + }, + "disableKeyBasedMetadataWriteAccess": { + "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys", + "type": "boolean" + }, + "keyVaultKeyUri": { + "description": "The URI of the key vault", + "type": "string" + }, + "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" + } + } + }, + "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" + } + } + }, + "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\"." + }, + "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" + } + } + } + } + }, + "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." + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceCreateUpdate.json new file mode 100644 index 000000000000..e24af006d885 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceCreateUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceDelete.json new file mode 100644 index 000000000000..a1daf0499e77 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceGet.json new file mode 100644 index 000000000000..b39227f7a9d8 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceList.json new file mode 100644 index 000000000000..69a80e60d8b3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceThroughputGet.json new file mode 100644 index 000000000000..3981c51e2476 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json new file mode 100644 index 000000000000..498fe116b972 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBCassandraTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraTableCreateUpdate.json new file mode 100644 index 000000000000..f6a3b683c64a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraTableCreateUpdate.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBCassandraTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraTableDelete.json new file mode 100644 index 000000000000..a63d38a0b917 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraTableDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraTableGet.json new file mode 100644 index 000000000000..fdf5065b81f2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraTableGet.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBCassandraTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraTableList.json new file mode 100644 index 000000000000..70bb84560114 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraTableList.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBCassandraTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraTableThroughputGet.json new file mode 100644 index 000000000000..94c32f6050f6 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraTableThroughputGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBCassandraTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraTableThroughputUpdate.json new file mode 100644 index 000000000000..ddf4909ef504 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraTableThroughputUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBCollectionGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCollectionGetMetricDefinitions.json new file mode 100644 index 000000000000..19de3f541055 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCollectionGetMetricDefinitions.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "subscriptionId": "subid", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCollectionGetMetrics.json new file mode 100644 index 000000000000..5a6050390529 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCollectionGetMetrics.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBCollectionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCollectionGetUsages.json new file mode 100644 index 000000000000..d9ab05b8710d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCollectionGetUsages.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBCollectionPartitionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCollectionPartitionGetMetrics.json new file mode 100644 index 000000000000..d55d66e7c5d2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCollectionPartitionGetMetrics.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBCollectionPartitionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCollectionPartitionGetUsages.json new file mode 100644 index 000000000000..199a3973e04f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCollectionPartitionGetUsages.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBCollectionPartitionRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCollectionPartitionRegionGetMetrics.json new file mode 100644 index 000000000000..6ed2a695e0cc --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCollectionPartitionRegionGetMetrics.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBDatabaseAccountCheckNameExists.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountCheckNameExists.json new file mode 100644 index 000000000000..bac12a65bbfb --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountCheckNameExists.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "accountName": "ddb1", + "api-version": "2020-04-01" + }, + "responses": { + "200": {}, + "404": {} + } +} 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 new file mode 100644 index 000000000000..de4497935071 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountCreateMax.json @@ -0,0 +1,149 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "createUpdateParameters": { + "location": "westus", + "tags": {}, + "kind": "MongoDB", + "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 + } + ], + "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": "MongoDB", + "tags": {}, + "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 + } + } + } + } +} 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 new file mode 100644 index 000000000000..6b0224bfd5e6 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountCreateMin.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "createUpdateParameters": { + "location": "westus", + "properties": { + "databaseAccountOfferType": "Standard", + "locations": [ + { + "failoverPriority": 0, + "locationName": "southcentralus", + "isZoneRedundant": false + } + ] + } + } + }, + "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 + } + ], + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": false + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountDelete.json new file mode 100644 index 000000000000..33a2de5b01f1 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json new file mode 100644 index 000000000000..51e66eb77e0e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "accountName": "ddb1-failover", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountGet.json new file mode 100644 index 000000000000..a9060dbe546d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountGet.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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" + } + } + } + ], + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": true + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json new file mode 100644 index 000000000000..880bad0cdece --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "subscriptionId": "subid", + "api-version": "2020-04-01" + }, + "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/stable/2020-04-01/examples/CosmosDBDatabaseAccountGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountGetMetrics.json new file mode 100644 index 000000000000..bb4831e316d7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountGetMetrics.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBDatabaseAccountGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountGetUsages.json new file mode 100644 index 000000000000..0632ce6fa755 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountGetUsages.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountList.json new file mode 100644 index 000000000000..d17099aa4b0e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountList.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "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" + } + } + } + ], + "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 new file mode 100644 index 000000000000..3e7ce126f613 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountListByResourceGroup.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "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 + } + ], + "enableFreeTier": false + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountListConnectionStrings.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountListConnectionStrings.json new file mode 100644 index 000000000000..f02530f00ad8 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountListConnectionStrings.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json new file mode 100644 index 000000000000..8f96dde3304f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "accountName": "mongo-ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBDatabaseAccountListKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountListKeys.json new file mode 100644 index 000000000000..62dfe0db6d31 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountListKeys.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primaryMasterKey": "primaryMasterKey", + "secondaryMasterKey": "secondaryMasterKey", + "primaryReadonlyMasterKey": "primaryReadonlyMasterKey", + "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json new file mode 100644 index 000000000000..30f90dc57075 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primaryReadonlyMasterKey": "primaryReadonlyMasterKey", + "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountOfflineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountOfflineRegion.json new file mode 100644 index 000000000000..e46230d1326a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountOfflineRegion.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "region": "North Europe", + "regionParameterForOffline": [ + { + "region": "North Europe" + } + ] + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountOnlineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountOnlineRegion.json new file mode 100644 index 000000000000..6aa866384204 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountOnlineRegion.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "region": "North Europe", + "regionParameterForOnline": [ + { + "region": "North Europe" + } + ] + }, + "responses": { + "200": {}, + "202": {} + } +} 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 new file mode 100644 index 000000000000..4236c8ec8340 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountPatch.json @@ -0,0 +1,129 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "updateParameters": { + "location": "westus", + "tags": { + "dept": "finance" + }, + "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 + } + } + }, + "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" + }, + "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 + } + ], + "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 + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountRegenerateKey.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountRegenerateKey.json new file mode 100644 index 000000000000..f664aa87cfae --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountRegenerateKey.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "keyToRegenerate": { + "keyKind": "primary" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountRegionGetMetrics.json new file mode 100644 index 000000000000..e6e081b20022 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountRegionGetMetrics.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBDatabaseGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseGetMetricDefinitions.json new file mode 100644 index 000000000000..fade2dac77e4 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseGetMetricDefinitions.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "subscriptionId": "subid", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBDatabaseGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseGetMetrics.json new file mode 100644 index 000000000000..e4d9703eee54 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseGetMetrics.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBDatabaseGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseGetUsages.json new file mode 100644 index 000000000000..a01c4f0c61c2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseGetUsages.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBGremlinDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinDatabaseCreateUpdate.json new file mode 100644 index 000000000000..defb157c7dc4 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinDatabaseCreateUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBGremlinDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinDatabaseDelete.json new file mode 100644 index 000000000000..8c98cc95443c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinDatabaseDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinDatabaseGet.json new file mode 100644 index 000000000000..240714a46204 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinDatabaseGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBGremlinDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinDatabaseList.json new file mode 100644 index 000000000000..2a31947cbf96 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinDatabaseList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBGremlinDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinDatabaseThroughputGet.json new file mode 100644 index 000000000000..03e58712f589 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinDatabaseThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBGremlinDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinDatabaseThroughputUpdate.json new file mode 100644 index 000000000000..a11f9080319f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinDatabaseThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBGremlinGraphCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinGraphCreateUpdate.json new file mode 100644 index 000000000000..137d2eab938a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinGraphCreateUpdate.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBGremlinGraphDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinGraphDelete.json new file mode 100644 index 000000000000..29f5ea9118b8 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinGraphDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinGraphGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinGraphGet.json new file mode 100644 index 000000000000..d74fa5fef1fc --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinGraphGet.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBGremlinGraphList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinGraphList.json new file mode 100644 index 000000000000..bfce670489c7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinGraphList.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBGremlinGraphThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinGraphThroughputGet.json new file mode 100644 index 000000000000..f7e756464ed3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinGraphThroughputGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBGremlinGraphThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinGraphThroughputUpdate.json new file mode 100644 index 000000000000..5eff37931bf0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinGraphThroughputUpdate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBMongoDBCollectionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBCollectionCreateUpdate.json new file mode 100644 index 000000000000..bf27ecac829d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBCollectionCreateUpdate.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBMongoDBCollectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBCollectionDelete.json new file mode 100644 index 000000000000..f2b59539bd58 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBCollectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBCollectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBCollectionGet.json new file mode 100644 index 000000000000..706e327f1bc3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBCollectionGet.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBMongoDBCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBCollectionList.json new file mode 100644 index 000000000000..b09f788ddafc --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBCollectionList.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBMongoDBCollectionThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBCollectionThroughputGet.json new file mode 100644 index 000000000000..c4f6b70ec8ed --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBCollectionThroughputGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBMongoDBCollectionThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBCollectionThroughputUpdate.json new file mode 100644 index 000000000000..498de653af1c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBCollectionThroughputUpdate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseCreateUpdate.json new file mode 100644 index 000000000000..775470f3c4ac --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseCreateUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseDelete.json new file mode 100644 index 000000000000..8c98cc95443c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseGet.json new file mode 100644 index 000000000000..c529a1b694e8 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseList.json new file mode 100644 index 000000000000..54effd2021ed --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseThroughputGet.json new file mode 100644 index 000000000000..3ee7a5f9f228 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json new file mode 100644 index 000000000000..b2c37be538f2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBNotebookWorkspaceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBNotebookWorkspaceCreate.json new file mode 100644 index 000000000000..bab671dfbbdd --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBNotebookWorkspaceCreate.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBNotebookWorkspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBNotebookWorkspaceDelete.json new file mode 100644 index 000000000000..cd1f5f413f0b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBNotebookWorkspaceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "notebookWorkspaceName": "default" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBNotebookWorkspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBNotebookWorkspaceGet.json new file mode 100644 index 000000000000..57a1d4b98696 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBNotebookWorkspaceGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBNotebookWorkspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBNotebookWorkspaceList.json new file mode 100644 index 000000000000..83ac744c1021 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBNotebookWorkspaceList.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json new file mode 100644 index 000000000000..b295690fa825 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json new file mode 100644 index 000000000000..c8cf3fe78307 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBNotebookWorkspaceStart.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBNotebookWorkspaceStart.json new file mode 100644 index 000000000000..c8cf3fe78307 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBNotebookWorkspaceStart.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBOperationsList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBOperationsList.json new file mode 100644 index 000000000000..fad88b811963 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBOperationsList.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-04-01" + }, + "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/stable/2020-04-01/examples/CosmosDBPKeyRangeIdGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBPKeyRangeIdGetMetrics.json new file mode 100644 index 000000000000..e5af5d69121a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBPKeyRangeIdGetMetrics.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json new file mode 100644 index 000000000000..9d9a9234232a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBPercentileGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBPercentileGetMetrics.json new file mode 100644 index 000000000000..bbfa184ebe04 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBPercentileGetMetrics.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBPercentileSourceTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBPercentileSourceTargetGetMetrics.json new file mode 100644 index 000000000000..7078f0aaff13 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBPercentileSourceTargetGetMetrics.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBPercentileTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBPercentileTargetGetMetrics.json new file mode 100644 index 000000000000..ea26d7421069 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBPercentileTargetGetMetrics.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBRegionCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBRegionCollectionGetMetrics.json new file mode 100644 index 000000000000..323701f96011 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBRegionCollectionGetMetrics.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBSqlContainerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlContainerCreateUpdate.json new file mode 100644 index 000000000000..b7531606c6fd --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlContainerCreateUpdate.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBSqlContainerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlContainerDelete.json new file mode 100644 index 000000000000..af6ce02916f9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlContainerDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlContainerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlContainerGet.json new file mode 100644 index 000000000000..32e5da74d835 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlContainerGet.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlContainerList.json new file mode 100644 index 000000000000..e177e1f32076 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlContainerList.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBSqlContainerThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlContainerThroughputGet.json new file mode 100644 index 000000000000..7073988a26a5 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlContainerThroughputGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBSqlContainerThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlContainerThroughputUpdate.json new file mode 100644 index 000000000000..ac7dd17654d8 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlContainerThroughputUpdate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBSqlDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlDatabaseCreateUpdate.json new file mode 100644 index 000000000000..e3f8dfd21340 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlDatabaseCreateUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBSqlDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlDatabaseDelete.json new file mode 100644 index 000000000000..8c98cc95443c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlDatabaseDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlDatabaseGet.json new file mode 100644 index 000000000000..1d03672258f4 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlDatabaseGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlDatabaseList.json new file mode 100644 index 000000000000..69ceb84475f5 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlDatabaseList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBSqlDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlDatabaseThroughputGet.json new file mode 100644 index 000000000000..038b0a5c847f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlDatabaseThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBSqlDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlDatabaseThroughputUpdate.json new file mode 100644 index 000000000000..0ab172b34a13 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlDatabaseThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBSqlStoredProcedureCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlStoredProcedureCreateUpdate.json new file mode 100644 index 000000000000..678e12b46c5e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlStoredProcedureCreateUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBSqlStoredProcedureDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlStoredProcedureDelete.json new file mode 100644 index 000000000000..90253e44e0fb --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlStoredProcedureDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "storedProcedureName": "storedProcedureName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlStoredProcedureGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlStoredProcedureGet.json new file mode 100644 index 000000000000..bc0a5d255984 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlStoredProcedureGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBSqlStoredProcedureList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlStoredProcedureList.json new file mode 100644 index 000000000000..e63db3d8035e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlStoredProcedureList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBSqlTriggerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlTriggerCreateUpdate.json new file mode 100644 index 000000000000..7423d0d9fcb6 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlTriggerCreateUpdate.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBSqlTriggerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlTriggerDelete.json new file mode 100644 index 000000000000..b24501deb866 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlTriggerDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "triggerName": "triggerName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlTriggerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlTriggerGet.json new file mode 100644 index 000000000000..e9d2e76a3c1c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlTriggerGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBSqlTriggerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlTriggerList.json new file mode 100644 index 000000000000..480bf1f3150d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlTriggerList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json new file mode 100644 index 000000000000..732d342cac17 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBSqlUserDefinedFunctionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlUserDefinedFunctionDelete.json new file mode 100644 index 000000000000..fef811c93cf9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlUserDefinedFunctionDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "userDefinedFunctionName": "userDefinedFunctionName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlUserDefinedFunctionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlUserDefinedFunctionGet.json new file mode 100644 index 000000000000..bc0e4d82df2a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlUserDefinedFunctionGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBSqlUserDefinedFunctionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlUserDefinedFunctionList.json new file mode 100644 index 000000000000..16fe895b4b49 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlUserDefinedFunctionList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBTableCreateUpdate.json new file mode 100644 index 000000000000..510cd11db7e3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBTableCreateUpdate.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBTableDelete.json new file mode 100644 index 000000000000..4f2cd27d3261 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBTableDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "tableName": "tableName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBTableGet.json new file mode 100644 index 000000000000..ddce6039e8c0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBTableGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBTableList.json new file mode 100644 index 000000000000..178c56a72582 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBTableList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBTableThroughputGet.json new file mode 100644 index 000000000000..62ca81e75dfc --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBTableThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/examples/CosmosDBTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBTableThroughputUpdate.json new file mode 100644 index 000000000000..42324a3f2dbc --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBTableThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "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/stable/2020-04-01/notebook.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/notebook.json new file mode 100644 index 000000000000..a889e2bf091d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/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-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.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": "../../stable/2020-04-01/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": "../../stable/2020-04-01/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": "../../stable/2020-04-01/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": "../../stable/2020-04-01/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": "../../stable/2020-04-01/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": "../../stable/2020-04-01/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": "../../stable/2020-04-01/cosmos-db.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "NotebookWorkspaceCreateUpdateParameters": { + "description": "Parameters to create a notebook workspace resource", + "type": "object", + "allOf": [ + { + "$ref": "../../stable/2020-04-01/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": "../../stable/2020-04-01/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/readme.go.md b/specification/cosmos-db/resource-manager/readme.go.md index e77d1f0a2b99..09594aa19120 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-04 - tag: package-2020-03 - tag: package-2019-12 - tag: package-2019-08 @@ -20,6 +21,15 @@ batch: - tag: package-2015-04 ``` +### Tag: package-2020-04 and go + +These settings apply only when `--tag=package-2020-04 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-04' && $(go) +output-folder: $(go-sdk-folder)/services/cosmos-db/mgmt/2020-04-01/$(namespace) +``` + ### Tag: package-2020-03 and go These settings apply only when `--tag=package-2020-03 --go` is specified on the command line. diff --git a/specification/cosmos-db/resource-manager/readme.java.md b/specification/cosmos-db/resource-manager/readme.java.md index 29cd5f533fdc..f54ed71714a6 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-04 - tag: package-2020-03 - tag: package-2019-12 - tag: package-2019-08 @@ -24,6 +25,19 @@ batch: - tag: package-2015-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.cosmosdb.v2020_04_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/cosmos/mgmt-v2020_04_01 +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2020-03 and java These settings apply only when `--tag=package-2020-03 --java` is specified on the command line. diff --git a/specification/cosmos-db/resource-manager/readme.md b/specification/cosmos-db/resource-manager/readme.md index d27574d7bf91..7d71859a71b3 100644 --- a/specification/cosmos-db/resource-manager/readme.md +++ b/specification/cosmos-db/resource-manager/readme.md @@ -27,7 +27,19 @@ These are the global settings for the Cosmos-DB API. ``` yaml title: CosmosDBManagementClient openapi-type: arm -tag: package-2020-03 +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.DocumentDB/stable/2020-04-01/cosmos-db.json +- Microsoft.DocumentDB/stable/2020-04-01/notebook.json +- Microsoft.DocumentDB/preview/2019-08-01-preview/privateLinkResources.json +- Microsoft.DocumentDB/preview/2019-08-01-preview/privateEndpointConnection.json ``` ### Tag: package-2020-03 @@ -37,7 +49,7 @@ These settings apply only when `--tag=package-2020-03` is specified on the comma ``` yaml $(tag) == 'package-2020-03' input-file: - Microsoft.DocumentDB/stable/2020-03-01/cosmos-db.json -- Microsoft.DocumentDB/stable/2019-08-01/notebook.json +- Microsoft.DocumentDB/stable/2020-03-01/notebook.json - Microsoft.DocumentDB/preview/2019-08-01-preview/privateLinkResources.json - Microsoft.DocumentDB/preview/2019-08-01-preview/privateEndpointConnection.json ``` @@ -49,7 +61,7 @@ These settings apply only when `--tag=package-2019-12` is specified on the comma ``` yaml $(tag) == 'package-2019-12' input-file: - Microsoft.DocumentDB/stable/2019-12-12/cosmos-db.json -- Microsoft.DocumentDB/stable/2019-08-01/notebook.json +- Microsoft.DocumentDB/stable/2019-12-12/notebook.json - Microsoft.DocumentDB/preview/2019-08-01-preview/privateLinkResources.json - Microsoft.DocumentDB/preview/2019-08-01-preview/privateEndpointConnection.json ``` @@ -209,7 +221,6 @@ 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 @@ -232,6 +243,10 @@ csharp: clear-output-folder: true ``` +## Python + +See configuration in [readme.python.md](./readme.python.md) + ## Go See configuration in [readme.go.md](./readme.go.md) @@ -251,12 +266,16 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: - - $(this-folder)/Microsoft.DocumentDB/stable/2020-03-01/cosmos-db.json - - $(this-folder)/Microsoft.DocumentDB/stable/2019-08-01/notebook.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/preview/2019-08-01-preview/privateLinkResources.json - $(this-folder)/Microsoft.DocumentDB/preview/2019-08-01-preview/privateEndpointConnection.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 + - $(this-folder)/Microsoft.DocumentDB/stable/2019-12-12/notebook.json - $(this-folder)/Microsoft.DocumentDB/stable/2019-08-01/cosmos-db.json + - $(this-folder)/Microsoft.DocumentDB/stable/2019-08-01/notebook.json - $(this-folder)/Microsoft.DocumentDB/stable/2015-04-08/cosmos-db.json - $(this-folder)/Microsoft.DocumentDB/stable/2014-04-01/cosmos-db.json - $(this-folder)/Microsoft.DocumentDB/stable/2015-11-06/cosmos-db.json diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.json index 2ed7b3ecb5a4..2f0fc9a8dc97 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.json @@ -436,6 +436,103 @@ } } }, + "/{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": [ @@ -2018,15 +2115,58 @@ "properties": { "type": { "description": "type of alert", - "type": "string" + "type": "string", + "enum": [ + "Budget", + "Invoice", + "Credit", + "Quota", + "General", + "xCloud", + "BudgetForecast" + ], + "x-ms-enum": { + "name": "AlertType", + "modelAsString": true + } }, "category": { "description": "Alert category", - "type": "string" + "type": "string", + "enum": [ + "Cost", + "Usage", + "Billing", + "System" + ], + "x-ms-enum": { + "name": "AlertCategory", + "modelAsString": true + } }, "criteria": { "description": "Criteria that triggered alert", - "type": "string" + "type": "string", + "enum": [ + "CostThresholdExceeded", + "UsageThresholdExceeded", + "CreditThresholdApproaching", + "CreditThresholdReached", + "QuotaThresholdApproaching", + "QuotaThresholdReached", + "MultiCurrency", + "ForecastCostThresholdExceeded", + "ForecastUsageThresholdExceeded", + "InvoiceDueDateApproaching", + "InvoiceDueDateReached", + "CrossCloudNewDataAvailable", + "CrossCloudCollectionError", + "GeneralThresholdError" + ], + "x-ms-enum": { + "name": "AlertCriteria", + "modelAsString": true + } } } }, @@ -2036,7 +2176,15 @@ }, "source": { "description": "Source of alert", - "type": "string" + "type": "string", + "enum": [ + "Preset", + "User" + ], + "x-ms-enum": { + "name": "AlertSource", + "modelAsString": true + } }, "details": { "description": "Alert details", @@ -2044,7 +2192,20 @@ "properties": { "timeGrainType": { "description": "Type of timegrain cadence", - "type": "string" + "type": "string", + "enum": [ + "None", + "Monthly", + "Quarterly", + "Annually", + "BillingMonth", + "BillingQuarter", + "BillingAnnual" + ], + "x-ms-enum": { + "name": "AlertTimeGrainType", + "modelAsString": true + } }, "periodStartDate": { "description": "datetime of periodStartDate", @@ -2081,7 +2242,19 @@ }, "operator": { "description": "operator used to compare currentSpend with amount", - "type": "string" + "type": "string", + "enum": [ + "None", + "EqualTo", + "GreaterThan", + "GreaterThanOrEqualTo", + "LessThan", + "LessThanOrEqualTo" + ], + "x-ms-enum": { + "name": "AlertOperator", + "modelAsString": true + } }, "amount": { "description": "budget threshold amount", @@ -2130,7 +2303,18 @@ }, "status": { "description": "alert status", - "type": "string" + "type": "string", + "enum": [ + "None", + "Active", + "Overridden", + "Resolved", + "Dismissed" + ], + "x-ms-enum": { + "name": "AlertStatus", + "modelAsString": true + } }, "creationTime": { "description": "dateTime in which alert was created", @@ -2154,6 +2338,16 @@ } } }, + "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", @@ -2937,6 +3131,15 @@ "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/2019-11-01/examples/DismissResourceGroupAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/DismissResourceGroupAlerts.json new file mode 100644 index 000000000000..d72950db27ea --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-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/2019-11-01/examples/DismissSubscriptionAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/DismissSubscriptionAlerts.json new file mode 100644 index 000000000000..2b9751ea4241 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-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/2019-11-01/examples/SingleResourceGroupAlert.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/SingleResourceGroupAlert.json new file mode 100644 index 000000000000..d4f3f72ef83a --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-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/2019-11-01/examples/SingleSubscriptionAlert.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/SingleSubscriptionAlert.json new file mode 100644 index 000000000000..cd881b8ea598 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-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/readme.az.md b/specification/cost-management/resource-manager/readme.az.md index 16d31b9cefe8..961e2dab1422 100644 --- a/specification/cost-management/resource-manager/readme.az.md +++ b/specification/cost-management/resource-manager/readme.az.md @@ -7,7 +7,8 @@ az: extensions: costmanagement namespace: azure.mgmt.costmanagement package-name: azure-mgmt-costmanagement + client-subscription-bound: false + 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/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/cpim.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/cpim.json new file mode 100644 index 000000000000..4cb75c38c8d9 --- /dev/null +++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/cpim.json @@ -0,0 +1,505 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-05-01-preview", + "title": "cpim", + "description": "CPIM Service 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": { + "/providers/Microsoft.AzureActiveDirectory/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "operations_list": { + "$ref": "./examples/OperationsList.json" + } + }, + "description": "Lists the operations available from this provider.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Describe the result of a successful operation.", + "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.AzureActiveDirectory/guestUsages/{resourceName}": { + "put": { + "operationId": "GuestUsages_Create", + "tags": [ + "GuestUsages" + ], + "x-ms-examples": { + "GuestUsages_Create": { + "$ref": "./examples/GuestUsagesCreate.json" + } + }, + "summary": "Creates a Guest Usages resource", + "description": "Creates a Guest Usages resource for the Microsoft.AzureActiveDirectory resource provider", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "Resource", + "in": "body", + "description": "Guest Usages resource to be created", + "schema": { + "$ref": "#/definitions/GuestUsagesResource" + } + } + ], + "responses": { + "200": { + "description": "The request was successful and the resource was created successfully", + "schema": { + "$ref": "#/definitions/GuestUsagesResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "operationId": "GuestUsages_Update", + "tags": [ + "GuestUsages" + ], + "x-ms-examples": { + "GuestUsages_Update": { + "$ref": "./examples/GuestUsagesUpdate.json" + } + }, + "summary": "Updates a Guest Usages resource", + "description": "Updates a Guest Usages resource for the Microsoft.AzureActiveDirectory resource provider", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "ResourcePatch", + "in": "body", + "description": "Guest Usages Resource to be updated", + "schema": { + "$ref": "#/definitions/GuestUsagesResourcePatch" + } + } + ], + "responses": { + "200": { + "description": "Guest Usages Resource Successfully Updated", + "schema": { + "$ref": "#/definitions/GuestUsagesResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "GuestUsages_Delete", + "tags": [ + "GuestUsages" + ], + "x-ms-examples": { + "GuestUsages_Delete": { + "$ref": "./examples/GuestUsagesDelete.json" + } + }, + "summary": "Deletes a Guest Usages resource", + "description": "Deletes a Guest Usages resource for the Microsoft.AzureActiveDirectory resource provider", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "Guest Usages Resource Successfully Deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "operationId": "GuestUsages_Get", + "tags": [ + "GuestUsages" + ], + "x-ms-examples": { + "GuestUsages_Get": { + "$ref": "./examples/GuestUsagesGet.json" + } + }, + "summary": "Gets a Guest Usages resource", + "description": "Gets a Guest Usages resource for the Microsoft.AzureActiveDirectory resource provider", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "Guest Usages resource successfully retrieved", + "schema": { + "$ref": "#/definitions/GuestUsagesResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureActiveDirectory/guestUsages": { + "get": { + "operationId": "GuestUsages_ListBySubscription", + "tags": [ + "GuestUsages" + ], + "x-ms-examples": { + "GuestUsagesSubscription_List": { + "$ref": "./examples/GuestUsagesSubscriptionGet.json" + } + }, + "summary": "Gets Guest Usages resources under a subscription", + "description": "Gets Guest Usages resources under a subscription for the Microsoft.AzureActiveDirectory resource provider", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of Guest Usages resources under the subscription successfully retrieved.", + "schema": { + "$ref": "#/definitions/GuestUsagesResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureActiveDirectory/guestUsages": { + "get": { + "operationId": "GuestUsages_ListByResourceGroup", + "tags": [ + "GuestUsages" + ], + "x-ms-examples": { + "GuestUsagesResourceGroup_List": { + "$ref": "./examples/GuestUsagesResourceGroupGet.json" + } + }, + "summary": "Gets Guest Usages resources under resource group", + "description": "Gets Guest Usages resources under a resource group for the Microsoft.AzureActiveDirectory resource provider", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "List of Guest Usages resources under the resourceGroup successfully retrieved.", + "schema": { + "$ref": "#/definitions/GuestUsagesResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + } + }, + "definitions": { + "Operation": { + "description": "Microsoft.AzureActiveDirectory 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.AzureActiveDirectory.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "Resource on which the operation is performed: GuestUsages, etc.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "Operation type: Read, write, delete, etc.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "Friendly name of the operation", + "type": "string" + } + } + } + } + }, + "OperationListResult": { + "description": "Result of listing operations for the resourceProvider", + "properties": { + "value": { + "description": "List of cpim service operations supported by the Microsoft.AzureActiveDirectory resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + } + } + }, + "GuestUsagesResourceProperties": { + "description": "Guest Usages Resource Properties", + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "An identifier for the tenant for which the resource is being created" + } + } + }, + "GuestUsagesResource": { + "description": "Guest Usages Resource", + "type": "object", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "An identifier that represents the Guest Usages resource." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the Guest Usages resource." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "The type of the Guest Usages resource." + }, + "location": { + "type": "string", + "description": "Location of the Guest Usages resource.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value pairs of additional resource provisioning properties." + }, + "properties": { + "$ref": "#/definitions/GuestUsagesResourceProperties", + "x-ms-client-flatten": true, + "description": "The Guest Usages Resource Properties" + } + }, + "x-ms-azure-resource": true + }, + "GuestUsagesResourcePatch": { + "description": "Guest Usages Resource for Patch", + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value pairs of additional resource provisioning properties." + } + } + }, + "GuestUsagesResourceList": { + "description": "The collection of guest usages resources", + "properties": { + "value": { + "description": "List of guest usages resources", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/GuestUsagesResource" + } + } + } + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + } + }, + "description": "An error response for a resource management request." + } + }, + "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" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to be used with the HTTP request." + }, + "ResourceNameParameter": { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The initial domain name of the AAD tenant.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/examples/GuestUsagesCreate.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/examples/GuestUsagesCreate.json new file mode 100644 index 000000000000..36b8bc0a602a --- /dev/null +++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/examples/GuestUsagesCreate.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "contosoResourceGroup", + "api-version": "2020-05-01-preview", + "resourceName": "contoso.onmicrosoft.com", + "resource": { + "location": "United States", + "name": "contoso.onmicrosoft.com", + "properties": { + "tenantId": "c963dd1a-9174-4c23-8bae-733d7f955492" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/guestUsages/contoso.onmicrosoft.com", + "name": "contoso.onmicrosoft.com", + "location": "United States", + "tags": {}, + "type": "Microsoft.AzureActiveDirectory/GuestUsages", + "properties": { + "tenantId": "c963dd1a-9174-4c23-8bae-733d7f955492" + } + } + } + } +} diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/examples/GuestUsagesDelete.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/examples/GuestUsagesDelete.json new file mode 100644 index 000000000000..8415b530431c --- /dev/null +++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/examples/GuestUsagesDelete.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "contosoResourceGroup", + "api-version": "2020-05-01-preview", + "resourceName": "contoso.onmicrosoft.com" + }, + "responses": { + "200": {} + } +} diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/examples/GuestUsagesGet.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/examples/GuestUsagesGet.json new file mode 100644 index 000000000000..cda45ac3aada --- /dev/null +++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/examples/GuestUsagesGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "contosoResourceGroup", + "api-version": "2020-05-01-preview", + "resourceName": "contoso.onmicrosoft.com" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/guestUsages/contoso.onmicrosoft.com", + "name": "contoso.onmicrosoft.com", + "location": "United States", + "tags": {}, + "type": "Microsoft.AzureActiveDirectory/GuestUsages", + "properties": { + "tenantId": "c963dd1a-9174-4c23-8bae-733d7f955492" + } + } + } + } +} diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/examples/GuestUsagesResourceGroupGet.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/examples/GuestUsagesResourceGroupGet.json new file mode 100644 index 000000000000..de84a5d09ada --- /dev/null +++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/examples/GuestUsagesResourceGroupGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "contosoResourceGroup", + "api-version": "2020-05-01-preview" + }, + "responses": { + "200": { + "body": [ + { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/guestUsages/contoso.onmicrosoft.com", + "name": "contoso.onmicrosoft.com", + "location": "United States", + "tags": {}, + "type": "Microsoft.AzureActiveDirectory/GuestUsages", + "properties": { + "tenantId": "c963dd1a-9174-4c23-8bae-733d7f955492" + } + } + ] + } + } +} diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/examples/GuestUsagesSubscriptionGet.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/examples/GuestUsagesSubscriptionGet.json new file mode 100644 index 000000000000..d1a324772802 --- /dev/null +++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/examples/GuestUsagesSubscriptionGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "api-version": "2020-05-01-preview" + }, + "responses": { + "200": { + "body": [ + { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/guestUsages/contoso.onmicrosoft.com", + "name": "contoso.onmicrosoft.com", + "location": "United States", + "tags": {}, + "type": "Microsoft.AzureActiveDirectory/GuestUsages", + "properties": { + "tenantId": "c963dd1a-9174-4c23-8bae-733d7f955492" + } + } + ] + } + } +} diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/examples/GuestUsagesUpdate.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/examples/GuestUsagesUpdate.json new file mode 100644 index 000000000000..08af270ba0a9 --- /dev/null +++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/examples/GuestUsagesUpdate.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "contosoResourceGroup", + "api-version": "2020-05-01-preview", + "resourceName": "contoso.onmicrosoft.com", + "resource": { + "tags": { + "additionalProperty1": "additionalValue1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/guestUsages/contoso.onmicrosoft.com", + "name": "contoso.onmicrosoft.com", + "location": "United States", + "tags": { + "additionalProperty1": "additionalValue1" + }, + "type": "Microsoft.AzureActiveDirectory/GuestUsages", + "properties": { + "tenantId": "c963dd1a-9174-4c23-8bae-733d7f955492" + } + } + } + } +} diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/examples/OperationsList.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/examples/OperationsList.json new file mode 100644 index 000000000000..6c14cad4c445 --- /dev/null +++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/examples/OperationsList.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "resourceGroupName": "cpimClient", + "api-version": "2020-05-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.AzureActiveDirectory/register/action", + "display": { + "provider": "Microsoft.AzureActiveDirectory", + "resource": "Microsoft.AzureActiveDirectory Resource Provider", + "operation": "Registers the Microsoft.AzureActiveDirectory Resource Provider", + "description": "Registers the Microsoft.AzureActiveDirectory Resource Provider" + } + }, + { + "name": "Microsoft.AzureActiveDirectory/guestUsages/read", + "display": { + "provider": "Microsoft.AzureActiveDirectory", + "resource": "GuestUsagesResource", + "operation": "read", + "description": "Read call for Guest Usages Resource" + } + }, + { + "name": "Microsoft.AzureActiveDirectory/guestUsages/write", + "display": { + "provider": "Microsoft.AzureActiveDirectory", + "resource": "GuestUsagesResource", + "operation": "write", + "description": "Create or Update call for Guest Usages Resource" + } + }, + { + "name": "Microsoft.AzureActiveDirectory/guestUsages/delete", + "display": { + "provider": "Microsoft.AzureActiveDirectory", + "resource": "GuestUsagesResource", + "operation": "delete", + "description": "Delete call for Guest Usages Resource" + } + }, + { + "name": "Microsoft.AzureActiveDirectory/b2cDirectories/read", + "display": { + "provider": "Microsoft.AzureActiveDirectory", + "resource": "GuestUsagesResource", + "operation": "read", + "description": "Read call for Guest Usages Resource" + } + }, + { + "name": "Microsoft.AzureActiveDirectory/b2cDirectories/write", + "display": { + "provider": "Microsoft.AzureActiveDirectory", + "resource": "GuestUsagesResource", + "operation": "write", + "description": "Create or Update call for Guest Usages Resource" + } + }, + { + "name": "Microsoft.AzureActiveDirectory/b2cDirectories/delete", + "display": { + "provider": "Microsoft.AzureActiveDirectory", + "resource": "GuestUsagesResource", + "operation": "delete", + "description": "Delete call for Guest Usages Resource" + } + }, + { + "name": "Microsoft.AzureActiveDirectory/checkNameAvailability", + "display": { + "provider": "Microsoft.AzureActiveDirectory", + "resource": "Check Name Availability", + "operation": "Get Check Name Availability", + "description": "Check if resource name is available." + } + } + ] + } + } + } +} diff --git a/specification/cpim/resource-manager/readme.csharp.md b/specification/cpim/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..38a02cf78765 --- /dev/null +++ b/specification/cpim/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.AzureActiveDirectory + output-folder: $(csharp-sdks-folder)/cpim/management/Microsoft.AzureActiveDirectory/GeneratedProtocol +``` diff --git a/specification/cpim/resource-manager/readme.go.md b/specification/cpim/resource-manager/readme.go.md new file mode 100644 index 000000000000..11bd72613e44 --- /dev/null +++ b/specification/cpim/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-05-01-preview and go + +These settings apply only when `--tag=package-2020-05-01-preview --go` is specified on the command line. +Please also specify `--go-sdks-folder=`. + +```yaml $(tag) == 'package-2020-05-01-preview' && $(go) +namespace: Microsoft.AzureActiveDirectory +output-folder: $(go-sdks-folder)/cpim/Generated +``` diff --git a/specification/vmwarevirtustream/resource-manager/readme.md b/specification/cpim/resource-manager/readme.md similarity index 57% rename from specification/vmwarevirtustream/resource-manager/readme.md rename to specification/cpim/resource-manager/readme.md index 30c08c7eec57..d9bdf7941d0a 100644 --- a/specification/vmwarevirtustream/resource-manager/readme.md +++ b/specification/cpim/resource-manager/readme.md @@ -1,39 +1,45 @@ -# VMware Solution by Virtustream +# cpim > see https://aka.ms/autorest -This is the AutoRest configuration file for VMware Solution by Virtustream. +This is the AutoRest configuration file for cpim. ## 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 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 VMware Solution by Virtustream API. -``` yaml +These are the global settings for the cpim. + +```yaml openapi-type: arm -tag: package-2019-08-09-preview +tag: package-2020-05-01-preview ``` -### Tag: package-2019-08-09-preview +### Tag: package-2020-05-01-preview -These settings apply only when `--tag=package-2019-08-09-preview` is specified on the command line. +These settings apply only when `--tag=package-2020-05-01-preview` is specified on the command line. -``` yaml $(tag) == 'package-2019-08-09-preview' +```yaml $(tag) == 'package-2020-05-01-preview' input-file: -- Microsoft.VMwareVirtustream/preview/2019-08-09-preview/vmwarevirtustream.json + - Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/cpim.json ``` --- + # Code Generation ## Swagger to SDK @@ -41,24 +47,37 @@ input-file: This section describes what SDK should be generated by the automatic system. This is not used by Autorest itself. -``` yaml $(swagger-to-sdk) +```yaml $(swagger-to-sdk) swagger-to-sdk: - - repo: azure-sdk-for-js - repo: azure-sdk-for-python - - repo: azure-sdk-for-net + - 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_cpim'] ``` -## TypeScript +## Go -See configuration in [readme.typescript.md](./readme.typescript.md) +See configuration in [readme.go.md](./readme.go.md) ## Python See configuration in [readme.python.md](./readme.python.md) -## C# +## 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) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -71,7 +90,7 @@ 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 + - $(this-folder)/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/cpim.json ``` diff --git a/specification/cpim/resource-manager/readme.python.md b/specification/cpim/resource-manager/readme.python.md new file mode 100644 index 000000000000..9b05d3b50643 --- /dev/null +++ b/specification/cpim/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.AzureActiveDirectory + package-name: cpim + package-version: 2020-05-01-preview + clear-output-folder: true +``` + +```yaml $(python) +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/azure-mgmt/cpim +``` diff --git a/specification/cpim/resource-manager/readme.ruby.md b/specification/cpim/resource-manager/readme.ruby.md new file mode 100644 index 000000000000..bf0a94227dc2 --- /dev/null +++ b/specification/cpim/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_cpim +package-version: 2020-05-01-preview +azure-arm: true +``` + +### Tag: package-2020-05-01-preview and ruby + +These settings apply only when `--tag=package-2020-05-01-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2020-05-01-preview' && $(ruby) +namespace: Microsoft.AzureActiveDirectory +output-folder: $(ruby-sdks-folder)/cpim +``` diff --git a/specification/vmwarevirtustream/resource-manager/readme.typescript.md b/specification/cpim/resource-manager/readme.typescript.md similarity index 65% rename from specification/vmwarevirtustream/resource-manager/readme.typescript.md rename to specification/cpim/resource-manager/readme.typescript.md index a4666ebb13f2..ccbd03da212a 100644 --- a/specification/vmwarevirtustream/resource-manager/readme.typescript.md +++ b/specification/cpim/resource-manager/readme.typescript.md @@ -5,10 +5,9 @@ Please also specify `--typescript-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.databox - package-name: azure-mgmt-databox - title: DataBoxManagementClient - description: The DataBox Client. - clear-output-folder: true -``` -``` yaml $(python) && $(python-mode) == 'update' -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox -``` -``` yaml $(python) && $(python-mode) == 'create' -python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox -``` +See configuration in [readme.python.md](./readme.python.md) ## Ruby diff --git a/specification/databox/resource-manager/readme.python.md b/specification/databox/resource-manager/readme.python.md new file mode 100644 index 000000000000..c58c21fa9f86 --- /dev/null +++ b/specification/databox/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: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: azure.mgmt.databox + package-name: azure-mgmt-databox + package-version: 0.1.0 + title: DataBoxManagementClient + description: The DataBox Client. + clear-output-folder: true +``` +``` yaml $(python) && $(python-mode) == 'update' +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox +``` +``` yaml $(python) && $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox +``` diff --git a/specification/databoxedge/resource-manager/readme.az.md b/specification/databoxedge/resource-manager/readme.az.md new file mode 100644 index 000000000000..15d8db6ed9a2 --- /dev/null +++ b/specification/databoxedge/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: databoxedge + package-name: azure-mgmt-databoxedge + namespace: azure.mgmt.databoxedge +az-output-folder: $(azure-cli-extension-folder)/src/databoxedge +python-sdk-output-folder: "$(az-output-folder)/azext_databoxedge/vendored_sdks/databoxedge" +``` diff --git a/specification/databoxedge/resource-manager/readme.md b/specification/databoxedge/resource-manager/readme.md index 18353b7dbfc2..455345faee18 100644 --- a/specification/databoxedge/resource-manager/readme.md +++ b/specification/databoxedge/resource-manager/readme.md @@ -76,6 +76,7 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_databoxedge'] + - repo: azure-cli-extensions ``` ## C# 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 82b602c6b63d..26055abe6cff 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 @@ -316,6 +316,204 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/virtualNetworkPeerings/{peeringName}": { + "get": { + "tags": [ + "vNetPeering" + ], + "operationId": "vNetPeering_Get", + "description": "Gets the workspace vNet Peering.", + "x-ms-examples": { + "Get a workspace with vNet Peering Configured": { + "$ref": "./examples/WorkspaceVirtualNetPeeringGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PeeringNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/VirtualNetworkPeering" + } + }, + "204": { + "description": "OK - NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "vNetPeering" + ], + "operationId": "vNetPeering_Delete", + "description": "Deletes the workspace vNetPeering.", + "x-ms-examples": { + "Delete a workspace vNet Peering": { + "$ref": "./examples/WorkspaceVirtualNetworkPeeringDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PeeringNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "204": { + "description": "NoContent" + }, + "200": { + "description": "OK. The request has succeeded." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "put": { + "tags": [ + "vNetPeering" + ], + "operationId": "vNetPeering_CreateOrUpdate", + "description": "Creates vNet Peering for workspace.", + "x-ms-examples": { + "Create vNet Peering for Workspace": { + "$ref": "./examples/WorkspaceVirtualNetworkPeeringCreateOrUpdate.json" + } + }, + "parameters": [ + { + "name": "VirtualNetworkPeeringParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkPeering" + }, + "description": "Parameters supplied to the create workspace vNet Peering." + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PeeringNameParameter" + } + ], + "responses": { + "201": { + "description": "Created - Returns information about the workspace vNet peering, including provisioning status.", + "schema": { + "$ref": "#/definitions/VirtualNetworkPeering" + } + }, + "200": { + "description": "Update succeeded - Returns information about the workspace vNet peering.", + "schema": { + "$ref": "#/definitions/VirtualNetworkPeering" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/virtualNetworkPeerings": { + "get": { + "tags": [ + "vNetPeering" + ], + "operationId": "vNetPeering_ListByWorkspace", + "description": "Lists the workspace vNet Peerings.", + "x-ms-examples": { + "List all vNet Peerings for the workspace": { + "$ref": "./examples/WorkspaceVirtualNetPeeringList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List succeeded. Returns the resulting resource objects in response body.", + "schema": { + "$ref": "#/definitions/VirtualNetworkPeeringList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, "/providers/Microsoft.Databricks/operations": { "get": { "tags": [ @@ -522,6 +720,21 @@ "modelAsString": true } }, + "PeeringProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Updating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "PeeringProvisioningState", + "modelAsString": true + } + }, "WorkspaceCustomParameterType": { "description": "Provisioning status of the workspace.", "readOnly": true, @@ -788,6 +1001,132 @@ "description": "URL to get the next set of operation list results if there are any." } } + }, + "VirtualNetworkPeeringList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkPeering" + }, + "description": "List of virtual network peerings on workspace." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of virtual network peering list results if there are any." + } + }, + "description": "Gets all virtual network peerings under a workspace." + }, + "VirtualNetworkPeering": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkPeeringPropertiesFormat", + "description": "List of properties for vNet Peering" + }, + "name": { + "type": "string", + "description": "Name of the virtual network peering resource", + "readOnly": true + }, + "id": { + "type": "string", + "description": "Resource ID.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "type of the virtual network peering resource", + "readOnly": true + } + }, + "required": [ + "properties" + ], + "description": "Peerings in a VirtualNetwork resource", + "x-ms-azure-resource": true + }, + "VirtualNetworkPeeringPropertiesFormat": { + "properties": { + "allowVirtualNetworkAccess": { + "type": "boolean", + "description": "Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space." + }, + "allowForwardedTraffic": { + "type": "boolean", + "description": "Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network." + }, + "allowGatewayTransit": { + "type": "boolean", + "description": "If gateway links can be used in remote virtual networking to link to this virtual network." + }, + "useRemoteGateways": { + "type": "boolean", + "description": "If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway." + }, + "databricksVirtualNetwork": { + "properties": { + "id": { + "type": "string", + "description": "The Id of the databricks virtual network." + } + }, + "description": " The remote virtual network should be in the same region. See here to learn more (https://docs.microsoft.com/en-us/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering)." + }, + "databricksAddressSpace": { + "$ref": "#/definitions/AddressSpace", + "description": "The reference to the databricks virtual network address space." + }, + "remoteVirtualNetwork": { + "properties": { + "id": { + "type": "string", + "description": "The Id of the remote virtual network." + } + }, + "description": " The remote virtual network should be in the same region. See here to learn more (https://docs.microsoft.com/en-us/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering)." + }, + "remoteAddressSpace": { + "$ref": "#/definitions/AddressSpace", + "description": "The reference to the remote virtual network address space." + }, + "peeringState": { + "type": "string", + "description": "The status of the virtual network peering.", + "enum": [ + "Initiated", + "Connected", + "Disconnected" + ], + "x-ms-enum": { + "name": "peeringState", + "modelAsString": true + }, + "readOnly": true + }, + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/PeeringProvisioningState", + "description": "The provisioning state of the virtual network peering resource." + } + }, + "required": [ + "remoteVirtualNetwork" + ], + "description": "Properties of the virtual network peering." + }, + "AddressSpace": { + "properties": { + "addressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of address blocks reserved for this virtual network in CIDR notation." + } + }, + "description": "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network." } }, "parameters": { @@ -825,6 +1164,14 @@ "minLength": 3, "maxLength": 64, "x-ms-parameter-location": "method" + }, + "PeeringNameParameter": { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the workspace vNet peering.", + "x-ms-parameter-location": "method" } } } diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/WorkspaceVirtualNetPeeringGet.json b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/WorkspaceVirtualNetPeeringGet.json new file mode 100644 index 000000000000..2e5fb6f8e437 --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/WorkspaceVirtualNetPeeringGet.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "workspaceName": "myWorkspace", + "peeringName": "vNetPeering", + "api-version": "2018-04-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/subramantest/providers/Microsoft.Databricks/workspaces/adbworkspace/virtualNetworkPeerings/vNetPeeringTest", + "name": "vNetPeeringTest", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": false, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/subramantest/providers/Microsoft.Network/virtualNetworks/subramanvnet" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "10.203.0.0/16" + ] + }, + "databricksVirtualNetwork": { + "id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/databricks-rg-adbworkspace-2jsxhmzoyooxm/providers/Microsoft.Network/virtualNetworks/workers-vnet" + }, + "databricksAddressSpace": { + "addressPrefixes": [ + "10.139.0.0/16" + ] + }, + "peeringState": "Initiated", + "provisioningState": "Succeeded" + } + } + }, + "204": {} + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/WorkspaceVirtualNetPeeringList.json b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/WorkspaceVirtualNetPeeringList.json new file mode 100644 index 000000000000..353bc9fee001 --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/WorkspaceVirtualNetPeeringList.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "workspaceName": "myWorkspace", + "api-version": "2018-04-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/subramantest/providers/Microsoft.Databricks/workspaces/adbworkspace/virtualNetworkPeerings/vNetPeeringTest", + "name": "vNetPeeringTest", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": false, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/subramantest/providers/Microsoft.Network/virtualNetworks/subramanvnet" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "10.203.0.0/16" + ] + }, + "databricksVirtualNetwork": { + "id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/databricks-rg-adbworkspace-2jsxhmzoyooxm/providers/Microsoft.Network/virtualNetworks/workers-vnet" + }, + "databricksAddressSpace": { + "addressPrefixes": [ + "10.139.0.0/16" + ] + }, + "peeringState": "Initiated", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/WorkspaceVirtualNetworkPeeringCreateOrUpdate.json b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/WorkspaceVirtualNetworkPeeringCreateOrUpdate.json new file mode 100644 index 000000000000..5623c1f5d88d --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/WorkspaceVirtualNetworkPeeringCreateOrUpdate.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "workspaceName": "myWorkspace", + "peeringName": "vNetPeeringTest", + "api-version": "2018-04-01", + "VirtualNetworkPeeringParameters": { + "properties": { + "allowForwardedTraffic": false, + "allowGatewayTransit": false, + "allowVirtualNetworkAccess": true, + "remoteVirtualNetwork": { + "id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/subramantest/providers/Microsoft.Network/virtualNetworks/subramanvnet" + }, + "useRemoteGateways": false + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/subramantest/providers/Microsoft.Databricks/workspaces/adbworkspace/virtualNetworkPeerings/vNetPeeringTest", + "name": "vNetPeeringTest", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": false, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/subramantest/providers/Microsoft.Network/virtualNetworks/subramanvnet" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "10.203.0.0/16" + ] + }, + "databricksVirtualNetwork": { + "id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/databricks-rg-adbworkspace-2jsxhmzoyooxm/providers/Microsoft.Network/virtualNetworks/workers-vnet" + }, + "databricksAddressSpace": { + "addressPrefixes": [ + "10.139.0.0/16" + ] + }, + "peeringState": "Initiated", + "provisioningState": "Updating" + } + } + }, + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/subramantest/providers/Microsoft.Databricks/workspaces/adbworkspace/virtualNetworkPeerings/vNetPeeringTest", + "name": "vNetPeeringTest", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": false, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/subramantest/providers/Microsoft.Network/virtualNetworks/subramanvnet" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "10.203.0.0/16" + ] + }, + "databricksVirtualNetwork": { + "id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/databricks-rg-adbworkspace-2jsxhmzoyooxm/providers/Microsoft.Network/virtualNetworks/workers-vnet" + }, + "databricksAddressSpace": { + "addressPrefixes": [ + "10.139.0.0/16" + ] + }, + "peeringState": "Initiated", + "provisioningState": "Updating" + } + } + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/WorkspaceVirtualNetworkPeeringDelete.json b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/WorkspaceVirtualNetworkPeeringDelete.json new file mode 100644 index 000000000000..fa342ab7d620 --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/WorkspaceVirtualNetworkPeeringDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "workspaceName": "myWorkspace", + "peeringName": "vNetPeering", + "api-version": "2018-04-01" + }, + "responses": { + "202": {}, + "204": {}, + "200": {} + } +} 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 abb09d4b737c..1419e260fad9 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 @@ -4419,9 +4419,50 @@ "repoConfiguration": { "$ref": "#/definitions/FactoryRepoConfiguration", "description": "Git repo information of the factory." + }, + "globalParameters": { + "$ref": "#/definitions/GlobalParameterDefinitionSpecification", + "description": "List of parameters for factory." } } }, + "GlobalParameterDefinitionSpecification": { + "description": "Definition of all parameters for an entity.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/GlobalParameterSpecification" + } + }, + "GlobalParameterSpecification": { + "description": "Definition of a single parameter for an entity.", + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Global Parameter type.", + "enum": [ + "Object", + "String", + "Int", + "Float", + "Bool", + "Array" + ], + "x-ms-enum": { + "name": "GlobalParameterType", + "modelAsString": true + } + }, + "value": { + "type": "object", + "description": "Value of parameter." + } + }, + "required": [ + "type", + "value" + ] + }, "PipelineResource": { "description": "Pipeline resource type.", "type": "object", diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json index 3644a5838df0..bdac90ebf99b 100644 --- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json @@ -113,6 +113,14 @@ "dataset": { "description": "Dataset reference.", "$ref": "../datafactory.json#/definitions/DatasetReference" + }, + "linkedService": { + "description": "Linked service reference.", + "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + }, + "schemaLinkedService": { + "description": "Schema linked service reference.", + "$ref": "../datafactory.json#/definitions/LinkedServiceReference" } } }, @@ -127,6 +135,14 @@ "dataset": { "description": "Dataset reference.", "$ref": "../datafactory.json#/definitions/DatasetReference" + }, + "linkedService": { + "description": "Linked service reference.", + "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + }, + "schemaLinkedService": { + "description": "Schema linked service reference.", + "$ref": "../datafactory.json#/definitions/LinkedServiceReference" } } } 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 8e1e0fcb1665..52f028ae93c9 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 @@ -593,6 +593,56 @@ "location" ] }, + "ExcelDataset": { + "x-ms-discriminator-value": "Excel", + "description": "Excel dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], + "properties": { + "typeProperties": { + "description": "Excel dataset properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExcelDatasetTypeProperties" + } + } + }, + "ExcelDatasetTypeProperties": { + "description": "Excel dataset properties.", + "properties": { + "location": { + "$ref": "#/definitions/DatasetLocation", + "description": "The location of the excel storage." + }, + "sheetName": { + "type": "object", + "description": "The sheet of excel file. Type: string (or Expression with resultType string)." + }, + "range": { + "type": "object", + "description": "The partial data of one sheet. Type: string (or Expression with resultType string)." + }, + "firstRowAsHeader": { + "type": "object", + "description": "When used as input, treat the first row of data as headers. When used as output,write the headers into the output as the first row of data. The default value is false. Type: boolean (or Expression with resultType boolean)." + }, + "compression": { + "description": "The data compression method used for the json dataset.", + "$ref": "#/definitions/DatasetCompression" + }, + "nullValue": { + "type": "object", + "description": "The null value string. Type: string (or Expression with resultType string)." + } + }, + "required": [ + "location", + "sheetName" + ] + }, "ParquetDataset": { "x-ms-discriminator-value": "Parquet", "description": "Parquet dataset.", @@ -748,6 +798,47 @@ "location" ] }, + "XmlDataset": { + "x-ms-discriminator-value": "Xml", + "description": "Xml dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], + "properties": { + "typeProperties": { + "description": "Xml dataset properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/XmlDatasetTypeProperties" + } + } + }, + "XmlDatasetTypeProperties": { + "description": "Xml dataset properties.", + "properties": { + "location": { + "$ref": "#/definitions/DatasetLocation", + "description": "The location of the json data storage." + }, + "encodingName": { + "type": "object", + "description": "The code page name of the preferred encoding. If not specified, the default value is UTF-8, unless BOM denotes another Unicode encoding. Refer to the name column of the table in the following link to set supported values: https://msdn.microsoft.com/library/system.text.encoding.aspx. Type: string (or Expression with resultType string)." + }, + "nullValue": { + "type": "object", + "description": "The null value string. Type: string (or Expression with resultType string)." + }, + "compression": { + "description": "The data compression method used for the json dataset.", + "$ref": "#/definitions/DatasetCompression" + } + }, + "required": [ + "location" + ] + }, "OrcDataset": { "x-ms-discriminator-value": "Orc", "description": "ORC dataset.", 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 6d3a8e411e5d..bc89fb5b7d7b 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 @@ -271,6 +271,10 @@ "type": "object", "description": "Specify the root path where partition discovery starts from. Type: string (or Expression with resultType string)." }, + "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)." + }, "modifiedDatetimeStart": { "type": "object", "description": "The start of file's modified datetime. Type: string (or Expression with resultType string)." @@ -314,6 +318,10 @@ "type": "object", "description": "Specify the root path where partition discovery starts from. Type: string (or Expression with resultType string)." }, + "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)." + }, "modifiedDatetimeStart": { "type": "object", "description": "The start of file's modified datetime. Type: string (or Expression with resultType string)." @@ -349,6 +357,14 @@ "type": "object", "description": "Point to a text file that lists each file (relative path to the path configured in the dataset) that you want to copy. Type: string (or Expression with resultType string)." }, + "listAfter": { + "type": "object", + "description": "Lists files after the value (exclusive) based on file/folder names’ lexicographical order. Applies under the folderPath in data set, and filter files/sub-folders under the folderPath. Type: string (or Expression with resultType string)." + }, + "listBefore": { + "type": "object", + "description": "Lists files before the value (inclusive) based on file/folder names’ lexicographical order. Applies under the folderPath in data set, and filter files/sub-folders under the folderPath. Type: string (or Expression with resultType string)." + }, "enablePartitionDiscovery": { "type": "boolean", "description": "Indicates whether to enable partition discovery." @@ -357,6 +373,10 @@ "type": "object", "description": "Specify the root path where partition discovery starts from. Type: string (or Expression with resultType string)." }, + "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)." + }, "modifiedDatetimeStart": { "type": "object", "description": "The start of file's modified datetime. Type: string (or Expression with resultType string)." @@ -404,6 +424,10 @@ "type": "object", "description": "Specify the root path where partition discovery starts from. Type: string (or Expression with resultType string)." }, + "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)." + }, "modifiedDatetimeStart": { "type": "object", "description": "The start of file's modified datetime. Type: string (or Expression with resultType string)." @@ -447,6 +471,10 @@ "type": "object", "description": "Specify the root path where partition discovery starts from. Type: string (or Expression with resultType string)." }, + "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)." + }, "modifiedDatetimeStart": { "type": "object", "description": "The start of file's modified datetime. Type: string (or Expression with resultType string)." @@ -498,6 +526,10 @@ "type": "object", "description": "Specify the root path where partition discovery starts from. Type: string (or Expression with resultType string)." }, + "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)." + }, "modifiedDatetimeStart": { "type": "object", "description": "The start of file's modified datetime. Type: string (or Expression with resultType string)." @@ -564,6 +596,10 @@ "type": "object", "description": "Specify the root path where partition discovery starts from. Type: string (or Expression with resultType string)." }, + "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)." + }, "modifiedDatetimeStart": { "type": "object", "description": "The start of file's modified datetime. Type: string (or Expression with resultType string)." @@ -603,6 +639,10 @@ "type": "object", "description": "Specify the root path where partition discovery starts from. Type: string (or Expression with resultType string)." }, + "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)." + }, "fileListPath": { "type": "object", "description": "Point to a text file that lists each file (relative path to the path configured in the dataset) that you want to copy. Type: string (or Expression with resultType string)." @@ -646,6 +686,10 @@ "type": "object", "description": "Point to a text file that lists each file (relative path to the path configured in the dataset) that you want to copy. Type: string (or Expression with resultType string)." }, + "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)." + }, "modifiedDatetimeStart": { "type": "object", "description": "The start of file's modified datetime. Type: string (or Expression with resultType string)." @@ -900,6 +944,29 @@ } } }, + "XmlReadSettings": { + "description": "Xml read settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FormatReadSettings" + } + ], + "properties": { + "compressionProperties": { + "$ref": "#/definitions/CompressionReadSettings", + "description": "Compression settings." + }, + "validationMode": { + "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)." + }, + "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)." + } + } + }, "BinaryReadSettings": { "description": "Binary read settings.", "type": "object", @@ -1018,6 +1085,28 @@ } } }, + "ExcelSource": { + "description": "A copy activity excel source.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopySource" + } + ], + "properties": { + "storeSettings": { + "$ref": "#/definitions/StoreReadSettings", + "description": "Excel store settings." + }, + "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).", + "items": { + "$ref": "#/definitions/AdditionalColumns" + } + } + } + }, "ParquetSource": { "description": "A copy activity Parquet source.", "type": "object", @@ -1092,6 +1181,32 @@ } } }, + "XmlSource": { + "description": "A copy activity Xml source.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopySource" + } + ], + "properties": { + "storeSettings": { + "$ref": "#/definitions/StoreReadSettings", + "description": "Xml store settings." + }, + "formatSettings": { + "$ref": "#/definitions/XmlReadSettings", + "description": "Xml format settings." + }, + "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).", + "items": { + "$ref": "#/definitions/AdditionalColumns" + } + } + } + }, "OrcSource": { "description": "A copy activity ORC source.", "type": "object", @@ -2162,11 +2277,11 @@ }, "partitionUpperBound": { "type": "object", - "description": "The maximum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string)." + "description": "The maximum value of the partition column for partition range splitting. This value is used to decide the partition stride, not for filtering the rows in table. All rows in the table or query result will be partitioned and copied. Type: string (or Expression with resultType string)." }, "partitionLowerBound": { "type": "object", - "description": "The minimum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string)." + "description": "The minimum value of the partition column for partition range splitting. This value is used to decide the partition stride, not for filtering the rows in table. All rows in the table or query result will be partitioned and copied. Type: string (or Expression with resultType string)." } } }, @@ -4388,6 +4503,44 @@ "mappings": { "type": "object", "description": "Column mappings with logical types. Tabular->tabular example: [{\"source\":{\"name\":\"CustomerName\",\"type\":\"String\"},\"sink\":{\"name\":\"ClientName\",\"type\":\"String\"}},{\"source\":{\"name\":\"CustomerAddress\",\"type\":\"String\"},\"sink\":{\"name\":\"ClientAddress\",\"type\":\"String\"}}]. Hierarchical->tabular example: [{\"source\":{\"path\":\"$.CustomerName\",\"type\":\"String\"},\"sink\":{\"name\":\"ClientName\",\"type\":\"String\"}},{\"source\":{\"path\":\"$.CustomerAddress\",\"type\":\"String\"},\"sink\":{\"name\":\"ClientAddress\",\"type\":\"String\"}}]. Type: object (or Expression with resultType object)." + }, + "typeConversion": { + "type": "object", + "description": "Whether to enable the advanced type conversion feature in the Copy activity. Type: boolean (or Expression with resultType boolean)." + }, + "typeConversionSettings": { + "description": "Type conversion settings", + "$ref": "#/definitions/TypeConversionSettings" + } + } + }, + "TypeConversionSettings": { + "description": "Type conversion settings", + "type": "object", + "properties": { + "allowDataTruncation": { + "type": "object", + "description": "Whether to allow data truncation when converting the data. Type: boolean (or Expression with resultType boolean)." + }, + "treatBooleanAsNumber": { + "type": "object", + "description": "Whether to treat boolean values as numbers. Type: boolean (or Expression with resultType boolean)." + }, + "dateTimeFormat": { + "type": "object", + "description": "The format for DateTime values. Type: string (or Expression with resultType string)." + }, + "dateTimeOffsetFormat": { + "type": "object", + "description": "The format for DateTimeOffset values. Type: string (or Expression with resultType string)." + }, + "timeSpanFormat": { + "type": "object", + "description": "The format for TimeSpan values. Type: string (or Expression with resultType string)." + }, + "culture": { + "type": "object", + "description": "The culture used to convert data from/to string. Type: string (or Expression with resultType string)." } } }, @@ -5919,7 +6072,7 @@ "properties": { "waitTimeInSeconds": { "description": "Duration in seconds.", - "type": "integer" + "type": "object" } }, "required": [ diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ConsumerInvitations_Get.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ConsumerInvitations_Get.json index b96b9eda962e..b93ee3d85636 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ConsumerInvitations_Get.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ConsumerInvitations_Get.json @@ -28,7 +28,7 @@ "dataSetCount": 1, "shareName": "share1" }, - "id": "providers/Microsoft.DataShare/consumerInvitations/4256e2cf-0f82-4865-961b-12f83333f487", + "id": "providers/Microsoft.DataShare/locations/eastus2/consumerInvitations/4256e2cf-0f82-4865-961b-12f83333f487", "name": "invitation1", "type": "Microsoft.DataShare/consumerInvitations" } diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ConsumerInvitations_ListInvitations.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ConsumerInvitations_ListInvitations.json index 6e888dff3a47..99cf58e72d0e 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ConsumerInvitations_ListInvitations.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ConsumerInvitations_ListInvitations.json @@ -28,7 +28,7 @@ "providerTenantName": "microsoft", "shareName": "share1" }, - "id": "providers/Microsoft.DataShare/consumerInvitations/4256e2cf-0f82-4865-961b-12f83333f487", + "id": "providers/Microsoft.DataShare/locations/eastus2/consumerInvitations/4256e2cf-0f82-4865-961b-12f83333f487", "name": "invitation1", "type": "Microsoft.DataShare/consumerInvitations" } diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ConsumerInvitations_RejectInvitation.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ConsumerInvitations_RejectInvitation.json index e0c2b2087285..95b85eca540e 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ConsumerInvitations_RejectInvitation.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ConsumerInvitations_RejectInvitation.json @@ -32,7 +32,7 @@ "dataSetCount": 1, "shareName": "share1" }, - "id": "providers/Microsoft.DataShare/consumerInvitations/4256e2cf-0f82-4865-961b-12f83333f487", + "id": "providers/Microsoft.DataShare/locations/eastus2/consumerInvitations/4256e2cf-0f82-4865-961b-12f83333f487", "name": "invitation1", "type": "Microsoft.DataShare/consumerInvitations" } diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ProviderShareSubscriptions_GetByShare.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ProviderShareSubscriptions_GetByShare.json index 47d23521376d..53721147f187 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ProviderShareSubscriptions_GetByShare.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ProviderShareSubscriptions_GetByShare.json @@ -4,7 +4,7 @@ "resourceGroupName": "SampleResourceGroup", "accountName": "Account1", "shareName": "Share1", - "providerShareSubscriptionId": "d5496da4-9c52-402f-b067-83cc9ddea888", + "providerShareSubscriptionId": "4256e2cf-0f82-4865-961b-12f83333f487", "api-version": "2018-11-01-preview" }, "responses": { @@ -27,9 +27,9 @@ "consumerTenantName": "Microsoft", "shareSubscriptionStatus": "Active" }, - "id": "providers/Microsoft.DataShare/consumerInvitations/4256e2cf-0f82-4865-961b-12f83333f487", - "name": "invitation1", - "type": "Microsoft.DataShare/shareSubscripitons" + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shares/Share1/providerShareSubscripitons/4256e2cf-0f82-4865-961b-12f83333f487", + "name": "4256e2cf-0f82-4865-961b-12f83333f487", + "type": "Microsoft.DataShare/providerShareSubscripitons" } } } diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ProviderShareSubscriptions_ListByShare.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ProviderShareSubscriptions_ListByShare.json index f41b2fe534b7..faf514c0e617 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ProviderShareSubscriptions_ListByShare.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ProviderShareSubscriptions_ListByShare.json @@ -28,9 +28,9 @@ "consumerTenantName": "Microsoft", "shareSubscriptionStatus": "Active" }, - "id": "providers/Microsoft.DataShare/consumerInvitations/4256e2cf-0f82-4865-961b-12f83333f487", - "name": "invitation1", - "type": "Microsoft.DataShare/shareSubscripitons" + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shares/Share1/providerShareSubscripitons/4256e2cf-0f82-4865-961b-12f83333f487", + "name": "4256e2cf-0f82-4865-961b-12f83333f487", + "type": "Microsoft.DataShare/providerShareSubscripitons" } ] } diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ProviderShareSubscriptions_Reinstate.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ProviderShareSubscriptions_Reinstate.json index 47d23521376d..53721147f187 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ProviderShareSubscriptions_Reinstate.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ProviderShareSubscriptions_Reinstate.json @@ -4,7 +4,7 @@ "resourceGroupName": "SampleResourceGroup", "accountName": "Account1", "shareName": "Share1", - "providerShareSubscriptionId": "d5496da4-9c52-402f-b067-83cc9ddea888", + "providerShareSubscriptionId": "4256e2cf-0f82-4865-961b-12f83333f487", "api-version": "2018-11-01-preview" }, "responses": { @@ -27,9 +27,9 @@ "consumerTenantName": "Microsoft", "shareSubscriptionStatus": "Active" }, - "id": "providers/Microsoft.DataShare/consumerInvitations/4256e2cf-0f82-4865-961b-12f83333f487", - "name": "invitation1", - "type": "Microsoft.DataShare/shareSubscripitons" + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shares/Share1/providerShareSubscripitons/4256e2cf-0f82-4865-961b-12f83333f487", + "name": "4256e2cf-0f82-4865-961b-12f83333f487", + "type": "Microsoft.DataShare/providerShareSubscripitons" } } } diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ProviderShareSubscriptions_Revoke.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ProviderShareSubscriptions_Revoke.json index 6dc1c231af20..26f40068c247 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ProviderShareSubscriptions_Revoke.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ProviderShareSubscriptions_Revoke.json @@ -4,7 +4,7 @@ "resourceGroupName": "SampleResourceGroup", "accountName": "Account1", "shareName": "Share1", - "providerShareSubscriptionId": "d5496da4-9c52-402f-b067-83cc9ddea888", + "providerShareSubscriptionId": "4256e2cf-0f82-4865-961b-12f83333f487", "api-version": "2018-11-01-preview" }, "responses": { @@ -27,8 +27,8 @@ "consumerTenantName": "Microsoft", "shareSubscriptionStatus": "Revoked" }, - "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/testrg/providers/Microsoft.DataShare/accounts/account1/shares/share1/providerShareSubscripitons/4256e2cf-0f82-4865-961b-12f83333f487", - "name": "providerShareSubscripiton", + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shares/Share1/providerShareSubscripitons/4256e2cf-0f82-4865-961b-12f83333f487", + "name": "4256e2cf-0f82-4865-961b-12f83333f487", "type": "Microsoft.DataShare/providerShareSubscripitons" } }, @@ -40,7 +40,7 @@ "x-ms-ratelimit-remaining-tenant-reads": "14999", "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd", "x-ms-long-running-operation": true, - "Azure-AsyncOperation": "https://management.azure.com/subscriptions/d8869ae5-cd9e-413a-b660-104573d8bcee/resourceGroups/testrg/providers/Microsoft.DataShare/accounts/consumerAccount/shares/shareSub1/operationResults/dad6baec-3a39-41df-a469-843a9ee94213?api-version=2018-11-01-preview" + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shares/Share1/operationResults/dad6baec-3a39-41df-a469-843a9ee94213?api-version=2018-11-01-preview" }, "body": { "properties": { @@ -48,12 +48,13 @@ "consumerEmail": "john.smith@microsoft.com", "createdAt": "2018-12-13T08:52:42.6224087Z", "providerName": "John Smith", + "providerEmail": "john.smith@microsoft.com", "sharedAt": "2018-12-13T08:45:40.9005877Z", "consumerTenantName": "Microsoft", - "shareSubscriptionStatus": "Revoked" + "shareSubscriptionStatus": "Revoking" }, - "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/testrg/providers/Microsoft.DataShare/accounts/account1/shares/share1/providerShareSubscripitons/4256e2cf-0f82-4865-961b-12f83333f487", - "name": "providerShareSubscripiton", + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shares/Share1/providerShareSubscripitons/4256e2cf-0f82-4865-961b-12f83333f487", + "name": "4256e2cf-0f82-4865-961b-12f83333f487", "type": "Microsoft.DataShare/providerShareSubscripitons" } } diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ConsumerInvitations_Get.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ConsumerInvitations_Get.json index 3947c32f1d2d..4f48f4b70235 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ConsumerInvitations_Get.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ConsumerInvitations_Get.json @@ -28,7 +28,7 @@ "dataSetCount": 1, "shareName": "share1" }, - "id": "providers/Microsoft.DataShare/consumerInvitations/4256e2cf-0f82-4865-961b-12f83333f487", + "id": "providers/Microsoft.DataShare/locations/eastus2/consumerInvitations/4256e2cf-0f82-4865-961b-12f83333f487", "name": "invitation1", "type": "Microsoft.DataShare/consumerInvitations" } diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ConsumerInvitations_ListInvitations.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ConsumerInvitations_ListInvitations.json index be162fe02bd5..e4fbe7a361e4 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ConsumerInvitations_ListInvitations.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ConsumerInvitations_ListInvitations.json @@ -28,7 +28,7 @@ "providerTenantName": "microsoft", "shareName": "share1" }, - "id": "providers/Microsoft.DataShare/consumerInvitations/4256e2cf-0f82-4865-961b-12f83333f487", + "id": "providers/Microsoft.DataShare/locations/eastus2/consumerInvitations/4256e2cf-0f82-4865-961b-12f83333f487", "name": "invitation1", "type": "Microsoft.DataShare/consumerInvitations" } diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ConsumerInvitations_RejectInvitation.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ConsumerInvitations_RejectInvitation.json index 94863b3897a0..53670998bd16 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ConsumerInvitations_RejectInvitation.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ConsumerInvitations_RejectInvitation.json @@ -32,7 +32,7 @@ "dataSetCount": 1, "shareName": "share1" }, - "id": "providers/Microsoft.DataShare/consumerInvitations/4256e2cf-0f82-4865-961b-12f83333f487", + "id": "providers/Microsoft.DataShare/locations/eastus2/consumerInvitations/4256e2cf-0f82-4865-961b-12f83333f487", "name": "invitation1", "type": "Microsoft.DataShare/consumerInvitations" } diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ProviderShareSubscriptions_GetByShare.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ProviderShareSubscriptions_GetByShare.json index 64e4f3659f8b..8ac27fec3bbb 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ProviderShareSubscriptions_GetByShare.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ProviderShareSubscriptions_GetByShare.json @@ -4,7 +4,7 @@ "resourceGroupName": "SampleResourceGroup", "accountName": "Account1", "shareName": "Share1", - "providerShareSubscriptionId": "d5496da4-9c52-402f-b067-83cc9ddea888", + "providerShareSubscriptionId": "4256e2cf-0f82-4865-961b-12f83333f487", "api-version": "2019-11-01" }, "responses": { @@ -27,9 +27,9 @@ "consumerTenantName": "Microsoft", "shareSubscriptionStatus": "Active" }, - "id": "providers/Microsoft.DataShare/consumerInvitations/4256e2cf-0f82-4865-961b-12f83333f487", - "name": "invitation1", - "type": "Microsoft.DataShare/shareSubscripitons" + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shares/Share1/providerShareSubscripitons/4256e2cf-0f82-4865-961b-12f83333f487", + "name": "4256e2cf-0f82-4865-961b-12f83333f487", + "type": "Microsoft.DataShare/providerShareSubscripitons" } } } diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ProviderShareSubscriptions_ListByShare.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ProviderShareSubscriptions_ListByShare.json index b230d875f279..65dd14bcad7b 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ProviderShareSubscriptions_ListByShare.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ProviderShareSubscriptions_ListByShare.json @@ -28,9 +28,9 @@ "consumerTenantName": "Microsoft", "shareSubscriptionStatus": "Active" }, - "id": "providers/Microsoft.DataShare/consumerInvitations/4256e2cf-0f82-4865-961b-12f83333f487", - "name": "invitation1", - "type": "Microsoft.DataShare/shareSubscripitons" + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shares/Share1/providerShareSubscripitons/4256e2cf-0f82-4865-961b-12f83333f487", + "name": "4256e2cf-0f82-4865-961b-12f83333f487", + "type": "Microsoft.DataShare/providerShareSubscripitons" } ] } diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ProviderShareSubscriptions_Reinstate.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ProviderShareSubscriptions_Reinstate.json index 64e4f3659f8b..8ac27fec3bbb 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ProviderShareSubscriptions_Reinstate.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ProviderShareSubscriptions_Reinstate.json @@ -4,7 +4,7 @@ "resourceGroupName": "SampleResourceGroup", "accountName": "Account1", "shareName": "Share1", - "providerShareSubscriptionId": "d5496da4-9c52-402f-b067-83cc9ddea888", + "providerShareSubscriptionId": "4256e2cf-0f82-4865-961b-12f83333f487", "api-version": "2019-11-01" }, "responses": { @@ -27,9 +27,9 @@ "consumerTenantName": "Microsoft", "shareSubscriptionStatus": "Active" }, - "id": "providers/Microsoft.DataShare/consumerInvitations/4256e2cf-0f82-4865-961b-12f83333f487", - "name": "invitation1", - "type": "Microsoft.DataShare/shareSubscripitons" + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shares/Share1/providerShareSubscripitons/4256e2cf-0f82-4865-961b-12f83333f487", + "name": "4256e2cf-0f82-4865-961b-12f83333f487", + "type": "Microsoft.DataShare/providerShareSubscripitons" } } } diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ProviderShareSubscriptions_Revoke.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ProviderShareSubscriptions_Revoke.json index 59b9c4d9a1b9..536a8324c789 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ProviderShareSubscriptions_Revoke.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ProviderShareSubscriptions_Revoke.json @@ -4,7 +4,7 @@ "resourceGroupName": "SampleResourceGroup", "accountName": "Account1", "shareName": "Share1", - "providerShareSubscriptionId": "d5496da4-9c52-402f-b067-83cc9ddea888", + "providerShareSubscriptionId": "4256e2cf-0f82-4865-961b-12f83333f487", "api-version": "2019-11-01" }, "responses": { @@ -27,8 +27,8 @@ "consumerTenantName": "Microsoft", "shareSubscriptionStatus": "Revoked" }, - "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/testrg/providers/Microsoft.DataShare/accounts/account1/shares/share1/providerShareSubscripitons/4256e2cf-0f82-4865-961b-12f83333f487", - "name": "providerShareSubscripiton", + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shares/Share1/providerShareSubscripitons/4256e2cf-0f82-4865-961b-12f83333f487", + "name": "4256e2cf-0f82-4865-961b-12f83333f487", "type": "Microsoft.DataShare/providerShareSubscripitons" } }, @@ -40,7 +40,7 @@ "x-ms-ratelimit-remaining-tenant-reads": "14999", "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd", "x-ms-long-running-operation": true, - "Azure-AsyncOperation": "https://management.azure.com/subscriptions/d8869ae5-cd9e-413a-b660-104573d8bcee/resourceGroups/testrg/providers/Microsoft.DataShare/accounts/consumerAccount/shares/shareSub1/operationResults/dad6baec-3a39-41df-a469-843a9ee94213?api-version=2018-11-01-preview" + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shares/Share1/operationResults/dad6baec-3a39-41df-a469-843a9ee94213?api-version=2019-11-01" }, "body": { "properties": { @@ -48,12 +48,13 @@ "consumerEmail": "john.smith@microsoft.com", "createdAt": "2018-12-13T08:52:42.6224087Z", "providerName": "John Smith", + "providerEmail": "john.smith@microsoft.com", "sharedAt": "2018-12-13T08:45:40.9005877Z", "consumerTenantName": "Microsoft", - "shareSubscriptionStatus": "Revoked" + "shareSubscriptionStatus": "Revoking" }, - "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/testrg/providers/Microsoft.DataShare/accounts/account1/shares/share1/providerShareSubscripitons/4256e2cf-0f82-4865-961b-12f83333f487", - "name": "providerShareSubscripiton", + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shares/Share1/providerShareSubscripitons/4256e2cf-0f82-4865-961b-12f83333f487", + "name": "4256e2cf-0f82-4865-961b-12f83333f487", "type": "Microsoft.DataShare/providerShareSubscripitons" } } 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/datashare/resource-manager/readme.typescript.md b/specification/datashare/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..e2a649c02539 --- /dev/null +++ b/specification/datashare/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-datashare" + output-folder: "$(typescript-sdks-folder)/sdk/datashare/arm-datashare" + clear-output-folder: true + generate-metadata: true +``` 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 3af397de4739..0948a6244957 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 @@ -2023,6 +2023,9 @@ "properties": { "tags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "tags to be updated" }, "properties": { @@ -2125,6 +2128,9 @@ "properties": { "tags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "tags to be updated" }, "properties": { @@ -2293,6 +2299,9 @@ "properties": { "tags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "tags to be updated" }, "properties": { @@ -2398,6 +2407,11 @@ "description": "Represents a RegistrationInfo definition.", "type": "object", "properties": { + "expirationTime": { + "format": "date-time", + "type": "string", + "description": "Expiration time of registration token." + }, "registrationTokenOperation": { "enum": [ "Delete", @@ -2553,6 +2567,9 @@ "properties": { "tags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "tags to be updated" }, "properties": { @@ -2675,6 +2692,9 @@ "properties": { "tags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "tags to be updated" }, "properties": { 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 7ea677d137e4..66b79818e853 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 @@ -19,7 +19,7 @@ "maxSessionLimit": 999999, "loadBalancerType": "BreadthFirst", "registrationInfo": { - "expirationTime": "2008-09-22T14:01:54.9571247Z", + "expirationTime": "2020-10-01T14:01:54.9571247Z", "registrationTokenOperation": "Update" }, "ssoContext": "KeyVaultPath" @@ -48,7 +48,7 @@ "validationEnvironment": null, "ring": null, "registrationInfo": { - "expirationTime": "2008-09-22T14:01:54.9571247Z", + "expirationTime": "2020-10-01T14:01:54.9571247Z", "token": "token", "registrationTokenOperation": "Update" }, @@ -77,7 +77,7 @@ "validationEnvironment": null, "ring": null, "registrationInfo": { - "expirationTime": "2008-09-22T14:01:54.9571247Z", + "expirationTime": "2020-10-01T14:01:54.9571247Z", "token": "token", "registrationTokenOperation": "Update" }, 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 6eb8e05ee4ce..0993e2d985a4 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 @@ -17,6 +17,7 @@ "loadBalancerType": "BreadthFirst", "personalDesktopAssignmentType": "Automatic", "registrationInfo": { + "expirationTime": "2020-10-01T15:01:54.9571247Z", "registrationTokenOperation": "Update" }, "ssoContext": "KeyVaultPath" diff --git a/specification/desktopvirtualization/resource-manager/readme.az.md b/specification/desktopvirtualization/resource-manager/readme.az.md index 59b298c1cc19..c4e10f818618 100644 --- a/specification/desktopvirtualization/resource-manager/readme.az.md +++ b/specification/desktopvirtualization/resource-manager/readme.az.md @@ -9,4 +9,14 @@ az: namespace: azure.mgmt.desktopvirtualization az-output-folder: $(azure-cli-extension-folder)/src/desktopvirtualization python-sdk-output-folder: "$(az-output-folder)/azext_desktopvirtualization/vendored_sdks/desktopvirtualization" + +directive: + - where: + group: desktopvirtualization host-pool + set: + group: desktopvirtualization hostpool + - where: + group: desktopvirtualization application-group + set: + group: desktopvirtualization applicationgroup ``` diff --git a/specification/desktopvirtualization/resource-manager/readme.cli.md b/specification/desktopvirtualization/resource-manager/readme.cli.md index 3add0b924943..1f10535c86f8 100644 --- a/specification/desktopvirtualization/resource-manager/readme.cli.md +++ b/specification/desktopvirtualization/resource-manager/readme.cli.md @@ -5,4 +5,13 @@ These settings don't need to apply `--cli` on the command line. ``` yaml $(cli) cli: cli-name: desktopvirtualization + cli-directive: + - where: + group: (ActiveApplications|Applications|ApplicationgroupAssignments|Desktops|SessionHosts|StartMenuItems|UserSessions) + hidden: true + # - where: + # group: ApplicationGroups + # op: ListByResourceGroup + # param: \$filter + # name: list-filter ``` diff --git a/specification/desktopvirtualization/resource-manager/readme.md b/specification/desktopvirtualization/resource-manager/readme.md index f925aac285c5..3864f213f6b1 100644 --- a/specification/desktopvirtualization/resource-manager/readme.md +++ b/specification/desktopvirtualization/resource-manager/readme.md @@ -74,6 +74,7 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_desktop_virtualization'] + - repo: azure-cli-extensions ``` ## C# diff --git a/specification/desktopvirtualization/resource-manager/readme.python.md b/specification/desktopvirtualization/resource-manager/readme.python.md index 9714d4109d0b..454b0737ac27 100644 --- a/specification/desktopvirtualization/resource-manager/readme.python.md +++ b/specification/desktopvirtualization/resource-manager/readme.python.md @@ -10,18 +10,18 @@ python: azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION payload-flattening-threshold: 2 - namespace: azure.mgmt.DesktopVirtualization - package-name: azure-mgmt-DesktopVirtualization + namespace: azure.mgmt.desktopvirtualization + package-name: azure-mgmt-desktopvirtualization package-version: 0.2.0 clear-output-folder: true ``` ``` yaml $(python) && $(python-mode) == 'update' python: no-namespace-folders: true - output-folder: $(python-sdks-folder)/azure-mgmt-DesktopVirtualization/azure/mgmt/DesktopVirtualization + output-folder: $(python-sdks-folder)/azure-mgmt-desktopvirtualization/azure/mgmt/desktopvirtualization ``` ``` yaml $(python) && $(python-mode) == 'create' python: basic-setup-py: true - output-folder: $(python-sdks-folder)/azure-mgmt-DesktopVirtualization + output-folder: $(python-sdks-folder)/azure-mgmt-desktopvirtualization ``` diff --git a/specification/deviceprovisioningservices/resource-manager/readme.cli.md b/specification/deviceprovisioningservices/resource-manager/readme.cli.md new file mode 100644 index 000000000000..d983c42ee8bc --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/readme.cli.md @@ -0,0 +1,43 @@ +## CLI + +These settings apply only when `--cli` is specified on the command line. + +``` yaml $(cli) +cli: + cli-name: iothubprovisioningservices + package-name: azure-mgmt-iothubprovisioningservices + namespace: azure.mgmt.iothubprovisioningservices + test-scenario: + - name: /IotDpsResource/put/DPSCreate + - name: /DpsCertificate/put/DPSCreateOrUpdateCertificate + disabled: true + comment: Certificates not tested yet + - name: /DpsCertificate/get/DPSGetCertificate + disabled: true + comment: Certificates not tested yet + - name: /IotDpsResource/get/DPSGetOperationResult + disabled: true + comment: Certificates not tested yet + - name: /DpsCertificate/get/DPSGetCertificates + - name: /IotDpsResource/get/DPSGetValidSku + - name: /IotDpsResource/get/DPSGet + - name: /IotDpsResource/get/DPSListByResourceGroup + - name: /IotDpsResource/get/DPSListBySubscription + - name: /Operations/get/DPSOperations + - name: /DpsCertificate/post/DPSGenerateVerificationCode + disabled: true + comment: Certificates not tested yet + - name: /DpsCertificate/post/DPSVerifyCertificate + disabled: true + comment: Certificates not tested yet + - name: /IotDpsResource/post/DPSGetKey + disabled: true + comment: Certificates not tested yet + - name: /IotDpsResource/post/DPSListKeys + - name: /IotDpsResource/patch/DPSPatch + - name: /IotDpsResource/post/DPSCheckName + - name: /DpsCertificate/delete/DPSDeleteCertificate + disabled: true + comment: Certificates not tested yet + - name: /IotDpsResource/delete/DPSDelete +``` 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 new file mode 100644 index 000000000000..b17bda728464 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/digitaltwins.json @@ -0,0 +1,1497 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-05-31-preview", + "title": "Azure Digital Twins API", + "description": "A service for managing and querying digital twins and digital twin models." + }, + "host": "digitaltwins-name.digitaltwins.azure.net", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "paths": { + "/models": { + "post": { + "tags": [ + "Models" + ], + "description": "Uploads one or more models. When any error occurs, no models are uploaded.\nStatus codes:\n200 (OK): Success.\n400 (Bad Request): The request is invalid.\n409 (Conflict): One or more of the provided models already exist.", + "operationId": "DigitalTwinModels_Add", + "x-ms-examples": { + "ModelAdd": { + "$ref": "./examples/ModelAdd.json" + } + }, + "parameters": [ + { + "name": "models", + "in": "body", + "description": "An array of models to add.", + "required": false, + "schema": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object" + } + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/NonPagedModelDataCollection" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Models" + ], + "description": "Retrieves model metadata and, optionally, model definitions.\nStatus codes:\n200 (OK): Success.\n400 (Bad Request): The request is invalid.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "DigitalTwinModels_List", + "x-ms-examples": { + "ModelsGet": { + "$ref": "./examples/ModelsGet.json" + }, + "ModelsGetWithContextAndIncludeModelDefinition": { + "$ref": "./examples/ModelsGetWithDependenciesAndIncludeModelDefinition.json" + } + }, + "parameters": [ + { + "name": "dependenciesFor", + "in": "query", + "description": "The set of the models which will have their dependencies retrieved. If omitted, all models are retrieved.", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + } + }, + { + "$ref": "#/parameters/includeModelDefinition" + }, + { + "$ref": "#/parameters/max-item-count" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/PagedModelDataCollection" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/models/{id}": { + "get": { + "tags": [ + "Models" + ], + "description": "Retrieves model metadata and optionally the model definition.\nStatus codes:\n200 (OK): Success.\n404 (Not Found): There is no model with the provided id.", + "operationId": "DigitalTwinModels_GetById", + "x-ms-examples": { + "ModelGetById": { + "$ref": "./examples/ModelGetById.json" + }, + "ModelGetByIdWithIncludeModelDefinition": { + "$ref": "./examples/ModelGetByIdWithIncludeModelDefinition.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/modelId" + }, + { + "$ref": "#/parameters/includeModelDefinition" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ModelData" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Models" + ], + "description": "Updates the metadata for a model.\nStatus codes:\n200 (OK): Success.\n400 (Bad Request): The request is invalid.\n404 (Not Found): There is no model with the provided id.", + "operationId": "DigitalTwinModels_Update", + "consumes": [ + "application/json-patch+json" + ], + "x-ms-examples": { + "ModelUpdateDecommissioned": { + "$ref": "./examples/ModelUpdateDecommissioned.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/modelId" + }, + { + "name": "updateModel", + "description": "An update specification described by JSON Patch. Only the decommissioned property can be replaced.", + "in": "body", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "object" + } + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Models" + ], + "operationId": "DigitalTwinModels_Delete", + "description": "Deletes a model. A model can only be deleted if no other models reference it.\nStatus codes:\n204 (No Content): Success.\n400 (Bad Request): The request is invalid.\n404 (Not Found): There is no model with the provided id.\n409 (Conflict): There are dependencies on the model that prevent it from being deleted.", + "x-ms-examples": { + "DeleteModel": { + "$ref": "./examples/DeleteModel.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/modelId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/query": { + "post": { + "tags": [ + "Query" + ], + "operationId": "Query_QueryTwins", + "description": "Executes a query that allows traversing relationships and filtering by property values.\nStatus codes:\n200 (OK): Success.\n400 (Bad Request): The request is invalid.", + "x-ms-examples": { + "QueryFirstPage": { + "$ref": "./examples/QueryFirstPage.json" + }, + "QueryNextPage": { + "$ref": "./examples/QueryNextPage.json" + }, + "QueryJoin": { + "$ref": "./examples/QueryJoin.json" + } + }, + "parameters": [ + { + "name": "querySpecification", + "in": "body", + "description": "The query specification to execute.", + "required": true, + "schema": { + "$ref": "#/definitions/QuerySpecification" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/QueryResult" + }, + "headers": { + "query-charge": { + "description": "The query charge.", + "type": "number" + } + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/digitaltwins/{id}": { + "get": { + "tags": [ + "Twins" + ], + "operationId": "DigitalTwins_GetById", + "description": "Retrieves a digital twin.\nStatus codes:\n200 (OK): Success.\n404 (Not Found): There is no digital twin with the provided id.", + "x-ms-examples": { + "GetTwin": { + "$ref": "./examples/GetTwin.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "type": "object" + }, + "headers": { + "ETag": { + "description": "Weak Etag.", + "type": "string" + } + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Twins" + ], + "operationId": "DigitalTwins_Add", + "description": "Adds or replaces a digital twin.\nStatus codes:\n200 (OK): Success.\n400 (Bad Request): The request is invalid.\n412 (Precondition Failed): The model is decommissioned or the digital twin already exists (when using If-None-Match: *).", + "x-ms-examples": { + "PutTwinBasicExample": { + "$ref": "./examples/PutTwinBasicExample.json" + }, + "PutTwinAdvancedExample": { + "$ref": "./examples/PutTwinAdvancedExample.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "name": "twin", + "description": "The digital twin instance being added. If provided, the $dtId property is ignored.", + "in": "body", + "required": true, + "schema": { + "type": "object" + } + }, + { + "$ref": "#/parameters/if-none-match-star" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "type": "object" + }, + "headers": { + "ETag": { + "description": "Weak Etag.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Success" + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Twins" + ], + "operationId": "DigitalTwins_Delete", + "description": "Deletes a digital twin. All relationships referencing the digital twin must already be deleted.\nStatus codes:\n200 (OK): Success.\n400 (Bad Request): The request is invalid.\n404 (Not Found): There is no digital twin with the provided id.", + "x-ms-examples": { + "DeleteTwin": { + "$ref": "./examples/DeleteTwin.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "$ref": "#/parameters/if-match" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Twins" + ], + "operationId": "DigitalTwins_Update", + "description": "Updates a digital twin.\nStatus codes:\n200 (OK): Success.\n400 (Bad Request): The request is invalid.\n404 (Not Found): There is no digital twin with the provided id.", + "consumes": [ + "application/json-patch+json" + ], + "x-ms-examples": { + "PatchTwinBasicExample": { + "$ref": "./examples/PatchTwinBasicExample.json" + }, + "PatchTwinAdvancedExample": { + "$ref": "./examples/PatchTwinAdvancedExample.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "name": "patchDocument", + "description": "An update specification described by JSON Patch. Updates to property values and $model elements may happen in the same request. Operations are limited to add, replace and remove.", + "in": "body", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "object" + } + } + }, + { + "$ref": "#/parameters/if-match" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "204": { + "description": "Success", + "headers": { + "ETag": { + "description": "Weak Etag.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Success" + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/digitaltwins/{id}/relationships/{relationshipId}": { + "get": { + "tags": [ + "Twins" + ], + "operationId": "DigitalTwins_GetRelationshipById", + "description": "Retrieves a relationship between two digital twins.\nStatus codes:\n200 (OK): Success.\n404 (Not Found): There is either no digital twin or relationship with the provided id.", + "x-ms-examples": { + "GetRelationshipById": { + "$ref": "./examples/GetRelationshipById.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "$ref": "#/parameters/relationshipId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "type": "object" + }, + "headers": { + "ETag": { + "description": "Weak Etag.", + "type": "string" + } + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Twins" + ], + "operationId": "DigitalTwins_AddRelationship", + "description": "Adds a relationship between two digital twins.\nStatus codes:\n200 (OK): Success.\n400 (Bad Request): The request is invalid.\n404 (Not Found): There is either no digital twin, target digital twin, or relationship with the provided id.\n409 (Conflict): A relationship with the provided id already exists.", + "x-ms-examples": { + "CreateRelationshipBasicExample": { + "$ref": "./examples/CreateRelationshipBasicExample.json" + }, + "CreateRelationshipAdvancedExample": { + "$ref": "./examples/CreateRelationshipAdvancedExample.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "$ref": "#/parameters/relationshipId" + }, + { + "name": "relationship", + "in": "body", + "description": "The data for the relationship.", + "required": false, + "schema": { + "type": "object" + } + }, + { + "$ref": "#/parameters/if-none-match-star" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "type": "object" + }, + "headers": { + "ETag": { + "description": "Weak Etag.", + "type": "string" + } + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Twins" + ], + "operationId": "DigitalTwins_DeleteRelationship", + "description": "Deletes a relationship between two digital twins.\nStatus codes:\n200 (OK): Success.\n404 (Not Found): There is either no digital twin or relationship with the provided id.", + "x-ms-examples": { + "DeleteRelationship": { + "$ref": "./examples/DeleteRelationship.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "$ref": "#/parameters/relationshipId" + }, + { + "$ref": "#/parameters/if-match" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Twins" + ], + "consumes": [ + "application/json-patch+json" + ], + "operationId": "DigitalTwins_UpdateRelationship", + "description": "Updates the properties on a relationship between two digital twins.\nStatus codes:\n200 (OK): Success.\n400 (Bad Request): The request is invalid.\n404 (Not Found): There is either no digital twin or relationship with the provided id.", + "x-ms-examples": { + "PatchRelationshipBasicExample": { + "$ref": "./examples/PatchRelationshipBasicExample.json" + }, + "PatchRelationshipAdvancedExample": { + "$ref": "./examples/PatchRelationshipAdvancedExample.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "$ref": "#/parameters/relationshipId" + }, + { + "name": "patchDocument", + "description": "JSON Patch description of the update to the relationship properties.", + "in": "body", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "object" + } + } + }, + { + "$ref": "#/parameters/if-match" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "204": { + "description": "Success", + "headers": { + "ETag": { + "description": "Weak Etag.", + "type": "string" + } + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/digitaltwins/{id}/relationships": { + "get": { + "tags": [ + "Twins" + ], + "operationId": "DigitalTwins_ListRelationships", + "description": "Retrieves the relationships from a digital twin.\nStatus codes:\n200 (OK): Success.\n400 (Bad Request): The request is invalid.\n404 (Not Found): There is no digital twin with the provided id.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetRelationship": { + "$ref": "./examples/GetRelationship.json" + }, + "GetRelationshipByName": { + "$ref": "./examples/GetRelationshipByRelationshipName.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "name": "relationshipName", + "description": "The name of the relationship.", + "in": "query", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/RelationshipCollection" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/digitaltwins/{id}/incomingrelationships": { + "get": { + "tags": [ + "Twins" + ], + "operationId": "DigitalTwins_ListIncomingRelationships", + "description": "Retrieves all incoming relationship for a digital twin.\nStatus codes:\n200 (OK): Success.\n400 (Bad Request): The request is invalid.\n404 (Not Found): There is no digital twin with the provided id.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetIncomingRelationship": { + "$ref": "./examples/GetIncomingRelationship.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/IncomingRelationshipCollection" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/digitaltwins/{id}/telemetry": { + "post": { + "tags": [ + "Twins" + ], + "operationId": "DigitalTwins_SendTelemetry", + "description": "Sends telemetry on behalf of a digital twin.\nStatus codes:\n200 (OK): Success.\n400 (Bad Request): The request is invalid.\n404 (Not Found): There is no digital twin with the provided id.", + "x-ms-examples": { + "SendTelemetry": { + "$ref": "./examples/SendTelemetry.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "name": "telemetry", + "in": "body", + "description": "The telemetry measurements to send from the digital twin.", + "required": true, + "schema": { + "type": "object" + } + }, + { + "name": "dt-id", + "in": "header", + "description": "A unique message identifier (in the scope of the digital twin id) that is commonly used for de-duplicating messages.", + "required": true, + "type": "string" + }, + { + "name": "dt-timestamp", + "in": "header", + "description": "An RFC 3339 timestamp that identifies the time the telemetry was measured.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/digitaltwins/{id}/components/{componentPath}/telemetry": { + "post": { + "tags": [ + "Twins" + ], + "operationId": "DigitalTwins_SendComponentTelemetry", + "description": "Sends telemetry on behalf of a component in a digital twin.\nStatus codes:\n200 (OK): Success.\n400 (Bad Request): The request is invalid.\n404 (Not Found): There is either no digital twin with the provided id or the component path is invalid.", + "x-ms-examples": { + "SendTelemetry": { + "$ref": "./examples/SendTelemetryFromComponent.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "$ref": "#/parameters/componentPath" + }, + { + "name": "telemetry", + "in": "body", + "description": "The telemetry measurements to send from the digital twin's component.", + "required": true, + "schema": { + "type": "object" + } + }, + { + "name": "dt-id", + "in": "header", + "description": "A unique message identifier (in the scope of the digital twin id) that is commonly used for de-duplicating messages.", + "required": true, + "type": "string" + }, + { + "name": "dt-timestamp", + "in": "header", + "description": "An RFC 3339 timestamp that identifies the time the telemetry was measured.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/digitaltwins/{id}/components/{componentPath}": { + "get": { + "tags": [ + "Twins" + ], + "operationId": "DigitalTwins_GetComponent", + "description": "Retrieves a component from a digital twin.\nStatus codes:\n200 (OK): Success.\n404 (Not Found): There is either no digital twin with the provided id or the component path is invalid.", + "x-ms-examples": { + "GetComponent": { + "$ref": "./examples/GetComponent.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "$ref": "#/parameters/componentPath" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "type": "object" + }, + "headers": { + "ETag": { + "description": "Weak Etag.", + "type": "string" + } + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Twins" + ], + "operationId": "DigitalTwins_UpdateComponent", + "description": "Updates a component on a digital twin.\nStatus codes:\n200 (OK): Success.\n400 (Bad Request): The request is invalid.\n404 (Not Found): There is either no digital twin with the provided id or the component path is invalid.", + "x-ms-examples": { + "PatchComponentBasicExample": { + "$ref": "./examples/PatchComponentBasicExample.json" + }, + "PatchComponentAdvancedExample": { + "$ref": "./examples/PatchComponentAdvancedExample.json" + } + }, + "consumes": [ + "application/json-patch+json" + ], + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "$ref": "#/parameters/componentPath" + }, + { + "name": "patchDocument", + "description": "An update specification described by JSON Patch. Updates to property values and $model elements may happen in the same request. Operations are limited to add, replace and remove.", + "in": "body", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "object" + } + } + }, + { + "$ref": "#/parameters/if-match" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "204": { + "description": "Success", + "headers": { + "ETag": { + "description": "Weak Etag.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Success" + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/eventroutes": { + "get": { + "tags": [ + "EventRoutes" + ], + "description": "Retrieves all event routes.\nStatus codes:\n200 (OK): Success.\n400 (Bad Request): The request is invalid.", + "operationId": "EventRoutes_List", + "x-ms-examples": { + "EventRoutesList": { + "$ref": "./examples/EventRoutesList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/max-item-count" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/EventRouteCollection" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/eventroutes/{id}": { + "get": { + "tags": [ + "EventRoutes" + ], + "description": "Retrieves an event route.\nStatus codes:\n200 (OK): Success.\n404 (Not Found): There is no event route with the provided id.", + "operationId": "EventRoutes_GetById", + "x-ms-examples": { + "EventRouteGet": { + "$ref": "./examples/EventRouteGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/eventRouteId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/EventRoute" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "EventRoutes" + ], + "description": "Adds or replaces an event route.\nStatus codes:\n200 (OK): Success.\n400 (Bad Request): The request is invalid.", + "operationId": "EventRoutes_Add", + "x-ms-examples": { + "EventRoutePut": { + "$ref": "./examples/EventRoutePut.json" + }, + "EventRouteWithFilter": { + "$ref": "./examples/EventRoutePutWithFilter.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/eventRouteId" + }, + { + "name": "eventRoute", + "description": "The event route data", + "in": "body", + "schema": { + "$ref": "#/definitions/EventRoute" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "EventRoutes" + ], + "description": "Deletes an event route.\nStatus codes:\n200 (OK): Success.\n404 (Not Found): There is no event route with the provided id.", + "operationId": "EventRoutes_Delete", + "x-ms-examples": { + "EventRouteDelete": { + "$ref": "./examples/EventRouteDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/eventRouteId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "EventRoute": { + "description": "A route which directs notification and telemetry events to an endpoint. Endpoints are a destination outside of Azure Digital Twins such as an EventHub.", + "type": "object", + "required": [ + "endpointName" + ], + "properties": { + "id": { + "description": "The id of the event route.", + "type": "string", + "readOnly": true + }, + "endpointName": { + "description": "The name of the endpoint this event route is bound to.", + "type": "string" + }, + "filter": { + "description": "An expression which describes the events which are routed to the endpoint.", + "type": "string" + } + } + }, + "EventRouteCollection": { + "description": "A collection of EventRoute objects.", + "type": "object", + "properties": { + "value": { + "description": "The EventRoute objects.", + "type": "array", + "items": { + "$ref": "#/definitions/EventRoute" + } + }, + "nextLink": { + "description": "A URI to retrieve the next page of results.", + "type": "string" + } + } + }, + "NonPagedModelDataCollection": { + "description": "A collection of ModelData objects.", + "type": "array", + "items": { + "$ref": "#/definitions/ModelData" + } + }, + "PagedModelDataCollection": { + "description": "A collection of ModelData objects.", + "type": "object", + "properties": { + "value": { + "description": "The ModelData objects.", + "type": "array", + "items": { + "$ref": "#/definitions/ModelData" + } + }, + "nextLink": { + "description": "A URI to retrieve the next page of objects.", + "type": "string" + } + } + }, + "ModelData": { + "description": "A model definition and metadata for that model.", + "required": [ + "id" + ], + "type": "object", + "properties": { + "displayName": { + "description": "A language map that contains the localized display names as specified in the model definition.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "description": { + "description": "A language map that contains the localized descriptions as specified in the model definition.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "id": { + "description": "The id of the model as specified in the model definition.", + "type": "string" + }, + "uploadTime": { + "description": "The time the model was uploaded to the service.", + "format": "date-time", + "type": "string" + }, + "decommissioned": { + "description": "Indicates if the model is decommissioned. Decommissioned models cannot be referenced by newly created digital twins.", + "type": "boolean", + "default": false + }, + "model": { + "description": "The model definition.", + "type": "object" + } + } + }, + "RelationshipCollection": { + "description": "A collection of relationships which relate digital twins together.", + "type": "object", + "properties": { + "value": { + "description": "The relationship objects.", + "type": "array", + "items": { + "description": "The relationship JSON document.", + "type": "object" + } + }, + "nextLink": { + "description": "A URI to retrieve the next page of objects.", + "type": "string" + } + } + }, + "IncomingRelationshipCollection": { + "description": "A collection of incoming relationships which relate digital twins together.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IncomingRelationship" + } + }, + "nextLink": { + "type": "string", + "description": "A URI to retrieve the next page of objects." + } + } + }, + "IncomingRelationship": { + "type": "object", + "description": "An incoming relationship.", + "properties": { + "$relationshipId": { + "type": "string", + "description": "A user-provided string representing the id of this relationship, unique in the context of the source digital twin, i.e. sourceId + relationshipId is unique in the context of the service." + }, + "$sourceId": { + "type": "string", + "description": "The id of the source digital twin." + }, + "$relationshipName": { + "type": "string", + "description": "The name of the relationship." + }, + "$relationshipLink": { + "type": "string", + "description": "Link to the relationship, to be used for deletion." + } + } + }, + "QuerySpecification": { + "description": "A query specification containing either a query statement or a continuation token from a previous query result.", + "type": "object", + "properties": { + "query": { + "description": "The query to execute. This value is ignored if a continuation token is provided.", + "type": "string" + }, + "continuationToken": { + "description": "A token which is used to retrieve the next set of results from a previous query.", + "type": "string" + } + } + }, + "QueryResult": { + "description": "The results of a query operation and an optional continuation token.", + "type": "object", + "properties": { + "items": { + "description": "The query results.", + "type": "array", + "items": { + "type": "object" + } + }, + "continuationToken": { + "description": "A token which can be used to construct a new QuerySpecification to retrieve the next set of results.", + "type": "string" + } + } + }, + "ErrorResponse": { + "description": "Error response.", + "properties": { + "error": { + "$ref": "#/definitions/Error", + "description": "The error details." + } + } + }, + "Error": { + "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": "A human-readable representation of the error.", + "type": "string", + "readOnly": true + }, + "details": { + "description": "Internal error details.", + "type": "array", + "items": { + "$ref": "#/definitions/Error" + }, + "readOnly": true + }, + "innererror": { + "description": "An object containing more specific information than the current object about the error.", + "$ref": "#/definitions/InnerError" + } + } + }, + "InnerError": { + "description": "A more specific error description than was provided by the containing error.", + "properties": { + "code": { + "description": "A more specific error code than was provided by the containing error.", + "type": "string" + }, + "innererror": { + "description": "An object containing more specific information than the current object about the error.", + "$ref": "#/definitions/InnerError" + } + } + } + }, + "securityDefinitions": { + "oauth2": { + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize?resource=0b07f429-9f4b-4714-9392-cc5e8e80c8b0", + "type": "oauth2" + } + }, + "parameters": { + "eventRouteId": { + "name": "id", + "in": "path", + "required": true, + "type": "string", + "description": "The id for an event route. The id is unique within event routes and case sensitive.", + "x-ms-parameter-location": "method" + }, + "includeModelDefinition": { + "name": "includeModelDefinition", + "description": "When true the model definition will be returned as part of the result.", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "x-ms-parameter-location": "method" + }, + "digitalTwinId": { + "name": "id", + "in": "path", + "description": "The id of the digital twin. The id is unique within the service and case sensitive.", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "modelId": { + "name": "id", + "in": "path", + "description": "The id for the model. The id is globally unique and case sensitive.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "relationshipId": { + "name": "relationshipId", + "description": "The id of the relationship. The id is unique within the digital twin and case sensitive.", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "componentPath": { + "name": "componentPath", + "in": "path", + "description": "The name of the DTDL component.", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "api-version": { + "name": "api-version", + "in": "query", + "description": "The requested API version.", + "required": true, + "type": "string", + "enum": [ + "2020-05-31-preview" + ] + }, + "max-item-count": { + "name": "x-ms-max-item-count", + "in": "header", + "description": "The maximum number of items to retrieve per request. The server may choose to return less than the requested max.", + "required": false, + "type": "integer", + "default": -1, + "x-ms-client-name": "MaxItemCount", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + "if-none-match-star": { + "name": "If-None-Match", + "in": "header", + "description": "Only perform the operation if the entity does not already exist.", + "required": false, + "type": "string", + "enum": [ + "*" + ], + "x-ms-parameter-location": "method" + }, + "if-match": { + "name": "If-Match", + "in": "header", + "description": "Only perform the operation if the entity's etag matches one of the etags provided or * is provided.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "security": [ + { + "oauth2": [] + } + ] +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/CreateRelationshipAdvancedExample.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/CreateRelationshipAdvancedExample.json new file mode 100644 index 000000000000..1f6ec28e906c --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/CreateRelationshipAdvancedExample.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-05-31-preview", + "id": "mySourceTwin", + "relationshipId": "myRelationshipId", + "relationship": { + "$targetId": "myTargetTwin", + "$relationshipName": "myRelationship", + "relationshipProperty1": 1, + "relationshipProperty2": "some value" + } + }, + "responses": { + "200": { + "body": { + "$relationshipId": "myRelationshipId", + "$sourceId": "mySourceTwin", + "$targetId": "myTargetTwin", + "$relationshipName": "myRelationship", + "relationshipProperty1": 1, + "relationshipProperty2": "some value" + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/CreateRelationshipBasicExample.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/CreateRelationshipBasicExample.json new file mode 100644 index 000000000000..5ab5127bfb36 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/CreateRelationshipBasicExample.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2020-05-31-preview", + "id": "mySourceTwin", + "relationshipId": "myRelationshipId", + "relationship": { + "$targetId": "myTargetTwin", + "$relationshipName": "myRelationship" + } + }, + "responses": { + "200": { + "body": { + "$relationshipId": "myRelationshipId", + "$sourceId": "mySourceTwin", + "$targetId": "myTargetTwin", + "$relationshipName": "myRelationship" + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/DeleteModel.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/DeleteModel.json new file mode 100644 index 000000000000..4a0428b03fb4 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/DeleteModel.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "api-version": "2020-05-31-preview", + "id": "dtmi:com:example:Sample;1" + }, + "responses": { + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/DeleteRelationship.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/DeleteRelationship.json new file mode 100644 index 000000000000..d9acb6cc90a8 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/DeleteRelationship.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "api-version": "2020-05-31-preview", + "id": "myTwinId", + "relationshipId": "myRelationshipId" + }, + "responses": { + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/DeleteTwin.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/DeleteTwin.json new file mode 100644 index 000000000000..bb55048e32c3 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/DeleteTwin.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "api-version": "2020-05-31-preview", + "id": "myTwinId" + }, + "responses": { + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/EventRouteDelete.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/EventRouteDelete.json new file mode 100644 index 000000000000..2ca8cfd3f824 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/EventRouteDelete.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "id": "eventroute-001", + "api-version": "2020-05-31-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/EventRouteGet.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/EventRouteGet.json new file mode 100644 index 000000000000..be0dc040a850 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/EventRouteGet.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "id": "eventroute-001", + "api-version": "2020-05-31-preview" + }, + "responses": { + "200": { + "body": { + "id": "eventroute-001", + "endpointName": "endpoint-001", + "filter": "type = 'Microsoft.DigitalTwins.Twin.Create'" + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/EventRoutePut.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/EventRoutePut.json new file mode 100644 index 000000000000..b652891c1b31 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/EventRoutePut.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "id": "eventroute-001", + "eventRoute": { + "endpointName": "endpoint-001", + "filter": "true" + }, + "api-version": "2020-05-31-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/EventRoutePutWithFilter.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/EventRoutePutWithFilter.json new file mode 100644 index 000000000000..21f265e6ca92 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/EventRoutePutWithFilter.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "id": "eventroute-001", + "eventRoute": { + "endpointName": "endpoint-001", + "filter": "type = 'Microsoft.DigitalTwins.Twin.Create'" + }, + "api-version": "2020-05-31-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/EventRoutesList.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/EventRoutesList.json new file mode 100644 index 000000000000..44c31910f394 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/EventRoutesList.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2020-05-31-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "eventroute-001", + "endpointName": "endpoint-001", + "filter": "type = 'Microsoft.DigitalTwins.Twin.Create'" + }, + { + "id": "eventroute-002", + "endpointName": "endpoint-002", + "filter": "type = 'Microsoft.DigitalTwins.Twin.Create' OR type = 'microsoft.iot.telemetry'" + } + ], + "nextLink": "url-to-next-page" + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/GetComponent.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/GetComponent.json new file mode 100644 index 000000000000..655246856feb --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/GetComponent.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2020-05-31-preview", + "id": "myTwinId", + "componentPath": "myComponent" + }, + "responses": { + "200": { + "body": { + "$metadata": { + "$model": "dtmi:com:example:interfaces:interfaceName;1", + "property1": { + "desiredValue": 1, + "desiredVersion": 1, + "ackVersion": 1, + "ackCode": 200, + "ackDescription": "description", + "lastUpdateTime": "2020-05-23T21:44:02Z" + }, + "property2": { + "desiredValue": { + "subProperty1": "some value", + "subProperty2": "some other value" + }, + "desiredVersion": 1, + "ackVersion": 1, + "ackCode": 200, + "ackDescription": "description", + "lastUpdateTime": "2020-05-23T21:44:02Z" + } + }, + "property1": 1, + "property2": { + "subProperty1": "some value", + "subProperty2": "some other value" + }, + "component1": { + "$metadata": { + "$model": "dtmi:com:example:interfaces:subInterfaceName;1", + "componentProperty": { + "desiredValue": "some value", + "desiredVersion": 1, + "ackVersion": 1, + "ackCode": 200, + "ackDescription": "description", + "lastUpdateTime": "2020-05-23T21:44:02Z" + } + } + } + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/GetIncomingRelationship.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/GetIncomingRelationship.json new file mode 100644 index 000000000000..a50ceb94c675 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/GetIncomingRelationship.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-05-31-preview", + "id": "mySourceTwin" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "$sourceId": "mySourceTwin", + "$relationshipId": "firstRelationshipId", + "$relationshipName": "myRelationship", + "$relationshipLink": "/digitaltwins/mySourceTwin/relationships/myRelationship/firstRelationshipId" + }, + { + "$sourceId": "mySourceTwin", + "$relationshipId": "secondRelationshipId", + "$relationshipName": "myRelationship", + "$relationshipLink": "/digitaltwins/mySourceTwin/relationships/myRelationship/secondRelationshipId" + } + ], + "nextLink": "url-to-next-page" + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/GetRelationship.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/GetRelationship.json new file mode 100644 index 000000000000..259950edf17d --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/GetRelationship.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-05-31-preview", + "id": "mySourceTwin" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "$sourceId": "mySourceTwin", + "$relationshipId": "firstRelationshipId", + "$targetId": "targetTwinId", + "$relationshipName": "myRelationship", + "property": "value" + }, + { + "$sourceId": "mySourceTwin", + "$relationshipId": "secondRelationshipId", + "$targetId": "targetTwinId", + "$relationshipName": "myRelationship", + "property": "value" + } + ], + "nextLink": "url-to-next-page" + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/GetRelationshipById.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/GetRelationshipById.json new file mode 100644 index 000000000000..28a5a08c9784 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/GetRelationshipById.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-05-31-preview", + "id": "mySourceTwin", + "relationshipId": "myRelationshipId" + }, + "responses": { + "200": { + "body": { + "$relationshipId": "myRelationshipId", + "$sourceId": "mySourceTwin", + "$targetId": "myTargetTwin", + "$relationshipName": "myRelationship", + "relationshipProperty": "some value" + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/GetRelationshipByRelationshipName.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/GetRelationshipByRelationshipName.json new file mode 100644 index 000000000000..591dc7ae4b71 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/GetRelationshipByRelationshipName.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-05-31-preview", + "id": "mySourceTwin", + "relationshipName": "myRelationship" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "$sourceId": "mySourceTwin", + "$relationshipId": "firstRelationshipId", + "$targetId": "targetTwinId", + "$relationshipName": "myRelationship", + "property": "value" + }, + { + "$sourceId": "mySourceTwin", + "$relationshipId": "secondRelationshipId", + "$targetId": "targetTwinId", + "$relationshipName": "myRelationship", + "property": "value" + } + ], + "nextLink": "url-to-next-page" + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/GetTwin.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/GetTwin.json new file mode 100644 index 000000000000..7dce0f94a6e8 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/GetTwin.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2020-05-31-preview", + "id": "myTwinId" + }, + "responses": { + "200": { + "body": { + "$dtId": "myTwinId", + "$metadata": { + "$model": "dtmi:com:example:interfaces:interfaceName;1", + "property1": { + "desiredValue": 1, + "desiredVersion": 1, + "ackVersion": 1, + "ackCode": 200, + "ackDescription": "description", + "lastUpdateTime": "2020-05-23T21:44:02Z" + }, + "property2": { + "desiredValue": { + "subProperty1": "some value", + "subProperty2": "some other value" + }, + "desiredVersion": 1, + "ackVersion": 1, + "ackCode": 200, + "ackDescription": "description", + "lastUpdateTime": "2020-05-23T21:44:02Z" + } + }, + "property1": 1, + "property2": { + "subProperty1": "some value", + "subProperty2": "some other value" + }, + "component1": { + "$metadata": { + "$model": "dtmi:com:example:interfaces:subInterfaceName;1", + "componentProperty": { + "desiredValue": "some value", + "desiredVersion": 1, + "ackVersion": 1, + "ackCode": 200, + "ackDescription": "description", + "lastUpdateTime": "2020-05-23T21:44:02Z" + } + } + } + } + } + } +} 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 new file mode 100644 index 000000000000..b376ddb14860 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelAdd.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "models": [ + { + "@id": "dtmi:com:example:Sample;1", + "@type": "Interface", + "displayName": "Sample Interface", + "contents": [ + { + "@type": "Property", + "name": "name", + "displayName": "Sample instance name", + "schema": "string" + }, + { + "@type": "Property", + "name": "temp", + "displayName": "Sample instance temperature", + "schema": "integer" + }, + { + "@type": "Property", + "name": "comfortIndex", + "displayName": "Sample instance comfort index", + "schema": "integer" + } + ], + "@context": "dtmi:dtdl:context;2" + } + ], + "api-version": "2020-05-31-preview" + }, + "responses": { + "200": { + "body": [ + { + "id": "dtmi:com:example:Sample;1", + "displayName": { + "en": "Sample Interface" + }, + "uploadTime": "2020-03-01T17:32:28Z", + "decommissioned": false + } + ] + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelGetById.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelGetById.json new file mode 100644 index 000000000000..6de5d0f71a6e --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelGetById.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "id": "dtmi:com:example:Sample;1", + "api-version": "2020-05-31-preview" + }, + "responses": { + "200": { + "body": { + "id": "dtmi:com:example:Sample;1", + "uploadTime": "2020-03-01T17:32:28Z", + "decommissioned": false + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelGetByIdWithIncludeModelDefinition.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelGetByIdWithIncludeModelDefinition.json new file mode 100644 index 000000000000..da0330cc5288 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelGetByIdWithIncludeModelDefinition.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "id": "dtmi:com:example:Sample;1", + "includeModelDefinition": true, + "api-version": "2020-05-31-preview" + }, + "responses": { + "200": { + "body": { + "id": "dtmi:com:example:Sample;1", + "uploadTime": "2020-03-01T17:32:28Z", + "decommissioned": false, + "model": { + "@id": "dtmi:com:example:Sample;1", + "@type": "Interface", + "contents": [ + { + "@type": "Property", + "name": "name", + "displayName": "Sample instance name", + "schema": "string" + }, + { + "@type": "Property", + "name": "temp", + "displayName": "Sample instance temperature", + "schema": "integer" + }, + { + "@type": "Property", + "name": "comfortIndex", + "displayName": "Sample instance comfort index", + "schema": "integer" + } + ], + "@context": "dtmi:dtdl:context;2" + } + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelUpdateDecommissioned.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelUpdateDecommissioned.json new file mode 100644 index 000000000000..513e272d1f54 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelUpdateDecommissioned.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "id": "dtmi:com:example:Sample;1", + "updateModel": [ + { + "op": "replace", + "path": "/decommissioned", + "value": true + } + ], + "api-version": "2020-05-31-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelsGet.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelsGet.json new file mode 100644 index 000000000000..e4fd22da2eec --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelsGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2020-05-31-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "dtmi:com:example:Sample;1", + "uploadTime": "2020-03-01T17:32:28Z", + "decommissioned": false + }, + { + "id": "dtmi:com:example:SampleDeviceModel;1", + "displayName": { + "en": "My Device Model" + }, + "uploadTime": "2020-05-01T17:32:28Z", + "decommissioned": false + }, + { + "id": "dtmi:com:example:AnotherSample;1", + "displayName": { + "en": "My Sample" + }, + "uploadTime": "2020-03-01T17:32:28Z", + "decommissioned": false + } + ], + "nextLink": "url-to-next-page" + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelsGetWithDependenciesAndIncludeModelDefinition.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelsGetWithDependenciesAndIncludeModelDefinition.json new file mode 100644 index 000000000000..72f41ae288cd --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelsGetWithDependenciesAndIncludeModelDefinition.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "includeModelDefinition": true, + "dependenciesFor": [ + "dtmi:com:example:SampleDeviceModel;1" + ], + "x-ms-max-item-count": 20, + "api-version": "2020-05-31-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "dtmi:com:example:Sample;1", + "uploadTime": "2020-03-01T17:32:28Z", + "decommissioned": false, + "model": { + "@id": "dtmi:com:example:Sample;1", + "@type": "Interface", + "contents": [ + { + "@type": "Property", + "name": "name", + "displayName": "Sample instance name", + "schema": "string" + }, + { + "@type": "Property", + "name": "temp", + "displayName": "Sample instance temperature", + "schema": "integer" + }, + { + "@type": "Property", + "name": "comfortIndex", + "displayName": "Sample instance comfort index", + "schema": "integer" + } + ], + "@context": "dtmi:dtdl:context;2" + } + }, + { + "id": "dtmi:com:example:SampleDeviceModel;1", + "displayName": { + "en": "My Device Model" + }, + "uploadTime": "2020-03-01T17:32:28Z", + "decommissioned": false, + "model": { + "@id": "dtmi:com:example:SampleDeviceModel;1", + "@type": "Interface", + "displayName": "My Device Model", + "contents": [ + { + "@type": "Component", + "name": "Sample", + "schema": "dtmi:com:example:Sample;1" + } + ], + "@context": "dtmi:dtdl:context;2" + } + } + ], + "nextLink": "url-to-next-page" + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PatchComponentAdvancedExample.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PatchComponentAdvancedExample.json new file mode 100644 index 000000000000..195387a5d378 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PatchComponentAdvancedExample.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-05-31-preview", + "id": "myTwinId", + "componentPath": "myComponent", + "patchDocument": [ + { + "op": "add", + "path": "/property1", + "value": 1 + }, + { + "op": "remove", + "path": "/property2" + }, + { + "op": "replace", + "path": "/property3/subProperty1", + "value": "new value" + } + ] + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PatchComponentBasicExample.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PatchComponentBasicExample.json new file mode 100644 index 000000000000..c2a0624b8c35 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PatchComponentBasicExample.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-05-31-preview", + "id": "myTwinId", + "componentPath": "myComponent", + "patchDocument": [ + { + "op": "add", + "path": "/property", + "value": 1 + } + ] + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PatchRelationshipAdvancedExample.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PatchRelationshipAdvancedExample.json new file mode 100644 index 000000000000..59e611092081 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PatchRelationshipAdvancedExample.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-05-31-preview", + "id": "myTwinId", + "relationshipId": "myRelationshipId", + "patchDocument": [ + { + "op": "add", + "path": "/property1", + "value": 1 + }, + { + "op": "remove", + "path": "/property2" + }, + { + "op": "replace", + "path": "/property3/subProperty1", + "value": "new value" + } + ] + }, + "responses": { + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PatchRelationshipBasicExample.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PatchRelationshipBasicExample.json new file mode 100644 index 000000000000..f5294ae496de --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PatchRelationshipBasicExample.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-05-31-preview", + "id": "myTwinId", + "relationshipId": "myRelationshipId", + "patchDocument": [ + { + "op": "add", + "path": "/property", + "value": 1 + } + ] + }, + "responses": { + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PatchTwinAdvancedExample.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PatchTwinAdvancedExample.json new file mode 100644 index 000000000000..3a33baa321bb --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PatchTwinAdvancedExample.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-05-31-preview", + "id": "myNewTwinId", + "patchDocument": [ + { + "op": "replace", + "path": "/property1", + "value": 1 + }, + { + "op": "add", + "path": "/property2/subProperty1", + "value": 1 + }, + { + "op": "remove", + "path": "/property3" + } + ] + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PatchTwinBasicExample.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PatchTwinBasicExample.json new file mode 100644 index 000000000000..477251dce783 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PatchTwinBasicExample.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-05-31-preview", + "id": "myNewTwinId", + "patchDocument": [ + { + "op": "replace", + "path": "/property1", + "value": 1 + } + ] + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PutTwinAdvancedExample.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PutTwinAdvancedExample.json new file mode 100644 index 000000000000..7639f575e1dc --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PutTwinAdvancedExample.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2020-05-31-preview", + "id": "myNewTwinId", + "If-None-Match": "*", + "twin": { + "$metadata": { + "$model": "dtmi:com:example:interfaces:interfaceName;1" + }, + "property1": 1, + "property2": { + "subProperty1": "some value", + "subProperty2": "some other value" + }, + "component1": { + "$metadata": { + "$model": "dtmi:com:example:interfaces:subInterfaceName;1" + }, + "componentProperty": "some value" + } + } + }, + "responses": { + "200": { + "body": { + "$dtId": "myNewTwinId", + "$metadata": { + "$model": "dtmi:com:example:interfaces:interfaceName;1", + "property1": { + "desiredValue": 1, + "desiredVersion": 1, + "ackVersion": 1, + "ackCode": 200, + "ackDescription": "description", + "lastUpdateTime": "2020-05-23T21:44:02Z" + }, + "property2": { + "desiredValue": { + "subProperty1": "some value", + "subProperty2": "some other value" + }, + "desiredVersion": 1, + "ackVersion": 1, + "ackCode": 200, + "ackDescription": "description", + "lastUpdateTime": "2020-05-23T21:44:02Z" + } + }, + "property1": 1, + "property2": { + "subProperty1": "some value", + "subProperty2": "some other value" + }, + "component1": { + "$metadata": { + "$model": "dtmi:com:example:interfaces:subInterfaceName;1", + "componentProperty": { + "desiredValue": "some value", + "desiredVersion": 1, + "ackVersion": 1, + "ackCode": 200, + "ackDescription": "description", + "lastUpdateTime": "2020-05-23T21:44:02Z" + } + } + } + } + }, + "202": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PutTwinBasicExample.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PutTwinBasicExample.json new file mode 100644 index 000000000000..b1ee99c8ecfc --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/PutTwinBasicExample.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-05-31-preview", + "id": "myNewTwinId", + "twin": { + "$metadata": { + "$model": "dtmi:com:example:interfaces:interfaceName;1" + } + } + }, + "responses": { + "200": { + "body": { + "$dtId": "myNewTwinId", + "$metadata": { + "$model": "dtmi:com:example:interfaces:interfaceName;1" + } + } + }, + "202": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/QueryFirstPage.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/QueryFirstPage.json new file mode 100644 index 000000000000..fe1106c5608b --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/QueryFirstPage.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "querySpecification": { + "query": "SELECT * FROM DIGITALTWINS WHERE temp = 79" + }, + "api-version": "2020-05-31-preview" + }, + "responses": { + "200": { + "body": { + "items": [ + { + "$dtId": "Twin-01", + "$metadata": { + "$model": "dtmi:com:example:Sample;1" + }, + "name": "Sample01", + "temp": 79, + "comfortIndex": 50 + }, + { + "$dtId": "Twin-02", + "$metadata": { + "$model": "dtmi:com:example:Sample;1" + }, + "name": "Sample02", + "temp": 79, + "comfortIndex": 50 + }, + { + "$dtId": "Twin-03", + "$metadata": { + "$model": "dtmi:com:example:Sample;1" + }, + "name": "Sample03", + "temp": 79, + "comfortIndex": 50 + } + ], + "continuationToken": "" + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/QueryJoin.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/QueryJoin.json new file mode 100644 index 000000000000..d40910417c06 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/QueryJoin.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "querySpecification": { + "query": "SELECT Widget, Gadget FROM DIGITALTWINS Widget JOIN Gadget RELATED Widget.Contains WHERE Widget.$dtId = 'Twin-01'" + }, + "api-version": "2020-05-31-preview" + }, + "responses": { + "200": { + "body": { + "items": [ + { + "Widget": { + "$dtId": "Twin-01", + "$metadata": { + "$model": "dtmi:com:example:Sample;1" + }, + "name": "Sample01", + "temp": 79, + "comfortIndex": 50 + }, + "Gadget": { + "$dtId": "Twin-02", + "$metadata": { + "$model": "dtmi:com:example:Sample;1" + }, + "name": "Sample02", + "temp": 79, + "comfortIndex": 50 + } + }, + { + "Widget": { + "$dtId": "Twin-01", + "$metadata": { + "$model": "dtmi:com:example:Sample;1" + }, + "name": "Sample01", + "temp": 79, + "comfortIndex": 50 + }, + "Gadget": { + "$dtId": "Twin-10", + "$metadata": { + "$model": "dtmi:com:example:Sample;1" + }, + "name": "Sample10", + "temp": 79, + "comfortIndex": 50 + } + } + ] + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/QueryNextPage.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/QueryNextPage.json new file mode 100644 index 000000000000..d7ecc8ad39c6 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/QueryNextPage.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "querySpecification": { + "continuationToken": "" + }, + "api-version": "2020-05-31-preview" + }, + "responses": { + "200": { + "body": { + "items": [ + { + "$dtId": "Twin-04", + "$metadata": { + "$model": "dtmi:com:example:Sample;1" + }, + "name": "Sample04", + "temp": 79, + "comfortIndex": 50 + }, + { + "$dtId": "Twin-05", + "$metadata": { + "$model": "dtmi:com:example:Sample;1" + }, + "name": "Sample05", + "temp": 79, + "comfortIndex": 50 + }, + { + "$dtId": "Twin-06", + "$metadata": { + "$model": "dtmi:com:example:Sample;1" + }, + "name": "Sample06", + "temp": 79, + "comfortIndex": 50 + } + ] + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/SendTelemetry.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/SendTelemetry.json new file mode 100644 index 000000000000..941a77beffa3 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/SendTelemetry.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-05-31-preview", + "id": "myTwinId", + "dt-id": "e5ca50dd-ca31-4fae-8d84-3af5a72b10c5", + "dt-timestamp": "1985-04-12T23:20:50.52Z", + "telemetry": { + "temperature": 1 + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/SendTelemetryFromComponent.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/SendTelemetryFromComponent.json new file mode 100644 index 000000000000..dfec5fa53273 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/SendTelemetryFromComponent.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2020-05-31-preview", + "id": "myTwinId", + "componentPath": "myComponent", + "dt-id": "e5ca50dd-ca31-4fae-8d84-3af5a72b10c5", + "dt-timestamp": "1985-04-12T23:20:50.52Z", + "telemetry": { + "temperature": 1 + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/vmwarevirtustream/resource-manager/readme.csharp.md b/specification/digitaltwins/data-plane/readme.csharp.md similarity index 57% rename from specification/vmwarevirtustream/resource-manager/readme.csharp.md rename to specification/digitaltwins/data-plane/readme.csharp.md index da240a6e154c..709f03e21efe 100644 --- a/specification/vmwarevirtustream/resource-manager/readme.csharp.md +++ b/specification/digitaltwins/data-plane/readme.csharp.md @@ -1,15 +1,15 @@ -## C# +## 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 + payload-flattening-threshold: 1 clear-output-folder: true - namespace: Microsoft.Azure.Management.VMwareVirtustream - output-folder: $(csharp-sdks-folder)/VMwareVirtustream/Management.VMwareVirtustream/Generated -``` \ No newline at end of file + client-side-validation: false + namespace: Azure.DigitalTwins.Core + output-folder: $(csharp-sdks-folder)/digitaltwins/Generated +``` diff --git a/specification/digitaltwins/data-plane/readme.go.md b/specification/digitaltwins/data-plane/readme.go.md new file mode 100644 index 000000000000..a14e87ce02a3 --- /dev/null +++ b/specification/digitaltwins/data-plane/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 + namespace: digitaltwins + clear-output-folder: true +``` + +### Tag: package-2020-05-31-preview and go + +These settings apply only when `--tag=package-2020-05-31-preview --go` is specified on the command line. +Please also specify `--go-sdks-folder=`. + +```yaml $(tag) == 'package-2020-05-31-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/2020-05-31/$(namespace) +``` diff --git a/specification/digitaltwins/data-plane/readme.md b/specification/digitaltwins/data-plane/readme.md new file mode 100644 index 000000000000..f39f368708dd --- /dev/null +++ b/specification/digitaltwins/data-plane/readme.md @@ -0,0 +1,79 @@ +# Azure Digital Twins + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for Azure Digital Twins. + +## 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 Azure Digital Twins. + +```yaml +openapi-type: data-plane +tag: package-2020-05-31-preview +``` + +### Tag: package-2020-05-31-preview + +These settings apply only when `--tag=package-2020-05-31-preview` is specified on the command line. + +```yaml $(tag) == 'package-2020-05-31-preview' +input-file: + - Microsoft.DigitalTwins/preview/2020-05-31-preview/digitaltwins.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['digitaltwins'] +``` + +## 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/digitaltwins/data-plane/readme.python.md b/specification/digitaltwins/data-plane/readme.python.md new file mode 100644 index 000000000000..bd4257d4dc87 --- /dev/null +++ b/specification/digitaltwins/data-plane/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: Azure.DigitalTwins.Core + package-name: digitaltwins + package-version: 2020-05-31-preview + clear-output-folder: true +``` + +```yaml $(python) +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/digitaltwins +``` diff --git a/specification/digitaltwins/data-plane/readme.ruby.md b/specification/digitaltwins/data-plane/readme.ruby.md new file mode 100644 index 000000000000..bb2999f471ac --- /dev/null +++ b/specification/digitaltwins/data-plane/readme.ruby.md @@ -0,0 +1,19 @@ +## Ruby + +These settings apply only when `--ruby` is specified on the command line. + +```yaml +package-name: digitaltwins +package-version: 2020-05-31-preview +azure-arm: true +``` + +### Tag: package-2020-05-31-preview and ruby + +These settings apply only when `--tag=package-2020-05-31-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2020-05-31-preview' && $(ruby) +namespace: Azure.DigitalTwins.Core +output-folder: $(ruby-sdks-folder)/digitaltwins +``` diff --git a/specification/digitaltwins/data-plane/readme.typescript.md b/specification/digitaltwins/data-plane/readme.typescript.md new file mode 100644 index 000000000000..3154decaf68e --- /dev/null +++ b/specification/digitaltwins/data-plane/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: "digitaltwins" + output-folder: "$(typescript-sdks-folder)/packages/digitaltwins" + payload-flattening-threshold: 1 + generate-metadata: true +``` diff --git a/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/digitaltwins.json b/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/digitaltwins.json index 5eafc2b86ad4..ad2e784412c5 100644 --- a/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/digitaltwins.json +++ b/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/digitaltwins.json @@ -512,171 +512,6 @@ } } }, - "/{scope}/providers/Microsoft.DigitalTwins/integrationResources/{integrationResourceName}": { - "get": { - "tags": [ - "IoTHub Integration" - ], - "description": "Gets properties of an IoTHub Integration.", - "operationId": "IoTHub_Get", - "x-ms-examples": { - "Get IoTHub by DigitalTwinsInstance": { - "$ref": "./examples/DigitalTwinsIoTHubGet_example.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/scope" - }, - { - "$ref": "#/parameters/integrationResourceName" - } - ], - "responses": { - "200": { - "description": "This is a synchronous operation. The body contains metadata about IoTHub and DigitalTwinsInstance Integration.", - "schema": { - "$ref": "#/definitions/IntegrationResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "IoTHub Integration" - ], - "description": "Creates or Updates an IoTHub Integration with DigitalTwinsInstances.", - "operationId": "IoTHub_CreateOrUpdate", - "x-ms-examples": { - "Connect IoTHub with DigitalTwinsInstance": { - "$ref": "./examples/DigitalTwinsIoTHubPut_example.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/scope" - }, - { - "$ref": "#/parameters/integrationResourceName" - }, - { - "name": "iotHubDescription", - "in": "body", - "description": "The IoTHub metadata.", - "required": true, - "schema": { - "$ref": "#/definitions/IntegrationResource" - } - } - ], - "responses": { - "201": { - "description": "This is an asynchronous operation. The body contains metadata about IoTHub and DigitalTwinsInstance Integration.", - "schema": { - "$ref": "#/definitions/IntegrationResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "IoTHub Integration" - ], - "description": "Deletes a DigitalTwinsInstance link with IoTHub.", - "operationId": "IoTHub_Delete", - "x-ms-examples": { - "Connect IoTHub with DigitalTwinsInstance": { - "$ref": "./examples/DigitalTwinsIoTHubDelete_example.json" - } - }, - "x-ms-long-running-operation": true, - "parameters": [ - { - "$ref": "#/parameters/scope" - }, - { - "$ref": "#/parameters/integrationResourceName" - } - ], - "responses": { - "200": { - "description": "OK. DigitalTwinsInstance IoTHub link has been Deleted." - }, - "202": { - "description": "Accepted. Response includes a Location header which points to the DigitalTwins and IoTHub Integration resource.", - "schema": { - "$ref": "#/definitions/IntegrationResource" - } - }, - "204": { - "description": "NoContent. DigitalTwinsInstance IoTHub link does not exist." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DigitalTwins/digitalTwinsInstances/{resourceName}/integrationResources": { - "get": { - "tags": [ - "IoTHub Integration" - ], - "description": "Get DigitalTwinsInstance IoTHubs.", - "operationId": "DigitalTwinsIoTHubs_List", - "x-ms-examples": { - "Get a DigitalTwinsInstance IoTHubs": { - "$ref": "./examples/DigitalTwinsIoTHubsGet_example.json" - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "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 DigitalTwinsInstance. Security-related properties are set to null.", - "schema": { - "$ref": "#/definitions/DigitalTwinsIntegrationResourceListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, "/providers/Microsoft.DigitalTwins/operations": { "get": { "tags": [ @@ -1080,90 +915,6 @@ } } }, - "IntegrationResourceUpdateProperties": { - "description": "Updatable properties related to the IoTHub DigitalTwinsInstance Integration Resource.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/IntegrationResourceState" - } - ] - }, - "IntegrationResourceProperties": { - "description": "Properties related to the IoTHub DigitalTwinsInstance Integration Resource.", - "type": "object", - "properties": { - "resourceId": { - "description": "Fully qualified resource identifier of the DigitalTwins Azure resource.", - "type": "string" - }, - "createdTime": { - "description": "Time when the IoTHub was added to DigitalTwinsInstance.", - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "allOf": [ - { - "$ref": "#/definitions/IntegrationResourceState" - } - ] - }, - "IntegrationResource": { - "description": "IoTHub integration resource.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ExternalResource" - } - ], - "properties": { - "properties": { - "description": "IoTHub integration resource properties.", - "x-ms-client-flatten": true, - "$ref": "#/definitions/IntegrationResourceProperties" - } - } - }, - "IntegrationResourceUpdateInfo": { - "description": "IoTHub integration resource.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ExternalResource" - } - ], - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "IoTHub integration resource properties to be updated.", - "$ref": "#/definitions/IntegrationResourceUpdateProperties" - } - } - }, - "IntegrationResourceState": { - "description": "Properties related to the IoTHub DigitalTwinsInstance Integration Resource.", - "type": "object", - "properties": { - "provisioningState": { - "description": "DigitalTwinsInstance - IoTHub link state.", - "enum": [ - "Provisioning", - "Deleting", - "Succeeded", - "Failed", - "Canceled" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "IntegrationResourceState", - "modelAsString": true - } - } - } - }, "DigitalTwinsEndpointResource": { "description": "DigitalTwinsInstance endpoint resource.", "x-ms-azure-resource": true, @@ -1328,23 +1079,6 @@ } } } - }, - "DigitalTwinsIntegrationResourceListResult": { - "description": "A list of DigitalTwinsInstance IoTHubs with a next link.", - "type": "object", - "properties": { - "nextLink": { - "description": "The link used to get the next page of DigitalTwinsInstance IoTHubs.", - "type": "string" - }, - "value": { - "description": "A list of DigitalTwinsInstance IoTHubs.", - "type": "array", - "items": { - "$ref": "#/definitions/IntegrationResource" - } - } - } } }, "parameters": { @@ -1353,8 +1087,7 @@ "in": "path", "description": "The subscription identifier.", "required": true, - "type": "string", - "format": "uuid" + "type": "string" }, "api-version": { "name": "api-version", @@ -1396,44 +1129,6 @@ "type": "string", "minLength": 3 }, - "integrationResourceName": { - "name": "integrationResourceName", - "in": "path", - "description": "Name of IoTHub and DigitalTwinsInstance integration instance.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method", - "minLength": 1, - "maxLength": 64 - }, - "integrationResourceInfo": { - "name": "integrationResourceInfo", - "in": "body", - "description": "The DigitalTwinsInstance and security metadata.", - "x-ms-parameter-location": "method", - "required": true, - "schema": { - "$ref": "#/definitions/IntegrationResource" - } - }, - "integrationResourceUpdateInfo": { - "name": "integrationResourceUpdateInfo", - "in": "body", - "description": "The Integration Resource and security metadata.", - "x-ms-parameter-location": "method", - "required": true, - "schema": { - "$ref": "#/definitions/IntegrationResourceUpdateInfo" - } - }, - "scope": { - "name": "scope", - "in": "path", - "description": "The scope of the Digital Twins Integration. The scope has to be an IoTHub resource. For example, /{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IoTHubs/{resourceName}.", - "x-ms-parameter-location": "method", - "required": true, - "type": "string" - }, "endpointName": { "name": "endpointName", "in": "path", diff --git a/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsIoTHubDelete_example.json b/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsIoTHubDelete_example.json deleted file mode 100644 index acab4629b39f..000000000000 --- a/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsIoTHubDelete_example.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "parameters": { - "scope": "subscriptions/50016170-c839-41ba-a724-51e9df440b9e/resourcegroups/resRg/providers/Microsoft.Devices/IoTHubs/myIoTHub", - "integrationResourceName": "myIoTHubLink", - "api-version": "2020-03-01-preview" - }, - "responses": { - "200": {}, - "202": { - "body": { - "id": "/subscriptions/50016170-c839-41ba-a724-51e9df440b9e/resourcegroups/resRg/providers/Microsoft.Devices/IoTHubs/myIoTHub/provider/Microsoft.DigitalTwins/integrationResources/myIoTHubLink", - "type": "Microsoft.DigitalTwins/integrationResources", - "name": "myIoTHubLink", - "properties": { - "provisioningState": "Deleting", - "resourceId": "/subscriptions/50016170-c839-41ba-a724-51e9df440b9e/resourcegroups/resRg/providers/Microsoft.DigitalTwins/digitalTwins/myAdt", - "createdTime": "2019-11-19T12:57:15.452Z" - } - } - }, - "204": {} - } -} diff --git a/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsIoTHubGet_example.json b/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsIoTHubGet_example.json deleted file mode 100644 index 03699f96fb84..000000000000 --- a/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsIoTHubGet_example.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "parameters": { - "scope": "subscriptions/50016170-c839-41ba-a724-51e9df440b9e/resourcegroups/resRg/providers/Microsoft.Devices/IoTHubs/myIoTHub", - "integrationResourceName": "myIoTHubLink", - "api-version": "2020-03-01-preview" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/50016170-c839-41ba-a724-51e9df440b9e/resourcegroups/resRg/providers/Microsoft.Devices/IoTHubs/myIoTHub/provider/Microsoft.DigitalTwins/integrationResources/myIoTHubLink", - "type": "Microsoft.DigitalTwins/integrationResources", - "name": "myIoTHubLink", - "properties": { - "provisioningState": "Provisioned", - "resourceId": "/subscriptions/50016170-c839-41ba-a724-51e9df440b9e/resourcegroups/resRg/providers/Microsoft.DigitalTwins/digitalTwins/myAdt", - "createdTime": "2019-11-19T12:57:15.452Z" - } - } - } - } -} diff --git a/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsIoTHubPut_example.json b/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsIoTHubPut_example.json deleted file mode 100644 index ab331abe06e2..000000000000 --- a/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsIoTHubPut_example.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "parameters": { - "scope": "subscriptions/50016170-c839-41ba-a724-51e9df440b9e/resourcegroups/resRg/providers/Microsoft.Devices/IoTHubs/myIoTHub", - "integrationResourceName": "myIoTHubLink", - "api-version": "2020-03-01-preview", - "iotHubDescription": { - "properties": { - "resourceId": "/subscriptions/50016170-c839-41ba-a724-51e9df440b9e/resourcegroups/resRg/providers/Microsoft.Devices/iotHubs/myih" - } - } - }, - "responses": { - "201": { - "body": { - "id": "/subscriptions/50016170-c839-41ba-a724-51e9df440b9e/resourcegroups/resRg/providers/Microsoft.Devices/IoTHubs/myIoTHub/provider/Microsoft.DigitalTwins/integrationResources/myIoTHubLink", - "type": "Microsoft.DigitalTwins/integrationResources", - "name": "myIoTHubLink", - "properties": { - "provisioningState": "Provisioning", - "resourceId": "/subscriptions/50016170-c839-41ba-a724-51e9df440b9e/resourcegroups/resRg/providers/Microsoft.DigitalTwins/digitalTwins/myAdt", - "createdTime": "2019-11-19T12:57:15.452Z" - } - } - } - } -} diff --git a/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsIoTHubsGet_example.json b/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsIoTHubsGet_example.json deleted file mode 100644 index 1371105ee9a4..000000000000 --- a/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsIoTHubsGet_example.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "parameters": { - "subscriptionId": "50016170-c839-41ba-a724-51e9df440b9e", - "resourceGroupName": "resRg", - "resourceName": "myAdt", - "api-version": "2020-03-01-preview" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/subscriptions/50016170-c839-41ba-a724-51e9df440b9e/resourcegroups/resRg/providers/Microsoft.Devices/IoTHubs/firstIh/Microsoft.DigitalTwins/integrationResources/myIoTHubLink1", - "type": "Microsoft.DigitalTwins/integrationResources", - "name": "myIoTHubLink1", - "properties": { - "provisioningState": "Provisioned", - "resourceId": "/subscriptions/50016170-c839-41ba-a724-51e9df440b9e/resourcegroups/resRg/providers/Microsoft.DigitalTwins/digitalTwins/myAdt", - "createdTime": "2019-11-19T12:57:15.452Z" - } - }, - { - "id": "/subscriptions/f2bc87c8-fa5d-4c74-822e-7fd480f8df00/resourcegroups/anotherrg/providers/Microsoft.Devices/IoTHubs/secondIh/Microsoft.DigitalTwins/integrationResources/myIoTHubLink2", - "type": "Microsoft.DigitalTwins/integrationResources", - "name": "myIoTHubLink2", - "properties": { - "provisioningState": "Provisioned", - "resourceId": "/subscriptions/50016170-c839-41ba-a724-51e9df440b9e/resourcegroups/resRg/providers/Microsoft.DigitalTwins/digitalTwins/myAdt", - "createdTime": "2019-12-29T12:57:15.452Z" - } - } - ] - } - } - } -} diff --git a/specification/digitaltwins/resource-manager/readme.go.md b/specification/digitaltwins/resource-manager/readme.go.md index 111d623ddb80..8da406275cdd 100644 --- a/specification/digitaltwins/resource-manager/readme.go.md +++ b/specification/digitaltwins/resource-manager/readme.go.md @@ -8,6 +8,13 @@ go: 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. 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..dcdba572a32c 100644 --- a/specification/digitaltwins/resource-manager/readme.md +++ b/specification/digitaltwins/resource-manager/readme.md @@ -78,6 +78,10 @@ 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) + ## 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.Web/stable/2018-01-01/Web.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/Web.json new file mode 100644 index 000000000000..69d70d1b6fb5 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/Web.json @@ -0,0 +1,594 @@ +{ + "swagger": "2.0", + "info": { + "version": "2018-01-01", + "title": "Schema of Azure App Service events published to Azure Event Grid", + "description": "Describes the schema of the Azure App Service events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent." + }, + "paths": {}, + "definitions": { + "WebAppUpdatedEventData": { + "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Web.AppUpdated event.", + "type": "object", + "properties": { + "appEventTypeDetail": { + "$ref": "#/definitions/AppEventTypeDetail" + }, + "name": { + "description": "name of the web site that had this event.", + "type": "string" + }, + "clientRequestId": { + "description": "The client request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "correlationRequestId": { + "description": "The correlation request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "requestId": { + "description": "The request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "address": { + "description": "HTTP request URL of this operation.", + "type": "string" + }, + "verb": { + "description": "HTTP verb of this operation.", + "type": "string" + } + } + }, + "WebBackupOperationStartedEventData": { + "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Web.BackupOperationStarted event.", + "type": "object", + "properties": { + "appEventTypeDetail": { + "$ref": "#/definitions/AppEventTypeDetail" + }, + "name": { + "description": "name of the web site that had this event.", + "type": "string" + }, + "clientRequestId": { + "description": "The client request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "correlationRequestId": { + "description": "The correlation request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "requestId": { + "description": "The request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "address": { + "description": "HTTP request URL of this operation.", + "type": "string" + }, + "verb": { + "description": "HTTP verb of this operation.", + "type": "string" + } + } + }, + "WebBackupOperationCompletedEventData": { + "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Web.BackupOperationCompleted event.", + "type": "object", + "properties": { + "appEventTypeDetail": { + "$ref": "#/definitions/AppEventTypeDetail" + }, + "name": { + "description": "name of the web site that had this event.", + "type": "string" + }, + "clientRequestId": { + "description": "The client request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "correlationRequestId": { + "description": "The correlation request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "requestId": { + "description": "The request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "address": { + "description": "HTTP request URL of this operation.", + "type": "string" + }, + "verb": { + "description": "HTTP verb of this operation.", + "type": "string" + } + } + }, + "WebBackupOperationFailedEventData": { + "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Web.BackupOperationFailed event.", + "type": "object", + "properties": { + "appEventTypeDetail": { + "$ref": "#/definitions/AppEventTypeDetail" + }, + "name": { + "description": "name of the web site that had this event.", + "type": "string" + }, + "clientRequestId": { + "description": "The client request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "correlationRequestId": { + "description": "The correlation request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "requestId": { + "description": "The request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "address": { + "description": "HTTP request URL of this operation.", + "type": "string" + }, + "verb": { + "description": "HTTP verb of this operation.", + "type": "string" + } + } + }, + "WebRestoreOperationStartedEventData": { + "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Web.RestoreOperationStarted event.", + "type": "object", + "properties": { + "appEventTypeDetail": { + "$ref": "#/definitions/AppEventTypeDetail" + }, + "name": { + "description": "name of the web site that had this event.", + "type": "string" + }, + "clientRequestId": { + "description": "The client request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "correlationRequestId": { + "description": "The correlation request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "requestId": { + "description": "The request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "address": { + "description": "HTTP request URL of this operation.", + "type": "string" + }, + "verb": { + "description": "HTTP verb of this operation.", + "type": "string" + } + } + }, + "WebRestoreOperationCompletedEventData": { + "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Web.RestoreOperationCompleted event.", + "type": "object", + "properties": { + "appEventTypeDetail": { + "$ref": "#/definitions/AppEventTypeDetail" + }, + "name": { + "description": "name of the web site that had this event.", + "type": "string" + }, + "clientRequestId": { + "description": "The client request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "correlationRequestId": { + "description": "The correlation request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "requestId": { + "description": "The request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "address": { + "description": "HTTP request URL of this operation.", + "type": "string" + }, + "verb": { + "description": "HTTP verb of this operation.", + "type": "string" + } + } + }, + "WebRestoreOperationFailedEventData": { + "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Web.RestoreOperationFailed event.", + "type": "object", + "properties": { + "appEventTypeDetail": { + "$ref": "#/definitions/AppEventTypeDetail" + }, + "name": { + "description": "name of the web site that had this event.", + "type": "string" + }, + "clientRequestId": { + "description": "The client request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "correlationRequestId": { + "description": "The correlation request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "requestId": { + "description": "The request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "address": { + "description": "HTTP request URL of this operation.", + "type": "string" + }, + "verb": { + "description": "HTTP verb of this operation.", + "type": "string" + } + } + }, + "WebSlotSwapStartedEventData": { + "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Web.SlotSwapStarted event.", + "type": "object", + "properties": { + "appEventTypeDetail": { + "$ref": "#/definitions/AppEventTypeDetail" + }, + "name": { + "description": "name of the web site that had this event.", + "type": "string" + }, + "clientRequestId": { + "description": "The client request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "correlationRequestId": { + "description": "The correlation request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "requestId": { + "description": "The request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "address": { + "description": "HTTP request URL of this operation.", + "type": "string" + }, + "verb": { + "description": "HTTP verb of this operation.", + "type": "string" + } + } + }, + "WebSlotSwapCompletedEventData": { + "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Web.SlotSwapCompleted event.", + "type": "object", + "properties": { + "appEventTypeDetail": { + "$ref": "#/definitions/AppEventTypeDetail" + }, + "name": { + "description": "name of the web site that had this event.", + "type": "string" + }, + "clientRequestId": { + "description": "The client request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "correlationRequestId": { + "description": "The correlation request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "requestId": { + "description": "The request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "address": { + "description": "HTTP request URL of this operation.", + "type": "string" + }, + "verb": { + "description": "HTTP verb of this operation.", + "type": "string" + } + } + }, + "WebSlotSwapFailedEventData": { + "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Web.SlotSwapFailed event.", + "type": "object", + "properties": { + "appEventTypeDetail": { + "$ref": "#/definitions/AppEventTypeDetail" + }, + "name": { + "description": "name of the web site that had this event.", + "type": "string" + }, + "clientRequestId": { + "description": "The client request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "correlationRequestId": { + "description": "The correlation request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "requestId": { + "description": "The request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "address": { + "description": "HTTP request URL of this operation.", + "type": "string" + }, + "verb": { + "description": "HTTP verb of this operation.", + "type": "string" + } + } + }, + "WebSlotSwapWithPreviewStartedEventData": { + "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Web.SlotSwapWithPreviewStarted event.", + "type": "object", + "properties": { + "appEventTypeDetail": { + "$ref": "#/definitions/AppEventTypeDetail" + }, + "name": { + "description": "name of the web site that had this event.", + "type": "string" + }, + "clientRequestId": { + "description": "The client request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "correlationRequestId": { + "description": "The correlation request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "requestId": { + "description": "The request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "address": { + "description": "HTTP request URL of this operation.", + "type": "string" + }, + "verb": { + "description": "HTTP verb of this operation.", + "type": "string" + } + } + }, + "WebSlotSwapWithPreviewCancelledEventData": { + "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Web.SlotSwapWithPreviewCancelled event.", + "type": "object", + "properties": { + "appEventTypeDetail": { + "$ref": "#/definitions/AppEventTypeDetail" + }, + "name": { + "description": "name of the web site that had this event.", + "type": "string" + }, + "clientRequestId": { + "description": "The client request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "correlationRequestId": { + "description": "The correlation request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "requestId": { + "description": "The request id generated by the app service for the site API operation that triggered this event.", + "type": "string" + }, + "address": { + "description": "HTTP request URL of this operation.", + "type": "string" + }, + "verb": { + "description": "HTTP verb of this operation.", + "type": "string" + } + } + }, + "WebAppServicePlanUpdatedEventData": { + "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Web.AppServicePlanUpdated event.", + "type": "object", + "properties": { + "appServicePlanEventTypeDetail": { + "$ref": "#/definitions/AppServicePlanEventTypeDetail" + }, + "sku": { + "description": "sku of app service plan.", + "type": "object", + "properties": { + "name": { + "description": "name of app service plan sku.", + "type": "string" + }, + "Tier": { + "description": "tier of app service plan sku.", + "type": "string" + }, + "Size": { + "description": "size of app service plan sku.", + "type": "string" + }, + "Family": { + "description": "family of app service plan sku.", + "type": "string" + }, + "Capacity": { + "description": "capacity of app service plan sku.", + "type": "string" + } + } + }, + "name": { + "description": "name of the app service plan that had this event.", + "type": "string" + }, + "clientRequestId": { + "description": "The client request id generated by the app service for the app service plan API operation that triggered this event.", + "type": "string" + }, + "correlationRequestId": { + "description": "The correlation request id generated by the app service for the app service plan API operation that triggered this event.", + "type": "string" + }, + "requestId": { + "description": "The request id generated by the app service for the app service plan API operation that triggered this event.", + "type": "string" + }, + "address": { + "description": "HTTP request URL of this operation.", + "type": "string" + }, + "verb": { + "description": "HTTP verb of this operation.", + "type": "string" + } + } + }, + "AppEventTypeDetail": { + "description": "Detail of action on the app.", + "type": "object", + "properties": { + "action": { + "description": "Type of action of the operation.", + "type": "string", + "enum": [ + "Restarted", + "Stopped", + "ChangedAppSettings", + "Started", + "Completed", + "Failed" + ], + "x-ms-enum": { + "name": "AppAction", + "modelAsString": true, + "values": [ + { + "value": "Restarted", + "description": "Web app was restarted." + }, + { + "value": "Stopped", + "description": "Web app was stopped." + }, + { + "value": "ChangedAppSettings", + "description": "There was an operation to change app setting on the web app." + }, + { + "value": "Started", + "description": "The job has started." + }, + { + "value": "Completed", + "description": "The job has completed." + }, + { + "value": "Failed", + "description": "The job has failed to complete." + } + ] + } + } + } + }, + "AppServicePlanEventTypeDetail": { + "description": "Detail of action on the app service plan.", + "type": "object", + "properties": { + "stampKind": { + "description": "Kind of environment where app service plan is.", + "type": "string", + "enum": [ + "Public", + "AseV1", + "AseV2" + ], + "x-ms-enum": { + "name": "StampKind", + "modelAsString": true, + "values": [ + { + "value": "Public", + "description": "App Service Plan is running on a public stamp." + }, + { + "value": "AseV1", + "description": "App Service Plan is running on an App Service Environment V1." + }, + { + "value": "AseV2", + "description": "App Service Plan is running on an App Service Environment V2." + } + ] + } + }, + "action": { + "description": "Type of action on the app service plan.", + "type": "string", + "enum": [ + "Updated" + ], + "x-ms-enum": { + "name": "AppServicePlanAction", + "modelAsString": true, + "values": [ + { + "value": "Updated", + "description": "App Service plan is being updated." + } + ] + } + }, + "status": { + "$ref": "#/definitions/AsyncStatus" + } + } + }, + "AsyncStatus": { + "description": "Asynchronous operation status of the operation on the app service plan.", + "type": "string", + "enum": [ + "Started", + "Completed", + "Failed" + ], + "x-ms-enum": { + "name": "AsyncStatus", + "modelAsString": true, + "values": [ + { + "value": "Started", + "description": "Async operation has started." + }, + { + "value": "Completed", + "description": "Async operation has completed." + }, + { + "value": "Failed", + "description": "Async operation failed to complete." + } + ] + } + } + } +} diff --git a/specification/eventgrid/data-plane/readme.md b/specification/eventgrid/data-plane/readme.md index aa5a71eb52c0..fd7eb6016138 100644 --- a/specification/eventgrid/data-plane/readme.md +++ b/specification/eventgrid/data-plane/readme.md @@ -58,6 +58,7 @@ input-file: - Microsoft.KeyVault/stable/2018-01-01/KeyVault.json - Microsoft.MachineLearningServices/stable/2018-01-01/MachineLearningServices.json - Microsoft.Cache/stable/2018-01-01/RedisCache.json +- Microsoft.Web/stable/2018-01-01/Web.json ``` --- @@ -139,6 +140,7 @@ input-file: - $(this-folder)/Microsoft.KeyVault/stable/2018-01-01/KeyVault.json - $(this-folder)/Microsoft.MachineLearningServices/stable/2018-01-01/MachineLearningServices.json - $(this-folder)/Microsoft.Cache/stable/2018-01-01/RedisCache.json + - $(this-folder)/Microsoft.Web/stable/2018-01-01/Web.json ``` diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2020-04-01-preview/EventGrid.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2020-04-01-preview/EventGrid.json index 407f89526a45..0d0acaba28cb 100644 --- a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2020-04-01-preview/EventGrid.json +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2020-04-01-preview/EventGrid.json @@ -3475,13 +3475,13 @@ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." } }, - "x-ms-pageable": { - "nextLinkName": null - }, "x-ms-examples": { "PartnerRegistrations_List": { "$ref": "./examples/PartnerRegistrations_List.json" } + }, + "x-ms-pageable": { + "nextLinkName": null } } }, @@ -3888,7 +3888,11 @@ "in": "path", "description": "The type of the parent resource. This can be either \\'topics\\' or \\'domains\\'.", "required": true, - "type": "string" + "type": "string", + "enum": [ + "topics", + "domains" + ] }, { "name": "parentName", @@ -3954,7 +3958,11 @@ "in": "path", "description": "The type of the parent resource. This can be either \\'topics\\' or \\'domains\\'.", "required": true, - "type": "string" + "type": "string", + "enum": [ + "topics", + "domains" + ] }, { "name": "parentName", @@ -4034,7 +4042,11 @@ "in": "path", "description": "The type of the parent resource. This can be either \\'topics\\' or \\'domains\\'.", "required": true, - "type": "string" + "type": "string", + "enum": [ + "topics", + "domains" + ] }, { "name": "parentName", @@ -4101,7 +4113,11 @@ "in": "path", "description": "The type of the parent resource. This can be either \\'topics\\' or \\'domains\\'.", "required": true, - "type": "string" + "type": "string", + "enum": [ + "topics", + "domains" + ] }, { "name": "parentName", diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json new file mode 100644 index 000000000000..7a2d45b3710e --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json @@ -0,0 +1,4496 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-06-01", + "title": "EventGridManagementClient", + "description": "Azure EventGrid Management Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}": { + "get": { + "tags": [ + "Domains" + ], + "summary": "Get a domain.", + "description": "Get properties of a domain.", + "operationId": "Domains_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Domain" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Domains_Get": { + "$ref": "./examples/Domains_Get.json" + } + } + }, + "put": { + "tags": [ + "Domains" + ], + "summary": "Create or update a domain.", + "description": "Asynchronously creates or updates a new domain with the specified parameters.", + "operationId": "Domains_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "domainInfo", + "in": "body", + "description": "Domain information.", + "required": true, + "schema": { + "$ref": "#/definitions/Domain" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Domain" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Domains_CreateOrUpdate": { + "$ref": "./examples/Domains_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Domains" + ], + "summary": "Delete a domain.", + "description": "Delete existing domain.", + "operationId": "Domains_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Domains_Delete": { + "$ref": "./examples/Domains_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Domains" + ], + "summary": "Update a domain.", + "description": "Asynchronously updates a domain with the specified parameters.", + "operationId": "Domains_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "domainUpdateParameters", + "in": "body", + "description": "Domain update information.", + "required": true, + "schema": { + "$ref": "#/definitions/DomainUpdateParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "201": { + "description": "Domain update request accepted.", + "schema": { + "$ref": "#/definitions/Domain" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Domains_Update": { + "$ref": "./examples/Domains_Update.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/domains": { + "get": { + "tags": [ + "Domains" + ], + "summary": "List domains under an Azure subscription.", + "description": "List all the domains under an Azure subscription.", + "operationId": "Domains_ListBySubscription", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DomainsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Domains_ListBySubscription": { + "$ref": "./examples/Domains_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains": { + "get": { + "tags": [ + "Domains" + ], + "summary": "List domains under a resource group.", + "description": "List all the domains under a resource group.", + "operationId": "Domains_ListByResourceGroup", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DomainsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Domains_ListByResourceGroup": { + "$ref": "./examples/Domains_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/listKeys": { + "post": { + "tags": [ + "Domains" + ], + "summary": "List keys for a domain.", + "description": "List the two keys used to publish to a domain.", + "operationId": "Domains_ListSharedAccessKeys", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DomainSharedAccessKeys" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Domains_ListSharedAccessKeys": { + "$ref": "./examples/Domains_ListSharedAccessKeys.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/regenerateKey": { + "post": { + "tags": [ + "Domains" + ], + "summary": "Regenerate key for a domain.", + "description": "Regenerate a shared access key for a domain.", + "operationId": "Domains_RegenerateKey", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "regenerateKeyRequest", + "in": "body", + "description": "Request body to regenerate key.", + "required": true, + "schema": { + "$ref": "#/definitions/DomainRegenerateKeyRequest" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DomainSharedAccessKeys" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Domains_RegenerateKey": { + "$ref": "./examples/Domains_RegenerateKey.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{domainTopicName}": { + "get": { + "tags": [ + "DomainTopics" + ], + "summary": "Get a domain topic.", + "description": "Get properties of a domain topic.", + "operationId": "DomainTopics_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "domainTopicName", + "in": "path", + "description": "Name of the topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DomainTopic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "DomainTopics_Get": { + "$ref": "./examples/DomainTopics_Get.json" + } + } + }, + "put": { + "tags": [ + "DomainTopics" + ], + "summary": "Create or update a domain topic.", + "description": "Asynchronously creates or updates a new domain topic with the specified parameters.", + "operationId": "DomainTopics_CreateOrUpdate", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "domainTopicName", + "in": "path", + "description": "Name of the domain topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/DomainTopic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "DomainTopics_CreateOrUpdate": { + "$ref": "./examples/DomainTopics_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "DomainTopics" + ], + "summary": "Delete a domain topic.", + "description": "Delete existing domain topic.", + "operationId": "DomainTopics_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "domainTopicName", + "in": "path", + "description": "Name of the domain topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "DomainTopics_Delete": { + "$ref": "./examples/DomainTopics_Delete.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics": { + "get": { + "tags": [ + "DomainTopics" + ], + "summary": "List domain topics.", + "description": "List all the topics in a domain.", + "operationId": "DomainTopics_ListByDomain", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Domain name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DomainTopicsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "DomainTopics_ListByDomain": { + "$ref": "./examples/DomainTopics_ListByDomain.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Get an event subscription.", + "description": "Get properties of an event subscription.", + "operationId": "EventSubscriptions_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "scope", + "in": "path", + "description": "The scope of the event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventSubscriptions_GetForSubscription": { + "$ref": "./examples/EventSubscriptions_GetForSubscription.json" + }, + "EventSubscriptions_GetForResourceGroup": { + "$ref": "./examples/EventSubscriptions_GetForResourceGroup.json" + }, + "EventSubscriptions_GetForResource": { + "$ref": "./examples/EventSubscriptions_GetForResource.json" + }, + "EventSubscriptions_GetForCustomTopic": { + "$ref": "./examples/EventSubscriptions_GetForCustomTopic.json" + } + } + }, + "put": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Create or update an event subscription.", + "description": "Asynchronously creates a new event subscription or updates an existing event subscription based on the specified scope.", + "operationId": "EventSubscriptions_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "scope", + "in": "path", + "description": "The identifier of the resource to which the event subscription needs to be created or updated. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription. Event subscription names must be between 3 and 64 characters in length and should use alphanumeric letters only.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionInfo", + "in": "body", + "description": "Event subscription properties containing the destination and filter information.", + "required": true, + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "EventSubscription CreateOrUpdate request accepted.", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventSubscriptions_CreateOrUpdateForSubscription": { + "$ref": "./examples/EventSubscriptions_CreateOrUpdateForSubscription.json" + }, + "EventSubscriptions_CreateOrUpdateForResourceGroup": { + "$ref": "./examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json" + }, + "EventSubscriptions_CreateOrUpdateForResource": { + "$ref": "./examples/EventSubscriptions_CreateOrUpdateForResource.json" + }, + "EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination": { + "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination.json" + }, + "EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination": { + "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination.json" + }, + "EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination": { + "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination.json" + }, + "EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination": { + "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Delete an event subscription.", + "description": "Delete an existing event subscription.", + "operationId": "EventSubscriptions_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "scope", + "in": "path", + "description": "The scope of the event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventSubscriptions_DeleteForSubscription": { + "$ref": "./examples/EventSubscriptions_DeleteForSubscription.json" + }, + "EventSubscriptions_DeleteForResourceGroup": { + "$ref": "./examples/EventSubscriptions_DeleteForResourceGroup.json" + }, + "EventSubscriptions_DeleteForResource": { + "$ref": "./examples/EventSubscriptions_DeleteForResource.json" + }, + "EventSubscriptions_DeleteForCustomTopic": { + "$ref": "./examples/EventSubscriptions_DeleteForCustomTopic.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Update an event subscription.", + "description": "Asynchronously updates an existing event subscription.", + "operationId": "EventSubscriptions_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "scope", + "in": "path", + "description": "The scope of existing event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be updated.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionUpdateParameters", + "in": "body", + "description": "Updated event subscription information.", + "required": true, + "schema": { + "$ref": "#/definitions/EventSubscriptionUpdateParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "EventSubscription update request accepted.", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventSubscriptions_UpdateForSubscription": { + "$ref": "./examples/EventSubscriptions_UpdateForSubscription.json" + }, + "EventSubscriptions_UpdateForResourceGroup": { + "$ref": "./examples/EventSubscriptions_UpdateForResourceGroup.json" + }, + "EventSubscriptions_UpdateForResource": { + "$ref": "./examples/EventSubscriptions_UpdateForResource.json" + }, + "EventSubscriptions_UpdateForCustomTopic": { + "$ref": "./examples/EventSubscriptions_UpdateForCustomTopic.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}/getFullUrl": { + "post": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Get full URL of an event subscription.", + "description": "Get the full endpoint URL for an event subscription.", + "operationId": "EventSubscriptions_GetFullUrl", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "scope", + "in": "path", + "description": "The scope of the event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionFullUrl" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventSubscriptions_GetFullUrlForSubscription": { + "$ref": "./examples/EventSubscriptions_GetFullUrlForSubscription.json" + }, + "EventSubscriptions_GetFullUrlForResourceGroup": { + "$ref": "./examples/EventSubscriptions_GetFullUrlForResourceGroup.json" + }, + "EventSubscriptions_GetFullUrlForResource": { + "$ref": "./examples/EventSubscriptions_GetFullUrlForResource.json" + }, + "EventSubscriptions_GetFullUrlForCustomTopic": { + "$ref": "./examples/EventSubscriptions_GetFullUrlForCustomTopic.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/eventSubscriptions": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Get an aggregated list of all global event subscriptions under an Azure subscription.", + "description": "List all aggregated global event subscriptions under a specific Azure subscription.", + "operationId": "EventSubscriptions_ListGlobalBySubscription", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "EventSubscriptions_ListGlobalBySubscription": { + "$ref": "./examples/EventSubscriptions_ListGlobalBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "List all global event subscriptions for a topic type.", + "description": "List all global event subscriptions under an Azure subscription for a topic type.", + "operationId": "EventSubscriptions_ListGlobalBySubscriptionForTopicType", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "topicTypeName", + "in": "path", + "description": "Name of the topic type.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "EventSubscriptions_ListGlobalBySubscriptionForTopicType": { + "$ref": "./examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/eventSubscriptions": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "List all global event subscriptions under an Azure subscription and resource group.", + "description": "List all global event subscriptions under a specific Azure subscription and resource group.", + "operationId": "EventSubscriptions_ListGlobalByResourceGroup", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "EventSubscriptions_ListGlobalByResourceGroup": { + "$ref": "./examples/EventSubscriptions_ListGlobalByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "List all global event subscriptions under a resource group for a topic type.", + "description": "List all global event subscriptions under a resource group for a specific topic type.", + "operationId": "EventSubscriptions_ListGlobalByResourceGroupForTopicType", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "topicTypeName", + "in": "path", + "description": "Name of the topic type.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "EventSubscriptions_ListGlobalByResourceGroupForTopicType": { + "$ref": "./examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "List all regional event subscriptions under an Azure subscription.", + "description": "List all event subscriptions from the given location under a specific Azure subscription.", + "operationId": "EventSubscriptions_ListRegionalBySubscription", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "description": "Name of the location.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "EventSubscriptions_ListRegionalBySubscription": { + "$ref": "./examples/EventSubscriptions_ListRegionalBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "List all regional event subscriptions under an Azure subscription and resource group.", + "description": "List all event subscriptions from the given location under a specific Azure subscription and resource group.", + "operationId": "EventSubscriptions_ListRegionalByResourceGroup", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "location", + "in": "path", + "description": "Name of the location.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "EventSubscriptions_ListRegionalByResourceGroup": { + "$ref": "./examples/EventSubscriptions_ListRegionalByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "List all regional event subscriptions under an Azure subscription for a topic type.", + "description": "List all event subscriptions from the given location under a specific Azure subscription and topic type.", + "operationId": "EventSubscriptions_ListRegionalBySubscriptionForTopicType", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "description": "Name of the location.", + "required": true, + "type": "string" + }, + { + "name": "topicTypeName", + "in": "path", + "description": "Name of the topic type.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "EventSubscriptions_ListRegionalBySubscriptionForTopicType": { + "$ref": "./examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "List all regional event subscriptions under an Azure subscription and resource group for a topic type.", + "description": "List all event subscriptions from the given location under a specific Azure subscription and resource group and topic type.", + "operationId": "EventSubscriptions_ListRegionalByResourceGroupForTopicType", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "location", + "in": "path", + "description": "Name of the location.", + "required": true, + "type": "string" + }, + { + "name": "topicTypeName", + "in": "path", + "description": "Name of the topic type.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "EventSubscriptions_ListRegionalByResourceGroupForTopicType": { + "$ref": "./examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventSubscriptions": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "List all event subscriptions for a specific topic.", + "description": "List all event subscriptions that have been created for a specific topic.", + "operationId": "EventSubscriptions_ListByResource", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "providerNamespace", + "in": "path", + "description": "Namespace of the provider of the topic.", + "required": true, + "type": "string" + }, + { + "name": "resourceTypeName", + "in": "path", + "description": "Name of the resource type.", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Name of the resource.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventSubscriptions_ListByResource": { + "$ref": "./examples/EventSubscriptions_ListByResource.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{topicName}/providers/Microsoft.EventGrid/eventSubscriptions": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "List all event subscriptions for a specific domain topic.", + "description": "List all event subscriptions that have been created for a specific domain topic.", + "operationId": "EventSubscriptions_ListByDomainTopic", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the top level domain.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the domain topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventSubscriptions_ListByDomainTopic": { + "$ref": "./examples/EventSubscriptions_ListByDomainTopic.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.EventGrid/operations": { + "get": { + "tags": [ + "Operations" + ], + "summary": "List available operations.", + "description": "List the available operations supported by the Microsoft.EventGrid resource provider.", + "operationId": "Operations_List", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/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": null + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}": { + "get": { + "tags": [ + "Topics" + ], + "summary": "Get a topic.", + "description": "Get properties of a topic.", + "operationId": "Topics_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Topic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Topics_Get": { + "$ref": "./examples/Topics_Get.json" + } + } + }, + "put": { + "tags": [ + "Topics" + ], + "summary": "Create a topic.", + "description": "Asynchronously creates a new topic with the specified parameters.", + "operationId": "Topics_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the topic.", + "required": true, + "type": "string" + }, + { + "name": "topicInfo", + "in": "body", + "description": "Topic information.", + "required": true, + "schema": { + "$ref": "#/definitions/Topic" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Topic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Topics_CreateOrUpdate": { + "$ref": "./examples/Topics_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Topics" + ], + "summary": "Delete a topic.", + "description": "Delete existing topic.", + "operationId": "Topics_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Topics_Delete": { + "$ref": "./examples/Topics_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Topics" + ], + "summary": "Update a topic.", + "description": "Asynchronously updates a topic with the specified parameters.", + "operationId": "Topics_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the topic.", + "required": true, + "type": "string" + }, + { + "name": "topicUpdateParameters", + "in": "body", + "description": "Topic update information.", + "required": true, + "schema": { + "$ref": "#/definitions/TopicUpdateParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "201": { + "description": "Topic update request accepted.", + "schema": { + "$ref": "#/definitions/Topic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Topics_Update": { + "$ref": "./examples/Topics_Update.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topics": { + "get": { + "tags": [ + "Topics" + ], + "summary": "List topics under an Azure subscription.", + "description": "List all the topics under an Azure subscription.", + "operationId": "Topics_ListBySubscription", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TopicsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Topics_ListBySubscription": { + "$ref": "./examples/Topics_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics": { + "get": { + "tags": [ + "Topics" + ], + "summary": "List topics under a resource group.", + "description": "List all the topics under a resource group.", + "operationId": "Topics_ListByResourceGroup", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TopicsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Topics_ListByResourceGroup": { + "$ref": "./examples/Topics_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/listKeys": { + "post": { + "tags": [ + "Topics" + ], + "summary": "List keys for a topic.", + "description": "List the two keys used to publish to a topic.", + "operationId": "Topics_ListSharedAccessKeys", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TopicSharedAccessKeys" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Topics_ListSharedAccessKeys": { + "$ref": "./examples/Topics_ListSharedAccessKeys.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/regenerateKey": { + "post": { + "tags": [ + "Topics" + ], + "summary": "Regenerate key for a topic.", + "description": "Regenerate a shared access key for a topic.", + "operationId": "Topics_RegenerateKey", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the topic.", + "required": true, + "type": "string" + }, + { + "name": "regenerateKeyRequest", + "in": "body", + "description": "Request body to regenerate key.", + "required": true, + "schema": { + "$ref": "#/definitions/TopicRegenerateKeyRequest" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TopicSharedAccessKeys" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Topics_RegenerateKey": { + "$ref": "./examples/Topics_RegenerateKey.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/{parentType}/{parentName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "summary": "Get a specific private endpoint connection.", + "description": "Get a specific private endpoint connection under a topic or domain.", + "operationId": "PrivateEndpointConnections_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "parentType", + "in": "path", + "description": "The type of the parent resource. This can be either \\'topics\\' or \\'domains\\'.", + "required": true, + "type": "string", + "enum": [ + "topics", + "domains" + ] + }, + { + "name": "parentName", + "in": "path", + "description": "The name of the parent resource (namely, either, the topic name or domain name).", + "required": true, + "type": "string" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection connection.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PrivateEndpointConnections_Get": { + "$ref": "./examples/PrivateEndpointConnections_Get.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "summary": "Update a specific private endpoint connection.", + "description": "Update a specific private endpoint connection under a topic or domain.", + "operationId": "PrivateEndpointConnections_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "parentType", + "in": "path", + "description": "The type of the parent resource. This can be either \\'topics\\' or \\'domains\\'.", + "required": true, + "type": "string", + "enum": [ + "topics", + "domains" + ] + }, + { + "name": "parentName", + "in": "path", + "description": "The name of the parent resource (namely, either, the topic name or domain name).", + "required": true, + "type": "string" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection connection.", + "required": true, + "type": "string" + }, + { + "name": "privateEndpointConnection", + "in": "body", + "description": "The private endpoint connection object to update.", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PrivateEndpointConnections_Update": { + "$ref": "./examples/PrivateEndpointConnections_Update.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "summary": "Delete a specific private endpoint connection.", + "description": "Delete a specific private endpoint connection under a topic or domain.", + "operationId": "PrivateEndpointConnections_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "parentType", + "in": "path", + "description": "The type of the parent resource. This can be either \\'topics\\' or \\'domains\\'.", + "required": true, + "type": "string", + "enum": [ + "topics", + "domains" + ] + }, + { + "name": "parentName", + "in": "path", + "description": "The name of the parent resource (namely, either, the topic name or domain name).", + "required": true, + "type": "string" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection connection.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PrivateEndpointConnections_Delete": { + "$ref": "./examples/PrivateEndpointConnections_Delete.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/{parentType}/{parentName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "summary": "Lists all private endpoint connections under a resource.", + "description": "Get all private endpoint connections under a topic or domain.", + "operationId": "PrivateEndpointConnections_ListByResource", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "parentType", + "in": "path", + "description": "The type of the parent resource. This can be either \\'topics\\' or \\'domains\\'.", + "required": true, + "type": "string", + "enum": [ + "topics", + "domains" + ] + }, + { + "name": "parentName", + "in": "path", + "description": "The name of the parent resource (namely, either, the topic name or domain name).", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PrivateEndpointConnections_ListByResource": { + "$ref": "./examples/PrivateEndpointConnections_ListByResource.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/{parentType}/{parentName}/privateLinkResources/{privateLinkResourceName}": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "summary": "Get a private link resource.", + "description": "Get properties of a private link resource.", + "operationId": "PrivateLinkResources_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "parentType", + "in": "path", + "description": "The type of the parent resource. This can be either \\'topics\\' or \\'domains\\'.", + "required": true, + "type": "string" + }, + { + "name": "parentName", + "in": "path", + "description": "The name of the parent resource (namely, either, the topic name or domain name).", + "required": true, + "type": "string" + }, + { + "name": "privateLinkResourceName", + "in": "path", + "description": "The name of private link resource.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PrivateLinkResources_Get": { + "$ref": "./examples/PrivateLinkResources_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/{parentType}/{parentName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "summary": "List private link resources under specific topic or domain.", + "description": "List all the private link resources under a topic or domain.", + "operationId": "PrivateLinkResources_ListByResource", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "parentType", + "in": "path", + "description": "The type of the parent resource. This can be either \\'topics\\' or \\'domains\\'.", + "required": true, + "type": "string" + }, + { + "name": "parentName", + "in": "path", + "description": "The name of the parent resource (namely, either, the topic name or domain name).", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResourcesListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PrivateLinkResources_ListByResource": { + "$ref": "./examples/PrivateLinkResources_ListByResource.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventTypes": { + "get": { + "tags": [ + "Topics" + ], + "summary": "List topic event types.", + "description": "List event types for a topic.", + "operationId": "Topics_ListEventTypes", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "providerNamespace", + "in": "path", + "description": "Namespace of the provider of the topic.", + "required": true, + "type": "string" + }, + { + "name": "resourceTypeName", + "in": "path", + "description": "Name of the topic type.", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Name of the topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventTypesListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "Topics_ListEventTypes": { + "$ref": "./examples/Topics_ListEventTypes.json" + } + } + } + }, + "/providers/Microsoft.EventGrid/topicTypes": { + "get": { + "tags": [ + "TopicTypes" + ], + "summary": "List topic types.", + "description": "List all registered topic types.", + "operationId": "TopicTypes_List", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TopicTypesListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "TopicTypes_List": { + "$ref": "./examples/TopicTypes_List.json" + } + } + } + }, + "/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}": { + "get": { + "tags": [ + "TopicTypes" + ], + "summary": "Get a topic type.", + "description": "Get information about a topic type.", + "operationId": "TopicTypes_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "topicTypeName", + "in": "path", + "description": "Name of the topic type.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TopicTypeInfo" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "TopicTypes_Get": { + "$ref": "./examples/TopicTypes_Get.json" + } + } + } + }, + "/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventTypes": { + "get": { + "tags": [ + "TopicTypes" + ], + "summary": "List event types.", + "description": "List event types for a topic type.", + "operationId": "TopicTypes_ListEventTypes", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "topicTypeName", + "in": "path", + "description": "Name of the topic type.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventTypesListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "TopicTypes_ListEventTypes": { + "$ref": "./examples/TopicTypes_ListEventTypes.json" + } + } + } + } + }, + "definitions": { + "DomainProperties": { + "description": "Properties of the Domain.", + "type": "object", + "properties": { + "privateEndpointConnections": { + "description": "List of private endpoint connections.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "provisioningState": { + "description": "Provisioning state of the domain.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DomainProvisioningState", + "modelAsString": true + } + }, + "endpoint": { + "description": "Endpoint for the domain.", + "type": "string", + "readOnly": true + }, + "inputSchema": { + "description": "This determines the format that Event Grid should expect for incoming events published to the domain.", + "enum": [ + "EventGridSchema", + "CustomEventSchema", + "CloudEventSchemaV1_0" + ], + "type": "string", + "x-ms-enum": { + "name": "InputSchema", + "modelAsString": true + }, + "default": "EventGridSchema" + }, + "inputSchemaMapping": { + "$ref": "#/definitions/InputSchemaMapping", + "description": "Information about the InputSchemaMapping which specified the info about mapping event payload." + }, + "metricResourceId": { + "description": "Metric resource id for the domain.", + "type": "string", + "readOnly": true + }, + "publicNetworkAccess": { + "description": "This determines if traffic is allowed over public network. By default it is enabled. \r\nYou can further restrict to specific IPs by configuring ", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + }, + "inboundIpRules": { + "description": "This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled.", + "type": "array", + "items": { + "$ref": "#/definitions/InboundIpRule" + } + } + } + }, + "PrivateEndpointConnection": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Properties of the PrivateEndpointConnection.", + "x-ms-client-flatten": true + } + } + }, + "InboundIpRule": { + "type": "object", + "properties": { + "ipMask": { + "description": "IP Address in CIDR notation e.g., 10.0.0.0/8.", + "type": "string" + }, + "action": { + "description": "Action to perform based on the match or no match of the IpMask.", + "enum": [ + "Allow" + ], + "type": "string", + "x-ms-enum": { + "name": "IpActionType", + "modelAsString": true + } + } + } + }, + "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 + }, + "PrivateEndpointConnectionProperties": { + "description": "Properties of the private endpoint connection resource.", + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The Private Endpoint resource for this Connection." + }, + "groupIds": { + "description": "GroupIds from the private link service resource.", + "type": "array", + "items": { + "type": "string" + } + }, + "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": "ResourceProvisioningState", + "modelAsString": true + } + } + } + }, + "PrivateEndpoint": { + "description": "PrivateEndpoint information.", + "type": "object", + "properties": { + "id": { + "description": "The ARM identifier for Private Endpoint.", + "type": "string" + } + } + }, + "ConnectionState": { + "description": "ConnectionState information.", + "type": "object", + "properties": { + "status": { + "description": "Status of the connection.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PersistedConnectionStatus", + "modelAsString": true + } + }, + "description": { + "description": "Description of the connection state.", + "type": "string" + }, + "actionsRequired": { + "description": "Actions required (if any).", + "type": "string" + } + } + }, + "JsonInputSchemaMappingProperties": { + "description": "This can be used to map properties of a source schema (or default values, for certain supported properties) to properties of the EventGridEvent schema.", + "type": "object", + "properties": { + "id": { + "$ref": "#/definitions/JsonField", + "description": "The mapping information for the Id property of the Event Grid Event." + }, + "topic": { + "$ref": "#/definitions/JsonField", + "description": "The mapping information for the Topic property of the Event Grid Event." + }, + "eventTime": { + "$ref": "#/definitions/JsonField", + "description": "The mapping information for the EventTime property of the Event Grid Event." + }, + "eventType": { + "$ref": "#/definitions/JsonFieldWithDefault", + "description": "The mapping information for the EventType property of the Event Grid Event." + }, + "subject": { + "$ref": "#/definitions/JsonFieldWithDefault", + "description": "The mapping information for the Subject property of the Event Grid Event." + }, + "dataVersion": { + "$ref": "#/definitions/JsonFieldWithDefault", + "description": "The mapping information for the DataVersion property of the Event Grid Event." + } + } + }, + "JsonField": { + "description": "This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the input event schema.", + "type": "object", + "properties": { + "sourceField": { + "description": "Name of a field in the input event schema that's to be used as the source of a mapping.", + "type": "string" + } + } + }, + "JsonFieldWithDefault": { + "description": "This is used to express the source of an input schema mapping for a single target field\r\nin the Event Grid Event schema. This is currently used in the mappings for the 'subject',\r\n'eventtype' and 'dataversion' properties. This represents a field in the input event schema\r\nalong with a default value to be used, and at least one of these two properties should be provided.", + "type": "object", + "properties": { + "sourceField": { + "description": "Name of a field in the input event schema that's to be used as the source of a mapping.", + "type": "string" + }, + "defaultValue": { + "description": "The default value to be used for mapping when a SourceField is not provided or if there's no property with the specified name in the published JSON event payload.", + "type": "string" + } + } + }, + "JsonInputSchemaMapping": { + "description": "This enables publishing to Event Grid using a custom input schema. This can be used to map properties from a custom input JSON schema to the Event Grid event schema.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/InputSchemaMapping" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/JsonInputSchemaMappingProperties", + "description": "JSON Properties of the input schema mapping", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "Json" + }, + "InputSchemaMapping": { + "description": "By default, Event Grid expects events to be in the Event Grid event schema. Specifying an input schema mapping enables publishing to Event Grid using a custom input schema. Currently, the only supported type of InputSchemaMapping is 'JsonInputSchemaMapping'.", + "required": [ + "inputSchemaMappingType" + ], + "type": "object", + "properties": { + "inputSchemaMappingType": { + "description": "Type of the custom mapping", + "enum": [ + "Json" + ], + "type": "string", + "x-ms-enum": { + "name": "InputSchemaMappingType", + "modelAsString": true + } + } + }, + "discriminator": "inputSchemaMappingType" + }, + "TrackedResource": { + "description": "Definition of a Tracked Resource.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "description": "Location of the resource.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "description": "Tags of the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "Domain": { + "description": "EventGrid Domain.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DomainProperties", + "description": "Properties of the domain.", + "x-ms-client-flatten": true + } + } + }, + "DomainUpdateParameters": { + "description": "Properties of the Domain update.", + "type": "object", + "properties": { + "tags": { + "description": "Tags of the domains resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/DomainUpdateParameterProperties", + "description": "Properties of the resource.", + "x-ms-client-flatten": true + } + } + }, + "DomainUpdateParameterProperties": { + "description": "Information of domain update parameter properties.", + "type": "object", + "properties": { + "publicNetworkAccess": { + "description": "This determines if traffic is allowed over public network. By default it is enabled. \r\nYou can further restrict to specific IPs by configuring ", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + }, + "inboundIpRules": { + "description": "This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled.", + "type": "array", + "items": { + "$ref": "#/definitions/InboundIpRule" + } + } + } + }, + "DomainsListResult": { + "description": "Result of the List Domains operation.", + "type": "object", + "properties": { + "value": { + "description": "A collection of Domains.", + "type": "array", + "items": { + "$ref": "#/definitions/Domain" + } + }, + "nextLink": { + "description": "A link for the next page of domains.", + "type": "string" + } + } + }, + "DomainSharedAccessKeys": { + "description": "Shared access keys of the Domain.", + "type": "object", + "properties": { + "key1": { + "description": "Shared access key1 for the domain.", + "type": "string" + }, + "key2": { + "description": "Shared access key2 for the domain.", + "type": "string" + } + } + }, + "DomainRegenerateKeyRequest": { + "description": "Domain regenerate share access key request.", + "required": [ + "keyName" + ], + "type": "object", + "properties": { + "keyName": { + "description": "Key name to regenerate key1 or key2.", + "type": "string" + } + } + }, + "DomainTopicProperties": { + "description": "Properties of the Domain Topic.", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the domain topic.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "DomainTopicProvisioningState", + "modelAsString": true + } + } + } + }, + "DomainTopic": { + "description": "Domain Topic.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DomainTopicProperties", + "description": "Properties of the Domain Topic.", + "x-ms-client-flatten": true + } + } + }, + "DomainTopicsListResult": { + "description": "Result of the List Domain Topics operation.", + "type": "object", + "properties": { + "value": { + "description": "A collection of Domain Topics.", + "type": "array", + "items": { + "$ref": "#/definitions/DomainTopic" + } + }, + "nextLink": { + "description": "A link for the next page of domain topics.", + "type": "string" + } + } + }, + "EventSubscriptionProperties": { + "description": "Properties of the Event Subscription.", + "type": "object", + "properties": { + "topic": { + "description": "Name of the topic of the event subscription.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "Provisioning state of the event subscription.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed", + "AwaitingManualAction" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "EventSubscriptionProvisioningState", + "modelAsString": true + } + }, + "destination": { + "$ref": "#/definitions/EventSubscriptionDestination", + "description": "Information about the destination where events have to be delivered for the event subscription." + }, + "filter": { + "$ref": "#/definitions/EventSubscriptionFilter", + "description": "Information about the filter for the event subscription." + }, + "labels": { + "description": "List of user defined labels.", + "type": "array", + "items": { + "type": "string" + } + }, + "expirationTimeUtc": { + "format": "date-time", + "description": "Expiration time of the event subscription.", + "type": "string" + }, + "eventDeliverySchema": { + "description": "The event delivery schema for the event subscription.", + "enum": [ + "EventGridSchema", + "CustomInputSchema", + "CloudEventSchemaV1_0" + ], + "type": "string", + "x-ms-enum": { + "name": "EventDeliverySchema", + "modelAsString": true + } + }, + "retryPolicy": { + "$ref": "#/definitions/RetryPolicy", + "description": "The retry policy for events. This can be used to configure maximum number of delivery attempts and time to live for events." + }, + "deadLetterDestination": { + "$ref": "#/definitions/DeadLetterDestination", + "description": "The DeadLetter destination of the event subscription." + } + } + }, + "EventSubscriptionFilter": { + "description": "Filter for the Event Subscription.", + "type": "object", + "properties": { + "subjectBeginsWith": { + "description": "An optional string to filter events for an event subscription based on a resource path prefix.\r\nThe format of this depends on the publisher of the events.\r\nWildcard characters are not supported in this path.", + "type": "string" + }, + "subjectEndsWith": { + "description": "An optional string to filter events for an event subscription based on a resource path suffix.\r\nWildcard characters are not supported in this path.", + "type": "string" + }, + "includedEventTypes": { + "description": "A list of applicable event types that need to be part of the event subscription. If it is desired to subscribe to all default event types, set the IncludedEventTypes to null.", + "type": "array", + "items": { + "type": "string" + } + }, + "isSubjectCaseSensitive": { + "description": "Specifies if the SubjectBeginsWith and SubjectEndsWith properties of the filter\r\nshould be compared in a case sensitive manner.", + "default": false, + "type": "boolean" + }, + "advancedFilters": { + "description": "An array of advanced filters that are used for filtering event subscriptions.", + "type": "array", + "items": { + "$ref": "#/definitions/AdvancedFilter" + } + } + } + }, + "RetryPolicy": { + "description": "Information about the retry policy for an event subscription.", + "type": "object", + "properties": { + "maxDeliveryAttempts": { + "format": "int32", + "description": "Maximum number of delivery retry attempts for events.", + "type": "integer" + }, + "eventTimeToLiveInMinutes": { + "format": "int32", + "description": "Time To Live (in minutes) for events.", + "type": "integer" + } + } + }, + "WebHookEventSubscriptionDestinationProperties": { + "description": "Information about the webhook destination properties for an event subscription.", + "type": "object", + "properties": { + "endpointUrl": { + "description": "The URL that represents the endpoint of the destination of an event subscription.", + "type": "string" + }, + "endpointBaseUrl": { + "description": "The base URL that represents the endpoint of the destination of an event subscription.", + "type": "string", + "readOnly": true + }, + "maxEventsPerBatch": { + "format": "int32", + "description": "Maximum number of events per batch.", + "type": "integer" + }, + "preferredBatchSizeInKilobytes": { + "format": "int32", + "description": "Preferred batch size in Kilobytes.", + "type": "integer" + }, + "azureActiveDirectoryTenantId": { + "description": "The Azure Active Directory Tenant ID to get the access token that will be included as the bearer token in delivery requests.", + "type": "string" + }, + "azureActiveDirectoryApplicationIdOrUri": { + "description": "The Azure Active Directory Application ID or URI to get the access token that will be included as the bearer token in delivery requests.", + "type": "string" + } + } + }, + "StorageBlobDeadLetterDestinationProperties": { + "description": "Properties of the storage blob based dead letter destination.", + "type": "object", + "properties": { + "resourceId": { + "description": "The Azure Resource ID of the storage account that is the destination of the deadletter events", + "type": "string" + }, + "blobContainerName": { + "description": "The name of the Storage blob container that is the destination of the deadletter events", + "type": "string" + } + } + }, + "NumberInAdvancedFilter": { + "description": "NumberIn Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "values": { + "description": "The set of filter values.", + "type": "array", + "items": { + "format": "double", + "type": "number" + } + } + }, + "x-ms-discriminator-value": "NumberIn" + }, + "StorageBlobDeadLetterDestination": { + "description": "Information about the storage blob based dead letter destination.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DeadLetterDestination" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StorageBlobDeadLetterDestinationProperties", + "description": "The properties of the Storage Blob based deadletter destination", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "StorageBlob" + }, + "NumberNotInAdvancedFilter": { + "description": "NumberNotIn Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "values": { + "description": "The set of filter values.", + "type": "array", + "items": { + "format": "double", + "type": "number" + } + } + }, + "x-ms-discriminator-value": "NumberNotIn" + }, + "NumberLessThanAdvancedFilter": { + "description": "NumberLessThan Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "value": { + "format": "double", + "description": "The filter value.", + "type": "number" + } + }, + "x-ms-discriminator-value": "NumberLessThan" + }, + "NumberGreaterThanAdvancedFilter": { + "description": "NumberGreaterThan Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "value": { + "format": "double", + "description": "The filter value.", + "type": "number" + } + }, + "x-ms-discriminator-value": "NumberGreaterThan" + }, + "NumberLessThanOrEqualsAdvancedFilter": { + "description": "NumberLessThanOrEquals Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "value": { + "format": "double", + "description": "The filter value.", + "type": "number" + } + }, + "x-ms-discriminator-value": "NumberLessThanOrEquals" + }, + "NumberGreaterThanOrEqualsAdvancedFilter": { + "description": "NumberGreaterThanOrEquals Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "value": { + "format": "double", + "description": "The filter value.", + "type": "number" + } + }, + "x-ms-discriminator-value": "NumberGreaterThanOrEquals" + }, + "BoolEqualsAdvancedFilter": { + "description": "BoolEquals Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "value": { + "description": "The boolean filter value.", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "BoolEquals" + }, + "StringInAdvancedFilter": { + "description": "StringIn Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "values": { + "description": "The set of filter values.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "StringIn" + }, + "StringNotInAdvancedFilter": { + "description": "StringNotIn Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "values": { + "description": "The set of filter values.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "StringNotIn" + }, + "StringBeginsWithAdvancedFilter": { + "description": "StringBeginsWith Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "values": { + "description": "The set of filter values.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "StringBeginsWith" + }, + "StringEndsWithAdvancedFilter": { + "description": "StringEndsWith Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "values": { + "description": "The set of filter values.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "StringEndsWith" + }, + "StringContainsAdvancedFilter": { + "description": "StringContains Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "values": { + "description": "The set of filter values.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "StringContains" + }, + "AdvancedFilter": { + "description": "This is the base type that represents an advanced filter. To configure an advanced filter, do not directly instantiate an object of this class. Instead, instantiate an object of a derived class such as BoolEqualsAdvancedFilter, NumberInAdvancedFilter, StringEqualsAdvancedFilter etc. depending on the type of the key based on which you want to filter.", + "required": [ + "operatorType" + ], + "type": "object", + "properties": { + "operatorType": { + "description": "The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.", + "enum": [ + "NumberIn", + "NumberNotIn", + "NumberLessThan", + "NumberGreaterThan", + "NumberLessThanOrEquals", + "NumberGreaterThanOrEquals", + "BoolEquals", + "StringIn", + "StringNotIn", + "StringBeginsWith", + "StringEndsWith", + "StringContains" + ], + "type": "string", + "x-ms-enum": { + "name": "AdvancedFilterOperatorType", + "modelAsString": true + } + }, + "key": { + "description": "The field/property in the event based on which you want to filter.", + "type": "string" + } + }, + "discriminator": "operatorType" + }, + "WebHookEventSubscriptionDestination": { + "description": "Information about the webhook destination for an event subscription.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventSubscriptionDestination" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WebHookEventSubscriptionDestinationProperties", + "description": "WebHook Properties of the event subscription destination.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "WebHook" + }, + "DeadLetterDestination": { + "description": "Information about the dead letter destination for an event subscription. To configure a deadletter destination, do not directly instantiate an object of this class. Instead, instantiate an object of a derived class. Currently, StorageBlobDeadLetterDestination is the only class that derives from this class.", + "type": "object", + "required": [ + "endpointType" + ], + "properties": { + "endpointType": { + "description": "Type of the endpoint for the dead letter destination", + "enum": [ + "StorageBlob" + ], + "type": "string", + "x-ms-enum": { + "name": "DeadLetterEndPointType", + "modelAsString": true + } + } + }, + "discriminator": "endpointType" + }, + "EventHubEventSubscriptionDestinationProperties": { + "description": "The properties for a event hub destination.", + "type": "object", + "properties": { + "resourceId": { + "description": "The Azure Resource Id that represents the endpoint of an Event Hub destination of an event subscription.", + "type": "string" + } + } + }, + "EventHubEventSubscriptionDestination": { + "description": "Information about the event hub destination for an event subscription.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventSubscriptionDestination" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EventHubEventSubscriptionDestinationProperties", + "description": "Event Hub Properties of the event subscription destination.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "EventHub" + }, + "StorageQueueEventSubscriptionDestinationProperties": { + "description": "The properties for a storage queue destination.", + "type": "object", + "properties": { + "resourceId": { + "description": "The Azure Resource ID of the storage account that contains the queue that is the destination of an event subscription.", + "type": "string" + }, + "queueName": { + "description": "The name of the Storage queue under a storage account that is the destination of an event subscription.", + "type": "string" + } + } + }, + "StorageQueueEventSubscriptionDestination": { + "description": "Information about the storage queue destination for an event subscription.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventSubscriptionDestination" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StorageQueueEventSubscriptionDestinationProperties", + "description": "Storage Queue Properties of the event subscription destination.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "StorageQueue" + }, + "HybridConnectionEventSubscriptionDestinationProperties": { + "description": "The properties for a hybrid connection destination.", + "type": "object", + "properties": { + "resourceId": { + "description": "The Azure Resource ID of an hybrid connection that is the destination of an event subscription.", + "type": "string" + } + } + }, + "HybridConnectionEventSubscriptionDestination": { + "description": "Information about the HybridConnection destination for an event subscription.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventSubscriptionDestination" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/HybridConnectionEventSubscriptionDestinationProperties", + "description": "Hybrid connection Properties of the event subscription destination.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "HybridConnection" + }, + "ServiceBusQueueEventSubscriptionDestinationProperties": { + "description": "The properties that represent the Service Bus destination of an event subscription.", + "type": "object", + "properties": { + "resourceId": { + "description": "The Azure Resource Id that represents the endpoint of the Service Bus destination of an event subscription.", + "type": "string" + } + } + }, + "ServiceBusQueueEventSubscriptionDestination": { + "description": "Information about the service bus destination for an event subscription.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventSubscriptionDestination" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ServiceBusQueueEventSubscriptionDestinationProperties", + "description": "Service Bus Properties of the event subscription destination.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "ServiceBusQueue" + }, + "ServiceBusTopicEventSubscriptionDestinationProperties": { + "description": "The properties that represent the Service Bus Topic destination of an event subscription.", + "type": "object", + "properties": { + "resourceId": { + "description": "The Azure Resource Id that represents the endpoint of the Service Bus Topic destination of an event subscription.", + "type": "string" + } + } + }, + "ServiceBusTopicEventSubscriptionDestination": { + "description": "Information about the service bus topic destination for an event subscription.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventSubscriptionDestination" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ServiceBusTopicEventSubscriptionDestinationProperties", + "description": "Service Bus Topic Properties of the event subscription destination.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "ServiceBusTopic" + }, + "AzureFunctionEventSubscriptionDestinationProperties": { + "description": "The properties that represent the Azure Function destination of an event subscription.", + "type": "object", + "properties": { + "resourceId": { + "description": "The Azure Resource Id that represents the endpoint of the Azure Function destination of an event subscription.", + "type": "string" + }, + "maxEventsPerBatch": { + "format": "int32", + "description": "Maximum number of events per batch.", + "type": "integer" + }, + "preferredBatchSizeInKilobytes": { + "format": "int32", + "description": "Preferred batch size in Kilobytes.", + "type": "integer" + } + } + }, + "AzureFunctionEventSubscriptionDestination": { + "description": "Information about the azure function destination for an event subscription.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventSubscriptionDestination" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AzureFunctionEventSubscriptionDestinationProperties", + "description": "Azure Function Properties of the event subscription destination.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "AzureFunction" + }, + "EventSubscriptionDestination": { + "description": "Information about the destination for an event subscription.", + "required": [ + "endpointType" + ], + "type": "object", + "properties": { + "endpointType": { + "description": "Type of the endpoint for the event subscription destination.", + "enum": [ + "WebHook", + "EventHub", + "StorageQueue", + "HybridConnection", + "ServiceBusQueue", + "ServiceBusTopic", + "AzureFunction" + ], + "type": "string", + "x-ms-enum": { + "name": "EndpointType", + "modelAsString": true + } + } + }, + "discriminator": "endpointType" + }, + "EventSubscription": { + "description": "Event Subscription", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EventSubscriptionProperties", + "description": "Properties of the event subscription.", + "x-ms-client-flatten": true + } + } + }, + "EventSubscriptionUpdateParameters": { + "description": "Properties of the Event Subscription update.", + "type": "object", + "properties": { + "destination": { + "$ref": "#/definitions/EventSubscriptionDestination", + "description": "Information about the destination where events have to be delivered for the event subscription." + }, + "filter": { + "$ref": "#/definitions/EventSubscriptionFilter", + "description": "Information about the filter for the event subscription." + }, + "labels": { + "description": "List of user defined labels.", + "type": "array", + "items": { + "type": "string" + } + }, + "expirationTimeUtc": { + "format": "date-time", + "description": "Information about the expiration time for the event subscription.", + "type": "string" + }, + "eventDeliverySchema": { + "description": "The event delivery schema for the event subscription.", + "enum": [ + "EventGridSchema", + "CustomInputSchema", + "CloudEventSchemaV1_0" + ], + "type": "string", + "x-ms-enum": { + "name": "EventDeliverySchema", + "modelAsString": true + } + }, + "retryPolicy": { + "$ref": "#/definitions/RetryPolicy", + "description": "The retry policy for events. This can be used to configure maximum number of delivery attempts and time to live for events." + }, + "deadLetterDestination": { + "$ref": "#/definitions/DeadLetterDestination", + "description": "The DeadLetter destination of the event subscription." + } + } + }, + "EventSubscriptionFullUrl": { + "description": "Full endpoint url of an event subscription", + "type": "object", + "properties": { + "endpointUrl": { + "description": "The URL that represents the endpoint of the destination of an event subscription.", + "type": "string" + } + } + }, + "EventSubscriptionsListResult": { + "description": "Result of the List EventSubscriptions operation", + "type": "object", + "properties": { + "value": { + "description": "A collection of EventSubscriptions", + "type": "array", + "items": { + "$ref": "#/definitions/EventSubscription" + } + }, + "nextLink": { + "description": "A link for the next page of event subscriptions", + "type": "string" + } + } + }, + "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" + } + } + }, + "PrivateEndpointConnectionListResult": { + "description": "Result of the list of all private endpoint connections operation.", + "type": "object", + "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.", + "type": "object", + "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": { + "type": "object", + "properties": { + "groupId": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "requiredMembers": { + "type": "array", + "items": { + "type": "string" + } + }, + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "PrivateLinkResourcesListResult": { + "description": "Result of the List private link resources operation.", + "type": "object", + "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" + } + } + }, + "TopicProperties": { + "description": "Properties of the Topic", + "type": "object", + "properties": { + "privateEndpointConnections": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "provisioningState": { + "description": "Provisioning state of the topic.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "TopicProvisioningState", + "modelAsString": true + } + }, + "endpoint": { + "description": "Endpoint for the topic.", + "type": "string", + "readOnly": true + }, + "inputSchema": { + "description": "This determines the format that Event Grid should expect for incoming events published to the topic.", + "enum": [ + "EventGridSchema", + "CustomEventSchema", + "CloudEventSchemaV1_0" + ], + "type": "string", + "x-ms-enum": { + "name": "InputSchema", + "modelAsString": true + }, + "default": "EventGridSchema" + }, + "inputSchemaMapping": { + "$ref": "#/definitions/InputSchemaMapping", + "description": "This enables publishing using custom event schemas. An InputSchemaMapping can be specified to map various properties of a source schema to various required properties of the EventGridEvent schema." + }, + "metricResourceId": { + "description": "Metric resource id for the topic.", + "type": "string", + "readOnly": true + }, + "publicNetworkAccess": { + "description": "This determines if traffic is allowed over public network. By default it is enabled. \r\nYou can further restrict to specific IPs by configuring ", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + }, + "inboundIpRules": { + "description": "This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled.", + "type": "array", + "items": { + "$ref": "#/definitions/InboundIpRule" + } + } + } + }, + "Topic": { + "description": "EventGrid Topic", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/TopicProperties", + "description": "Properties of the topic.", + "x-ms-client-flatten": true + } + } + }, + "TopicUpdateParameters": { + "description": "Properties of the Topic update", + "type": "object", + "properties": { + "tags": { + "description": "Tags of the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/TopicUpdateParameterProperties", + "description": "Properties of the resource.", + "x-ms-client-flatten": true + } + } + }, + "TopicUpdateParameterProperties": { + "description": "Information of topic update parameter properties.", + "type": "object", + "properties": { + "publicNetworkAccess": { + "description": "This determines if traffic is allowed over public network. By default it is enabled. \r\nYou can further restrict to specific IPs by configuring ", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + }, + "inboundIpRules": { + "description": "This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled.", + "type": "array", + "items": { + "$ref": "#/definitions/InboundIpRule" + } + } + } + }, + "TopicsListResult": { + "description": "Result of the List Topics operation", + "type": "object", + "properties": { + "value": { + "description": "A collection of Topics", + "type": "array", + "items": { + "$ref": "#/definitions/Topic" + } + }, + "nextLink": { + "description": "A link for the next page of topics", + "type": "string" + } + } + }, + "TopicSharedAccessKeys": { + "description": "Shared access keys of the Topic", + "type": "object", + "properties": { + "key1": { + "description": "Shared access key1 for the topic.", + "type": "string" + }, + "key2": { + "description": "Shared access key2 for the topic.", + "type": "string" + } + } + }, + "TopicRegenerateKeyRequest": { + "description": "Topic regenerate share access key request", + "required": [ + "keyName" + ], + "type": "object", + "properties": { + "keyName": { + "description": "Key name to regenerate key1 or key2", + "type": "string" + } + } + }, + "EventTypesListResult": { + "description": "Result of the List Event Types operation", + "type": "object", + "properties": { + "value": { + "description": "A collection of event types", + "type": "array", + "items": { + "$ref": "#/definitions/EventType" + } + } + } + }, + "EventTypeProperties": { + "description": "Properties of the event type", + "type": "object", + "properties": { + "displayName": { + "description": "Display name of the event type.", + "type": "string" + }, + "description": { + "description": "Description of the event type.", + "type": "string" + }, + "schemaUrl": { + "description": "Url of the schema for this event type.", + "type": "string" + }, + "isInDefaultSet": { + "description": "IsInDefaultSet flag of the event type.", + "type": "boolean" + } + } + }, + "EventType": { + "description": "Event Type for a subject under a topic", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EventTypeProperties", + "description": "Properties of the event type.", + "x-ms-client-flatten": true + } + } + }, + "TopicTypesListResult": { + "description": "Result of the List Topic Types operation", + "type": "object", + "properties": { + "value": { + "description": "A collection of topic types", + "type": "array", + "items": { + "$ref": "#/definitions/TopicTypeInfo" + } + } + } + }, + "TopicTypeProperties": { + "description": "Properties of a topic type.", + "type": "object", + "properties": { + "provider": { + "description": "Namespace of the provider of the topic type.", + "type": "string" + }, + "displayName": { + "description": "Display Name for the topic type.", + "type": "string" + }, + "description": { + "description": "Description of the topic type.", + "type": "string" + }, + "resourceRegionType": { + "description": "Region type of the resource.", + "enum": [ + "RegionalResource", + "GlobalResource" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceRegionType", + "modelAsString": true + } + }, + "provisioningState": { + "description": "Provisioning state of the topic type", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "TopicTypeProvisioningState", + "modelAsString": true + } + }, + "supportedLocations": { + "description": "List of locations supported by this topic type.", + "type": "array", + "items": { + "type": "string" + } + }, + "sourceResourceFormat": { + "description": "Source resource format.", + "type": "string" + } + } + }, + "TopicTypeInfo": { + "description": "Properties of a topic type info.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/TopicTypeProperties", + "description": "Properties of the topic type info", + "x-ms-client-flatten": true + } + } + } + }, + "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" + }, + "FilterParameter": { + "name": "$filter", + "in": "query", + "description": "The query used to filter the search results using OData syntax. Filtering is permitted on the 'name' property only and with limited number of OData operations. These operations are: the 'contains' function as well as the following logical operations: not, and, or, eq (for equal), and ne (for not equal). No arithmetic operations are supported. The following is a valid filter example: $filter=contains(namE, 'PATTERN') and name ne 'PATTERN-1'. The following is not a valid filter example: $filter=location eq 'westus'.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "TopParameter": { + "name": "$top", + "in": "query", + "description": "The number of results to return per page for the list operation. Valid range for top parameter is 1 to 100. If not specified, the default number of results to be returned is 20 items per page.", + "required": false, + "type": "integer", + "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/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/DomainTopics_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/DomainTopics_CreateOrUpdate.json new file mode 100644 index 000000000000..ede0597d632c --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/DomainTopics_CreateOrUpdate.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain1", + "domainTopicName": "exampledomaintopic1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "201": { + "body": { + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1/topics/exampledomaintopic1", + "name": "exampledomaintopic1", + "type": "Microsoft.EventGrid/domains/topics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/DomainTopics_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/DomainTopics_Delete.json new file mode 100644 index 000000000000..2f7779e09554 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/DomainTopics_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain1", + "domainTopicName": "exampledomaintopic1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/DomainTopics_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/DomainTopics_Get.json new file mode 100644 index 000000000000..71d3a4e79f5b --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/DomainTopics_Get.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain2", + "domainTopicName": "topic1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2/topics/topic1", + "name": "topic1", + "properties": { + "provisioningState": "Succeeded" + }, + "type": "Microsoft.EventGrid/domains/topics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/DomainTopics_ListByDomain.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/DomainTopics_ListByDomain.json new file mode 100644 index 000000000000..e2b8d873c8a1 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/DomainTopics_ListByDomain.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain2", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/devexprg/providers/Microsoft.EventGrid/domains/domainCli100/topics/domainCli100topic1", + "name": "domainCli100topic1", + "properties": { + "provisioningState": "Succeeded" + }, + "type": "Microsoft.EventGrid/domains/topics" + }, + { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/devexprg/providers/Microsoft.EventGrid/domains/domainCli100/topics/domainCli100topic2", + "name": "domainCli100topic2", + "properties": { + "provisioningState": "Succeeded" + }, + "type": "Microsoft.EventGrid/domains/topics" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Domains_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Domains_CreateOrUpdate.json new file mode 100644 index 000000000000..75423f7c4dd3 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Domains_CreateOrUpdate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain1", + "api-version": "2020-04-01-preview", + "domainInfo": { + "location": "westus2", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "publicNetworkAccess": "Enabled", + "inboundIpRules": [ + { + "ipMask": "12.18.30.15", + "action": "Allow" + }, + { + "ipMask": "12.18.176.1", + "action": "Allow" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "endpoint": "https://exampledomain1.westus2-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Enabled", + "inboundIpRules": [ + { + "ipMask": "12.18.30.15", + "action": "Allow" + }, + { + "ipMask": "12.18.176.1", + "action": "Allow" + } + ] + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1", + "location": "westus2", + "name": "exampledomain1", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/domains" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Domains_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Domains_Delete.json new file mode 100644 index 000000000000..a963710c69a0 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Domains_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Domains_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Domains_Get.json new file mode 100644 index 000000000000..958fd7e429fe --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Domains_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain2", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "endpoint": "https://exampledomain2.westcentralus-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2", + "location": "westcentralus", + "name": "exampledomain2", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/domains" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Domains_ListByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Domains_ListByResourceGroup.json new file mode 100644 index 000000000000..a5615d47e6f4 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Domains_ListByResourceGroup.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "endpoint": "https://exampledomain1.westus2-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1", + "location": "westus2", + "name": "exampledomain1", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/domains" + }, + { + "properties": { + "endpoint": "https://exampledomain2.westcentralus-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2", + "location": "westcentralus", + "name": "exampledomain2", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/domains" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Domains_ListBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Domains_ListBySubscription.json new file mode 100644 index 000000000000..065fd4370397 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Domains_ListBySubscription.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "endpoint": "https://exampledomain1.westus2-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1", + "location": "westus2", + "name": "exampledomain1", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/domains" + }, + { + "properties": { + "endpoint": "https://exampledomain2.westcentralus-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2", + "location": "westcentralus", + "name": "exampledomain2", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/domains" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Domains_ListSharedAccessKeys.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Domains_ListSharedAccessKeys.json new file mode 100644 index 000000000000..bb783cf243eb --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Domains_ListSharedAccessKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain2", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "key1": "Rqfq5wWxtQnIQJyswP0Uh/hqQfDDMUOYyQSYEpx5e5g=", + "key2": "sesymbkIXMtZVqXEFHarJmdGmZjjnY+BZC8yRD/FeuA=" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Domains_RegenerateKey.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Domains_RegenerateKey.json new file mode 100644 index 000000000000..4183eca19edb --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Domains_RegenerateKey.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain2", + "api-version": "2020-04-01-preview", + "regenerateKeyRequest": { + "keyName": "key1" + } + }, + "responses": { + "200": { + "body": { + "key1": "Rqfq5wWxtQnIQJyswP0Uh/hqQfDDMUOYyQSYEpx5e5g=", + "key2": "sesymbkIXMtZVqXEFHarJmdGmZjjnY+BZC8yRD/FeuA=" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Domains_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Domains_Update.json new file mode 100644 index 000000000000..3e59834b75b9 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Domains_Update.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain1", + "api-version": "2020-04-01-preview", + "domainUpdateParameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "publicNetworkAccess": "Enabled", + "inboundIpRules": [ + { + "ipMask": "12.18.30.15", + "action": "Allow" + }, + { + "ipMask": "12.18.176.1", + "action": "Allow" + } + ] + } + } + }, + "responses": { + "200": {}, + "201": { + "body": { + "properties": { + "endpoint": "https://exampledomain1.westus2-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Enabled", + "inboundIpRules": [ + { + "ipMask": "12.18.30.15", + "action": "Allow" + }, + { + "ipMask": "12.18.176.1", + "action": "Allow" + } + ] + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1", + "location": "westus2", + "name": "exampledomain1", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/domains" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination.json new file mode 100644 index 000000000000..10b5ef006c40 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2020-04-01-preview", + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "eventSubscriptionName": "examplesubscription1", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "EventHub", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1" + }, + "endpointType": "EventHub" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "provisioningState": "Creating", + "labels": null, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination.json new file mode 100644 index 000000000000..85f8874c8544 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2020-04-01-preview", + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "eventSubscriptionName": "examplesubscription1", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "HybridConnection", + "properties": { + "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Relay/namespaces/ContosoNamespace/hybridConnections/HC1" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Relay/namespaces/ContosoNamespace/hybridConnections/HC1" + }, + "endpointType": "HybridConnection" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "provisioningState": "Creating", + "labels": null, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination.json new file mode 100644 index 000000000000..9a43e885730f --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2020-04-01-preview", + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "eventSubscriptionName": "examplesubscription1", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "StorageQueue", + "properties": { + "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "queueName": "queue1" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "queueName": "queue1" + }, + "endpointType": "StorageQueue" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "provisioningState": "Creating", + "labels": null, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination.json new file mode 100644 index 000000000000..2fbdb457220b --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2020-04-01-preview", + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "eventSubscriptionName": "examplesubscription1", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "EventHub", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_CreateOrUpdateForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_CreateOrUpdateForResource.json new file mode 100644 index 000000000000..c59f022421cf --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_CreateOrUpdateForResource.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1", + "eventSubscriptionName": "examplesubscription10", + "api-version": "2020-04-01-preview", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10", + "name": "examplesubscription10", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json new file mode 100644 index 000000000000..04328d84faca --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg", + "eventSubscriptionName": "examplesubscription2", + "api-version": "2020-04-01-preview", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2", + "name": "examplesubscription2", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_CreateOrUpdateForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_CreateOrUpdateForSubscription.json new file mode 100644 index 000000000000..21ec84b751b7 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_CreateOrUpdateForSubscription.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "eventSubscriptionName": "examplesubscription3", + "api-version": "2020-04-01-preview", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": false + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3", + "name": "examplesubscription3", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_DeleteForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_DeleteForCustomTopic.json new file mode 100644 index 000000000000..cb910cec146b --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_DeleteForCustomTopic.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "202": {}, + "204": {}, + "200": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_DeleteForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_DeleteForResource.json new file mode 100644 index 000000000000..a36dd4a32c41 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_DeleteForResource.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1", + "eventSubscriptionName": "examplesubscription10", + "api-version": "2020-04-01-preview" + }, + "responses": { + "202": {}, + "204": {}, + "200": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_DeleteForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_DeleteForResourceGroup.json new file mode 100644 index 000000000000..bbb6787b1c16 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_DeleteForResourceGroup.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg", + "eventSubscriptionName": "examplesubscription2", + "api-version": "2020-04-01-preview" + }, + "responses": { + "202": {}, + "204": {}, + "200": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_DeleteForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_DeleteForSubscription.json new file mode 100644 index 000000000000..c49193c06193 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_DeleteForSubscription.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "eventSubscriptionName": "examplesubscription3", + "api-version": "2020-04-01-preview" + }, + "responses": { + "202": {}, + "204": {}, + "200": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_GetForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_GetForCustomTopic.json new file mode 100644 index 000000000000..86bf95ba4550 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_GetForCustomTopic.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_GetForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_GetForResource.json new file mode 100644 index 000000000000..a7e3c1d00558 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_GetForResource.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1" + }, + "endpointType": "EventHub" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_GetForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_GetForResourceGroup.json new file mode 100644 index 000000000000..0bd3f3bf5d49 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_GetForResourceGroup.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg", + "eventSubscriptionName": "examplesubscription2", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2", + "name": "examplesubscription2", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_GetForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_GetForSubscription.json new file mode 100644 index 000000000000..fc62fa15469d --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_GetForSubscription.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "eventSubscriptionName": "examplesubscription3", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3", + "name": "examplesubscription3", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_GetFullUrlForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_GetFullUrlForCustomTopic.json new file mode 100644 index 000000000000..29de0d132965 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_GetFullUrlForCustomTopic.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "endpointUrl": "https://requestb.in/15ksip71" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_GetFullUrlForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_GetFullUrlForResource.json new file mode 100644 index 000000000000..6946be90eca8 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_GetFullUrlForResource.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "endpointUrl": "https://requestb.in/15ksip71" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_GetFullUrlForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_GetFullUrlForResourceGroup.json new file mode 100644 index 000000000000..e5fe18fe955b --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_GetFullUrlForResourceGroup.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg", + "eventSubscriptionName": "examplesubscription2", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "endpointUrl": "https://requestb.in/15ksip71" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_GetFullUrlForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_GetFullUrlForSubscription.json new file mode 100644 index 000000000000..d93adff17991 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_GetFullUrlForSubscription.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "eventSubscriptionName": "examplesubscription3", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "endpointUrl": "https://requestb.in/15ksip71" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListByDomainTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListByDomainTopic.json new file mode 100644 index 000000000000..27c0593c0f98 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListByDomainTopic.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "domain1", + "topicName": "topic1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/domains/domain1/topics/topic1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/domain1/topics/topic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/domains/domain1/topics/topic1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/domain1/topics/topic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2", + "name": "examplesubscription2", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "labels": [], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/domains/domain1/topics/topic1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/domain1/topics/topic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3", + "name": "examplesubscription3", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListByResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListByResource.json new file mode 100644 index 000000000000..3db6b0fd2706 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListByResource.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerNamespace": "Microsoft.EventGrid", + "resourceTypeName": "topics", + "resourceName": "exampletopic2", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2", + "name": "examplesubscription2", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "labels": [], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3", + "name": "examplesubscription3", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListGlobalByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListGlobalByResourceGroup.json new file mode 100644 index 000000000000..2dc73fcc99eb --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListGlobalByResourceGroup.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2", + "name": "examplesubscription2", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription4", + "name": "examplesubscription4", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json new file mode 100644 index 000000000000..b736f9c55616 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicTypeName": "Microsoft.Resources.ResourceGroups", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3", + "name": "examplesubscription3", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListGlobalBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListGlobalBySubscription.json new file mode 100644 index 000000000000..d36d2cfc0344 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListGlobalBySubscription.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2", + "name": "examplesubscription2", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription4", + "name": "examplesubscription4", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json new file mode 100644 index 000000000000..ccb726cbbdff --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "topicTypeName": "Microsoft.Resources.Subscriptions", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3", + "name": "examplesubscription3", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListRegionalByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListRegionalByResourceGroup.json new file mode 100644 index 000000000000..156d635fa0fc --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListRegionalByResourceGroup.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "location": "westus2", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10", + "name": "examplesubscription10", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription11", + "name": "examplesubscription11", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json new file mode 100644 index 000000000000..217df915989d --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "location": "westus2", + "topicTypeName": "Microsoft.EventHub.namespaces", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10", + "name": "examplesubscription10", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription11", + "name": "examplesubscription11", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListRegionalBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListRegionalBySubscription.json new file mode 100644 index 000000000000..704a5fb25abd --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListRegionalBySubscription.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "location": "westus2", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1" + }, + "endpointType": "EventHub" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10", + "name": "examplesubscription10", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription11", + "name": "examplesubscription11", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json new file mode 100644 index 000000000000..15c67841ca99 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "location": "westus2", + "topicTypeName": "Microsoft.EventHub.namespaces", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10", + "name": "examplesubscription10", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription11", + "name": "examplesubscription11", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_UpdateForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_UpdateForCustomTopic.json new file mode 100644 index 000000000000..f90c2732c92c --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_UpdateForCustomTopic.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2020-04-01-preview", + "eventSubscriptionUpdateParameters": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ] + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_UpdateForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_UpdateForResource.json new file mode 100644 index 000000000000..bce346c335c4 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_UpdateForResource.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2020-04-01-preview", + "eventSubscriptionUpdateParameters": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ] + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_UpdateForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_UpdateForResourceGroup.json new file mode 100644 index 000000000000..59f8b6db5756 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_UpdateForResourceGroup.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg", + "eventSubscriptionName": "examplesubscription2", + "api-version": "2020-04-01-preview", + "eventSubscriptionUpdateParameters": { + "destination": { + "endpointType": "EventHub", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1" + } + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ] + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2", + "name": "examplesubscription2", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_UpdateForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_UpdateForSubscription.json new file mode 100644 index 000000000000..673dc543afef --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/EventSubscriptions_UpdateForSubscription.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "eventSubscriptionName": "examplesubscription3", + "api-version": "2020-04-01-preview", + "eventSubscriptionUpdateParameters": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ] + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3", + "name": "examplesubscription3", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Operations_List.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Operations_List.json new file mode 100644 index 000000000000..e0bc0bbee3dd --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Operations_List.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.EventGrid/register/action", + "display": { + "provider": "Microsoft Event Grid", + "resource": "EventGrid Resource Provider", + "operation": "Registers the EventGrid Resource Provider", + "description": "Registers the eventSubscription for the EventGrid resource provider and enables the creation of Event Grid subscriptions." + }, + "origin": "UserAndSystem" + }, + { + "name": "Microsoft.EventGrid/eventSubscriptions/write", + "display": { + "provider": "Microsoft Event Grid", + "resource": "eventSubscriptions", + "operation": "Write EventSubscription", + "description": "Create or update a eventSubscription" + }, + "origin": "UserAndSystem" + }, + { + "name": "Microsoft.EventGrid/eventSubscriptions/read", + "display": { + "provider": "Microsoft Event Grid", + "resource": "eventSubscriptions", + "operation": "Read EventSubscription", + "description": "Read a eventSubscription" + }, + "origin": "UserAndSystem" + }, + { + "name": "Microsoft.EventGrid/eventSubscriptions/delete", + "display": { + "provider": "Microsoft Event Grid", + "resource": "eventSubscriptions", + "operation": "Delete EventSubscription", + "description": "Delete a eventSubscription" + }, + "origin": "UserAndSystem" + }, + { + "name": "Microsoft.EventGrid/topics/write", + "display": { + "provider": "Microsoft Event Grid", + "resource": "topics", + "operation": "Write Topic", + "description": "Create or update a topic" + }, + "origin": "UserAndSystem" + }, + { + "name": "Microsoft.EventGrid/topics/read", + "display": { + "provider": "Microsoft Event Grid", + "resource": "topics", + "operation": "Read Topic", + "description": "Read a topic" + }, + "origin": "UserAndSystem" + }, + { + "name": "Microsoft.EventGrid/topics/delete", + "display": { + "provider": "Microsoft Event Grid", + "resource": "topics", + "operation": "Delete Topic", + "description": "Delete a topic" + }, + "origin": "UserAndSystem" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/PrivateEndpointConnections_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/PrivateEndpointConnections_Delete.json new file mode 100644 index 000000000000..0b9b52011235 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/PrivateEndpointConnections_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "parentType": "topics", + "parentName": "exampletopic1", + "privateEndpointConnectionName": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "api-version": "2020-04-01-preview" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/PrivateEndpointConnections_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/PrivateEndpointConnections_Get.json new file mode 100644 index 000000000000..650d12fc40e1 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/PrivateEndpointConnections_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "parentType": "topics", + "parentName": "exampletopic1", + "privateEndpointConnectionName": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5" + }, + "groupIds": [ + "topic" + ], + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Test", + "actionsRequired": "None" + }, + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/privateEndpointConnections/BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "name": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "type": "Microsoft.EventGrid/topics/privateEndpointConnections" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/PrivateEndpointConnections_ListByResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/PrivateEndpointConnections_ListByResource.json new file mode 100644 index 000000000000..c16c488defbc --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/PrivateEndpointConnections_ListByResource.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "parentType": "topics", + "parentName": "exampletopic1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5" + }, + "groupIds": [ + "topic" + ], + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Test", + "actionsRequired": "None" + }, + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/privateEndpointConnections/BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "name": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "type": "Microsoft.EventGrid/topics/privateEndpointConnections" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/PrivateEndpointConnections_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/PrivateEndpointConnections_Update.json new file mode 100644 index 000000000000..05dbe5771842 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/PrivateEndpointConnections_Update.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "parentType": "topics", + "parentName": "exampletopic1", + "privateEndpointConnectionName": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "api-version": "2020-04-01-preview", + "privateEndpointConnection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approving connection", + "actionsRequired": "None" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5" + }, + "groupIds": [ + "topic" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approving connection", + "actionsRequired": "None" + }, + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/privateEndpointConnections/BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "name": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "type": "Microsoft.EventGrid/topics/privateEndpointConnections" + } + }, + "201": { + "body": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5" + }, + "groupIds": [ + "topic" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approving connection", + "actionsRequired": "None" + }, + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/privateEndpointConnections/BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "name": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "type": "Microsoft.EventGrid/topics/privateEndpointConnections" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/PrivateLinkResources_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/PrivateLinkResources_Get.json new file mode 100644 index 000000000000..aaca5edd77a2 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/PrivateLinkResources_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "parentType": "topics", + "parentName": "exampletopic1", + "privateLinkResourceName": "topic", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "groupId": "topic", + "displayName": "Event Grid topic", + "requiredMembers": [ + "topic" + ], + "requiredZoneNames": [ + "privatelink.eventgrid.azure.net" + ] + }, + "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/amh/providers/Microsoft.EventGrid/topics/exampletopic1/privateLinkResources/topic", + "name": "topic", + "type": "Microsoft.EventGrid/topics/privateLinkResources" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/PrivateLinkResources_ListByResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/PrivateLinkResources_ListByResource.json new file mode 100644 index 000000000000..613d05b44e05 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/PrivateLinkResources_ListByResource.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "parentType": "topics", + "parentName": "exampletopic1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "groupId": "topic", + "displayName": "Event Grid topic", + "requiredMembers": [ + "topic" + ], + "requiredZoneNames": [ + "privatelink.eventgrid.azure.net" + ] + }, + "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/amh/providers/Microsoft.EventGrid/topics/exampletopic1/privateLinkResources/topic", + "name": "topic", + "type": "Microsoft.EventGrid/topics/privateLinkResources" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/TopicTypes_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/TopicTypes_Get.json new file mode 100644 index 000000000000..8a5b5b95dc18 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/TopicTypes_Get.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "topicTypeName": "Microsoft.Storage.StorageAccounts", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "Microsoft Storage service events.", + "displayName": "Storage Accounts", + "provider": "Microsoft.Storage", + "provisioningState": "Succeeded", + "resourceRegionType": "RegionalResource" + }, + "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts", + "name": "Microsoft.Storage.StorageAccounts", + "type": "Microsoft.EventGrid/topicTypes" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/TopicTypes_List.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/TopicTypes_List.json new file mode 100644 index 000000000000..06bb41c66f85 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/TopicTypes_List.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "Microsoft EventHubs service events.", + "displayName": "EventHubs Namespace", + "provider": "Microsoft.Eventhub", + "provisioningState": "Succeeded", + "resourceRegionType": "RegionalResource" + }, + "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Eventhub.Namespaces", + "name": "Microsoft.Eventhub.Namespaces", + "type": "Microsoft.EventGrid/topicTypes" + }, + { + "properties": { + "description": "Microsoft Storage service events.", + "displayName": "Storage Accounts", + "provider": "Microsoft.Storage", + "provisioningState": "Succeeded", + "resourceRegionType": "RegionalResource" + }, + "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts", + "name": "Microsoft.Storage.StorageAccounts", + "type": "Microsoft.EventGrid/topicTypes" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/TopicTypes_ListEventTypes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/TopicTypes_ListEventTypes.json new file mode 100644 index 000000000000..98e62df5aa9e --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/TopicTypes_ListEventTypes.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "topicTypeName": "Microsoft.Storage.StorageAccounts", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "displayName": "Blob Created", + "description": "Raised when a blob is created.", + "schemaUrl": "tbd" + }, + "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts/eventTypes/Microsoft.Storage.BlobCreated", + "name": "Microsoft.Storage.BlobCreated", + "type": "Microsoft.EventGrid/topicTypes/eventTypes" + }, + { + "properties": { + "description": "Raised when a blob is deleted.", + "schemaUrl": "tbd", + "displayName": "Blob Deleted" + }, + "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts/eventTypes/Microsoft.Storage.BlobDeleted", + "name": "Microsoft.Storage.BlobDeleted", + "type": "Microsoft.EventGrid/topicTypes/eventTypes" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Topics_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Topics_CreateOrUpdate.json new file mode 100644 index 000000000000..5df2e89d6b4c --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Topics_CreateOrUpdate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicName": "exampletopic1", + "api-version": "2020-04-01-preview", + "topicInfo": { + "location": "westus2", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "publicNetworkAccess": "Enabled", + "inboundIpRules": [ + { + "ipMask": "12.18.30.15", + "action": "Allow" + }, + { + "ipMask": "12.18.176.1", + "action": "Allow" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "endpoint": "https://exampletopic1.westus2-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Enabled", + "inboundIpRules": [ + { + "ipMask": "12.18.30.15", + "action": "Allow" + }, + { + "ipMask": "12.18.176.1", + "action": "Allow" + } + ] + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "location": "westus2", + "name": "exampletopic1", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/topics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Topics_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Topics_Delete.json new file mode 100644 index 000000000000..8ad5954e6073 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Topics_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicName": "exampletopic1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Topics_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Topics_Get.json new file mode 100644 index 000000000000..5a447d1cbf5a --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Topics_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicName": "exampletopic2", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "endpoint": "https://exampletopic2.westcentralus-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "location": "westcentralus", + "name": "exampletopic2", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/topics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Topics_ListByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Topics_ListByResourceGroup.json new file mode 100644 index 000000000000..26462c27abda --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Topics_ListByResourceGroup.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "endpoint": "https://exampletopic1.westus2-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "location": "westus2", + "name": "exampletopic1", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/topics" + }, + { + "properties": { + "endpoint": "https://exampletopic2.westcentralus-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "location": "westcentralus", + "name": "exampletopic2", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/topics" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Topics_ListBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Topics_ListBySubscription.json new file mode 100644 index 000000000000..12aef1a81833 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Topics_ListBySubscription.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "endpoint": "https://exampletopic1.westus2-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "location": "westus2", + "name": "exampletopic1", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/topics" + }, + { + "properties": { + "endpoint": "https://exampletopic2.westcentralus-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "location": "westcentralus", + "name": "exampletopic2", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/topics" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Topics_ListEventTypes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Topics_ListEventTypes.json new file mode 100644 index 000000000000..5e5180b28c06 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Topics_ListEventTypes.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerNamespace": "Microsoft.Storage", + "resourceTypeName": "storageAccounts", + "resourceName": "ExampleStorageAccount", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "Raised when a blob is created.", + "schemaUrl": "tbd", + "displayName": "Blob Created" + }, + "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts/eventTypes/Microsoft.Storage.BlobCreated", + "name": "Microsoft.Storage.BlobCreated", + "type": "Microsoft.EventGrid/topicTypes/eventTypes" + }, + { + "properties": { + "description": "Raised when a blob is deleted.", + "schemaUrl": "tbd", + "displayName": "Blob Deleted" + }, + "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts/eventTypes/Microsoft.Storage.BlobDeleted", + "name": "Microsoft.Storage.BlobDeleted", + "type": "Microsoft.EventGrid/topicTypes/eventTypes" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Topics_ListSharedAccessKeys.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Topics_ListSharedAccessKeys.json new file mode 100644 index 000000000000..069d13770226 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Topics_ListSharedAccessKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicName": "exampletopic2", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "key1": "Rqfq5wWxtQnIQJyswP0Uh/hqQfDDMUOYyQSYEpx5e5g=", + "key2": "sesymbkIXMtZVqXEFHarJmdGmZjjnY+BZC8yRD/FeuA=" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Topics_RegenerateKey.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Topics_RegenerateKey.json new file mode 100644 index 000000000000..a60093e80029 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Topics_RegenerateKey.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicName": "exampletopic2", + "api-version": "2020-04-01-preview", + "regenerateKeyRequest": { + "keyName": "key1" + } + }, + "responses": { + "200": { + "body": { + "key1": "Rqfq5wWxtQnIQJyswP0Uh/hqQfDDMUOYyQSYEpx5e5g=", + "key2": "sesymbkIXMtZVqXEFHarJmdGmZjjnY+BZC8yRD/FeuA=" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Topics_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Topics_Update.json new file mode 100644 index 000000000000..71edda7cf0a7 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/examples/Topics_Update.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicName": "exampletopic1", + "api-version": "2020-04-01-preview", + "topicUpdateParameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "publicNetworkAccess": "Enabled", + "inboundIpRules": [ + { + "ipMask": "12.18.30.15", + "action": "Allow" + }, + { + "ipMask": "12.18.176.1", + "action": "Allow" + } + ] + } + } + }, + "responses": { + "200": {}, + "201": { + "body": { + "properties": { + "endpoint": "https://exampletopic1.westus2-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Enabled", + "inboundIpRules": [ + { + "ipMask": "12.18.30.15", + "action": "Allow" + }, + { + "ipMask": "12.18.176.1", + "action": "Allow" + } + ] + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "location": "westus2", + "name": "exampletopic1", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/topics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/readme.go.md b/specification/eventgrid/resource-manager/readme.go.md index f1cac68b146f..a3120a996830 100644 --- a/specification/eventgrid/resource-manager/readme.go.md +++ b/specification/eventgrid/resource-manager/readme.go.md @@ -13,6 +13,7 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-06 - tag: package-2020-04-preview - tag: package-2020-01-preview - tag: package-2019-06 @@ -25,6 +26,15 @@ batch: - tag: package-2017-06-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-04-preview and go These settings apply only when `--tag=package-2020-04-preview --go` is specified on the command line. @@ -43,7 +53,6 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-06' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.eventgrid.v2020_06_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/eventgrid/mgmt-v2020_06_01 +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2020-04-preview and java These settings apply only when `--tag=package-2020-04-preview --java` is specified on the command line. diff --git a/specification/eventgrid/resource-manager/readme.md b/specification/eventgrid/resource-manager/readme.md index e6f25e877148..85b509c238ed 100644 --- a/specification/eventgrid/resource-manager/readme.md +++ b/specification/eventgrid/resource-manager/readme.md @@ -26,7 +26,16 @@ These are the global settings for the Azure EventGrid API. ``` yaml openapi-type: arm -tag: package-2020-04-preview +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.EventGrid/stable/2020-06-01/EventGrid.json ``` ### Tag: package-2020-04-preview @@ -47,7 +56,6 @@ input-file: - Microsoft.EventGrid/preview/2020-01-01-preview/EventGrid.json ``` - ### Tag: package-2019-06 These settings apply only when `--tag=package-2019-06` is specified on the command line. @@ -202,6 +210,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json - $(this-folder)/Microsoft.EventGrid/preview/2020-04-01-preview/EventGrid.json - $(this-folder)/Microsoft.EventGrid/preview/2020-01-01-preview/EventGrid.json - $(this-folder)/Microsoft.EventGrid/stable/2019-06-01/EventGrid.json @@ -215,11 +224,10 @@ input-file: ``` -If there are files that should not be in the `all-api-versions` set, +If there are files that should not be in the `all-api-versions` set, uncomment the `exclude-file` section below and add the file paths. ``` yaml $(tag) == 'all-api-versions' -#exclude-file: +#exclude-file: # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json ``` - diff --git a/specification/eventgrid/resource-manager/readme.ruby.md b/specification/eventgrid/resource-manager/readme.ruby.md index 0d2823e2c8a9..18381c4c396e 100644 --- a/specification/eventgrid/resource-manager/readme.ruby.md +++ b/specification/eventgrid/resource-manager/readme.ruby.md @@ -12,6 +12,7 @@ azure-arm: true ``` yaml $(ruby) && $(multiapi) batch: + - tag: package-2020-06 - tag: package-2020-04-preview - tag: package-2020-01-preview - tag: package-2019-06 @@ -24,6 +25,16 @@ batch: - tag: package-2017-06-preview ``` +### Tag: package-2020-06 and ruby +These settings apply only when `--tag=package-2020-06 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-06' && $(ruby) + +namespace: "Azure::EventGrid::Mgmt::V2020_06_01" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_event_grid/lib +``` + ### Tag: package-2020-01-preview and ruby These settings apply only when `--tag=package-2020-04-preview --ruby` is specified on the command line. Please also specify `--ruby-sdks-folder=`. 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 a31517c688e1..4c22e44c12d0 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 @@ -37,9 +37,9 @@ "/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/availableClusterRegions": { "get": { "tags": [ - "Event Hubs Clusters" + "Event Hubs Clusters AvailableClusterRegions" ], - "operationId": "Clusters_ListAvailableClusters", + "operationId": "Clusters_ListAvailableClusterRegion", "x-ms-examples": { "ListAvailableClusters": { "$ref": "./examples/Clusters/ListAvailableClustersGet.json" 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 e96bca0885db..548a7852cd5f 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 @@ -37,7 +37,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters": { "get": { "tags": [ - "Event Hubs Clusters" + "EventHubs Clusters" ], "operationId": "Clusters_ListByResourceGroup", "x-ms-examples": { @@ -79,7 +79,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}": { "get": { "tags": [ - "Event Hubs Cluster" + "EventHubs Clusters" ], "operationId": "Clusters_Get", "x-ms-examples": { @@ -119,9 +119,9 @@ }, "put": { "tags": [ - "Event Hubs Cluster" + "EventHubs Clusters" ], - "operationId": "Clusters_Put", + "operationId": "Clusters_CreateOrUpdate", "x-ms-examples": { "ClusterPut": { "$ref": "./examples/Clusters/ClusterPut.json" @@ -138,6 +138,18 @@ { "$ref": "../../common/v1/definitions.json#/parameters/ClusterNameParameter" }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Cluster", + "required": [ + "location" + ] + }, + "description": "Parameters for creating a eventhub cluster resource." + }, { "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } @@ -169,9 +181,9 @@ }, "patch": { "tags": [ - "Event Hubs Cluster" + "EventHubs Clusters" ], - "operationId": "Clusters_Patch", + "operationId": "Clusters_Update", "x-ms-examples": { "ClusterPatch": { "$ref": "./examples/Clusters/ClusterPatch.json" @@ -228,7 +240,7 @@ }, "delete": { "tags": [ - "Event Hubs Cluster" + "EventHubs Clusters" ], "operationId": "Clusters_Delete", "x-ms-examples": { @@ -274,7 +286,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}/namespaces": { "get": { "tags": [ - "Event Hubs Namespace Enumeration in Cluster" + "EventHubs Clusters Namespace" ], "operationId": "Clusters_ListNamespaces", "parameters": [ @@ -324,12 +336,12 @@ "properties": { "x-ms-client-flatten": true, "properties": { - "created": { + "createdAt": { "readOnly": true, "type": "string", "description": "The UTC time when the Event Hubs Cluster was created." }, - "updated": { + "updatedAt": { "readOnly": true, "type": "string", "description": "The UTC time when the Event Hubs Cluster was last updated." diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/Clusters/ClusterGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/Clusters/ClusterGet.json index decf1dc12a9f..60fa11022b25 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/Clusters/ClusterGet.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/Clusters/ClusterGet.json @@ -21,8 +21,8 @@ "capacity": 4 }, "properties": { - "created": "2017-05-24T23:23:27.877Z", - "updated": "2017-05-24T23:23:27.877Z", + "createdAt": "2017-05-24T23:23:27.877Z", + "updatedAt": "2017-05-24T23:23:27.877Z", "metricId": "SN6-008" } } diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/Clusters/ClusterPatch.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/Clusters/ClusterPatch.json index 49d40843e81d..081bc32e0b32 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/Clusters/ClusterPatch.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/Clusters/ClusterPatch.json @@ -28,8 +28,8 @@ "capacity": 4 }, "properties": { - "created": "2017-06-01T21:37:04.46Z", - "updated": "2017-06-01T21:37:53.413Z", + "createdAt": "2017-06-01T21:37:04.46Z", + "updatedAt": "2017-06-01T21:37:53.413Z", "metricId": "SN6-008" } } @@ -49,8 +49,8 @@ "capacity": 4 }, "properties": { - "created": "2017-06-01T21:37:04.46Z", - "updated": "2017-06-01T21:37:53.413Z", + "createdAt": "2017-06-01T21:37:04.46Z", + "updatedAt": "2017-06-01T21:37:53.413Z", "metricId": "SN6-008" } } diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/Clusters/ClusterPut.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/Clusters/ClusterPut.json index 47d7194db72e..26ea0cba1a87 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/Clusters/ClusterPut.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/Clusters/ClusterPut.json @@ -6,7 +6,7 @@ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", "parameters": { "sku": { - "tier": "Dedicated", + "name": "Dedicated", "capacity": 1 }, "location": "South Central US", @@ -32,8 +32,8 @@ "capacity": 1 }, "properties": { - "created": "2017-05-24T23:23:27.877Z", - "updated": "2017-05-24T23:23:27.877Z", + "createdAt": "2017-05-24T23:23:27.877Z", + "updatedAt": "2017-05-24T23:23:27.877Z", "metricId": "SN6-008" } } @@ -53,8 +53,8 @@ "capacity": 1 }, "properties": { - "created": "2017-05-24T23:23:27.877Z", - "updated": "2017-05-24T23:23:27.877Z", + "createdAt": "2017-05-24T23:23:27.877Z", + "updatedAt": "2017-05-24T23:23:27.877Z", "metricId": "SN6-008" } } diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/Clusters/ClustersListByResourceGroup.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/Clusters/ClustersListByResourceGroup.json index 8f80c72ed5c0..e2e896382d1c 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/Clusters/ClustersListByResourceGroup.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/Clusters/ClustersListByResourceGroup.json @@ -19,8 +19,8 @@ "capacity": 4 }, "properties": { - "created": "2016-09-13T23:17:25.24Z", - "updated": "2016-09-13T23:17:28.223Z", + "createdAt": "2016-09-13T23:17:25.24Z", + "updatedAt": "2016-09-13T23:17:28.223Z", "metricId": "SN6-008" } } 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 3117aeec05db..7382364c2424 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 @@ -37,7 +37,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/ipfilterrules": { "get": { "tags": [ - "Namespaces" + "IpFilterRules" ], "operationId": "Namespaces_ListIPFilterRules", "x-ms-examples": { @@ -82,7 +82,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/ipfilterrules/{ipFilterRuleName}": { "put": { "tags": [ - "Namespaces" + "IpFilterRules" ], "operationId": "Namespaces_CreateOrUpdateIpFilterRule", "x-ms-examples": { @@ -134,7 +134,7 @@ }, "delete": { "tags": [ - "Namespaces" + "IpFilterRules" ], "operationId": "Namespaces_DeleteIpFilterRule", "x-ms-examples": { @@ -177,7 +177,7 @@ }, "get": { "tags": [ - "Namespaces" + "IpFilterRules" ], "operationId": "Namespaces_GetIpFilterRule", "x-ms-examples": { 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 fbf741fc7b1f..ec6f1f0a20c5 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 @@ -37,7 +37,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/networkRuleSets/default": { "put": { "tags": [ - "Namespaces" + "NetworkRuleSets" ], "x-ms-examples": { "NameSpaceNetworkRuleSetCreate": { @@ -86,7 +86,7 @@ }, "get": { "tags": [ - "Namespaces" + "NetworkRuleSets" ], "x-ms-examples": { "NameSpaceNetworkRuleSetGet": { 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 a5104a699020..bbadf4caec7d 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 @@ -37,7 +37,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}/quotaConfiguration/default": { "patch": { "tags": [ - "Event Hubs Cluster Configuration" + "Event Hubs Clusters Configuration" ], "operationId": "Configuration_Patch", "parameters": [ @@ -98,7 +98,7 @@ }, "get": { "tags": [ - "Event Hubs Cluster Configuration" + "Event Hubs Clusters Configuration" ], "operationId": "Configuration_Get", "parameters": [ 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 4e1b10f54503..fc417f5a93f5 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 @@ -37,7 +37,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/virtualnetworkrules": { "get": { "tags": [ - "Namespaces" + "VirtualNetworkRules" ], "operationId": "Namespaces_ListVirtualNetworkRules", "x-ms-examples": { @@ -82,7 +82,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/virtualnetworkrules/{virtualNetworkRuleName}": { "put": { "tags": [ - "Namespaces" + "VirtualNetworkRules" ], "operationId": "Namespaces_CreateOrUpdateVirtualNetworkRule", "x-ms-examples": { @@ -134,7 +134,7 @@ }, "delete": { "tags": [ - "Namespaces" + "VirtualNetworkRules" ], "operationId": "Namespaces_DeleteVirtualNetworkRule", "x-ms-examples": { @@ -177,7 +177,7 @@ }, "get": { "tags": [ - "Namespaces" + "VirtualNetworkRules" ], "operationId": "Namespaces_GetVirtualNetworkRule", "x-ms-examples": { 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 a9a69b03b22c..28d3422cedb3 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 @@ -37,7 +37,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules": { "get": { "tags": [ - "Namespaces" + "AuthorizationRules Namespaces" ], "operationId": "Namespaces_ListAuthorizationRules", "x-ms-examples": { @@ -82,7 +82,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}": { "put": { "tags": [ - "Namespaces" + "AuthorizationRules Namespaces" ], "operationId": "Namespaces_CreateOrUpdateAuthorizationRule", "x-ms-examples": { @@ -134,7 +134,7 @@ }, "delete": { "tags": [ - "Namespaces" + "AuthorizationRules Namespaces" ], "operationId": "Namespaces_DeleteAuthorizationRule", "x-ms-examples": { @@ -177,7 +177,7 @@ }, "get": { "tags": [ - "Namespaces" + "AuthorizationRules Namespaces" ], "operationId": "Namespaces_GetAuthorizationRule", "x-ms-examples": { @@ -222,7 +222,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/listKeys": { "post": { "tags": [ - "Namespaces" + "AuthorizationRules Namespaces" ], "operationId": "Namespaces_ListKeys", "x-ms-examples": { @@ -267,7 +267,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/regenerateKeys": { "post": { "tags": [ - "Namespaces" + "AuthorizationRules Namespaces" ], "operationId": "Namespaces_RegenerateKeys", "x-ms-examples": { @@ -321,7 +321,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/authorizationRules": { "get": { "tags": [ - "DisasterRecoveryConfigs" + "AuthorizationRules DisasterRecoveryConfigs" ], "operationId": "DisasterRecoveryConfigs_ListAuthorizationRules", "x-ms-examples": { @@ -369,7 +369,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/authorizationRules/{authorizationRuleName}": { "get": { "tags": [ - "DisasterRecoveryConfigs" + "AuthorizationRules DisasterRecoveryConfigs" ], "operationId": "DisasterRecoveryConfigs_GetAuthorizationRule", "x-ms-examples": { @@ -417,7 +417,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/authorizationRules/{authorizationRuleName}/listKeys": { "post": { "tags": [ - "DisasterRecoveryConfigs" + "AuthorizationRules DisasterRecoveryConfigs" ], "operationId": "DisasterRecoveryConfigs_ListKeys", "x-ms-examples": { @@ -465,7 +465,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules": { "get": { "tags": [ - "EventHubs" + "AuthorizationRules EventHubs" ], "operationId": "EventHubs_ListAuthorizationRules", "x-ms-examples": { @@ -513,7 +513,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}": { "put": { "tags": [ - "EventHubs" + "AuthorizationRules EventHubs" ], "operationId": "EventHubs_CreateOrUpdateAuthorizationRule", "x-ms-examples": { @@ -662,7 +662,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/listKeys": { "post": { "tags": [ - "EventHubs" + "AuthorizationRules EventHubs" ], "operationId": "EventHubs_ListKeys", "x-ms-examples": { @@ -710,7 +710,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/regenerateKeys": { "post": { "tags": [ - "EventHubs" + "AuthorizationRules EventHubs" ], "operationId": "EventHubs_RegenerateKeys", "x-ms-examples": { 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 3dbed5304f40..d8b451acdd39 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 @@ -37,7 +37,7 @@ "/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/checkNameAvailability": { "post": { "tags": [ - "Namespaces" + "CheckNameAvailability Namespaces" ], "operationId": "Namespaces_CheckNameAvailability", "x-ms-examples": { 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 c9ab9ef1e42a..68c26c6f4bba 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 @@ -37,7 +37,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/checkNameAvailability": { "post": { "tags": [ - "DisasterRecoveryConfigs" + "CheckNameAvailability DisasterRecoveryConfigs" ], "operationId": "DisasterRecoveryConfigs_CheckNameAvailability", "x-ms-examples": { 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 83abb842fa9f..b58303be6651 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 @@ -330,7 +330,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/messagingplan": { "get": { "tags": [ - "Namespaces" + "MessagingPlan" ], "operationId": "Namespaces_GetMessagingPlan", "x-ms-examples": { 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 d32c36ffc602..edb72a67288c 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 @@ -37,7 +37,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/networkRuleSets/default": { "put": { "tags": [ - "Namespaces" + "NetworkRuleSets" ], "x-ms-examples": { "NameSpaceNetworkRuleSetCreate": { @@ -86,7 +86,7 @@ }, "get": { "tags": [ - "Namespaces" + "NetworkRuleSets" ], "x-ms-examples": { "NameSpaceNetworkRuleSetGet": { @@ -128,7 +128,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/networkRuleSets": { "get": { "tags": [ - "Namespaces" + "NetWorkRuleSets" ], "x-ms-examples": { "NameSpaceNetworkRuleSetList": { diff --git a/specification/eventhub/resource-manager/readme.md b/specification/eventhub/resource-manager/readme.md index f1cda0ee1161..a8da92c7327c 100644 --- a/specification/eventhub/resource-manager/readme.md +++ b/specification/eventhub/resource-manager/readme.md @@ -106,6 +106,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python after_scripts: - python ./scripts/multiapi_init_gen.py azure-mgmt-eventhub + - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go - repo: azure-sdk-for-js diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/CheckFrontdoorNameAvailability.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/CheckFrontdoorNameAvailability.json new file mode 100644 index 000000000000..6ed0361df5f9 --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/CheckFrontdoorNameAvailability.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "checkFrontDoorNameAvailabilityInput": { + "name": "sampleName", + "type": "Microsoft.Network/frontDoors" + } + }, + "responses": { + "200": { + "body": { + "nameAvailability": "Unavailable", + "reason": "Name is already in use", + "message": "Name not available" + } + } + } +} diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/CheckFrontdoorNameAvailabilityWithSubscription.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/CheckFrontdoorNameAvailabilityWithSubscription.json new file mode 100644 index 000000000000..a75e065770e8 --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/CheckFrontdoorNameAvailabilityWithSubscription.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "subscriptionId": "subid", + "checkFrontDoorNameAvailabilityInput": { + "name": "sampleName", + "type": "Microsoft.Network/frontDoors/frontendEndpoints" + } + }, + "responses": { + "200": { + "body": { + "nameAvailability": "Unavailable", + "reason": "Name is already in use", + "message": "Name not available" + } + } + } +} diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorCreate.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorCreate.json new file mode 100644 index 000000000000..252b26e1fa78 --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorCreate.json @@ -0,0 +1,568 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "frontDoorName": "frontDoor1", + "frontDoorParameters": { + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "routingRules": [ + { + "name": "routingRule1", + "properties": { + "frontendEndpoints": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default" + } + ], + "acceptedProtocols": [ + "Http" + ], + "patternsToMatch": [ + "/*" + ], + "routeConfiguration": { + "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", + "backendPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1" + } + }, + "rulesEngine": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/rulesEngines/rulesEngine1" + }, + "enabledState": "Enabled", + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1" + } + } + } + ], + "healthProbeSettings": [ + { + "name": "healthProbeSettings1", + "properties": { + "path": "/", + "protocol": "Http", + "intervalInSeconds": 120, + "enabledState": "Enabled", + "healthProbeMethod": "HEAD" + } + } + ], + "loadBalancingSettings": [ + { + "name": "loadBalancingSettings1", + "properties": { + "sampleSize": 4, + "successfulSamplesRequired": 2 + } + } + ], + "backendPools": [ + { + "name": "backendPool1", + "properties": { + "backends": [ + { + "address": "w3.contoso.com", + "httpPort": 80, + "httpsPort": 443, + "weight": 1, + "priority": 2 + }, + { + "address": "contoso.com.website-us-west-2.othercloud.net", + "httpPort": 80, + "httpsPort": 443, + "weight": 2, + "priority": 1 + }, + { + "privateLinkAlias": "SQLSERVER.d84e61f0-0870-4d24-9746-7438fa0019d1.westus2.azure.privatelinkservice", + "privateLinkApprovalMessage": "Please approve this request to connect to the Private Link", + "address": "10.0.1.5", + "httpPort": 80, + "httpsPort": 443, + "weight": 1, + "priority": 1 + } + ], + "loadBalancingSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1" + }, + "healthProbeSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1" + } + } + } + ], + "frontendEndpoints": [ + { + "name": "frontendEndpoint1", + "properties": { + "hostName": "www.contoso.com", + "sessionAffinityEnabledState": "Enabled", + "sessionAffinityTtlSeconds": 60, + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1" + } + } + }, + { + "name": "default", + "properties": { + "hostName": "frontDoor1.azurefd.net" + } + } + ], + "backendPoolsSettings": { + "enforceCertificateNameCheck": "Enabled", + "sendRecvTimeoutSeconds": 60 + }, + "enabledState": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1", + "name": "frontDoor1", + "type": "Microsoft.Network/frontDoor", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "routingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/routingRule1", + "name": "routingRule1", + "properties": { + "frontendEndpoints": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default" + } + ], + "acceptedProtocols": [ + "Http" + ], + "patternsToMatch": [ + "/*" + ], + "routeConfiguration": { + "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", + "customForwardingPath": "", + "forwardingProtocol": "MatchRequest", + "backendPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1" + } + }, + "rulesEngine": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/rulesEngines/rulesEngine1" + }, + "enabledState": "Enabled", + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1" + } + } + } + ], + "healthProbeSettings": [ + { + "name": "healthProbeSettings1", + "properties": { + "path": "/", + "protocol": "Http", + "intervalInSeconds": 120, + "enabledState": "Enabled", + "healthProbeMethod": "HEAD" + } + } + ], + "loadBalancingSettings": [ + { + "name": "loadBalancingSettings1", + "properties": { + "sampleSize": 4, + "successfulSamplesRequired": 2 + } + } + ], + "backendPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1", + "name": "backendPool1", + "properties": { + "backends": [ + { + "address": "w3.contoso.com", + "httpPort": 80, + "httpsPort": 443, + "enabledState": "Enabled", + "weight": 1, + "priority": 2 + }, + { + "address": "contoso.com.website-us-west-2.othercloud.net", + "httpPort": 80, + "httpsPort": 443, + "enabledState": "Enabled", + "weight": 2, + "priority": 1 + }, + { + "privateLinkAlias": "SQLSERVER.d84e61f0-0870-4d24-9746-7438fa0019d1.westus2.azure.privatelinkservice", + "privateEndpointStatus": "Pending", + "privateLinkApprovalMessage": "Please approve the connection request for this Private Link", + "address": "10.0.1.5", + "httpPort": 80, + "httpsPort": 443, + "enabledState": "Enabled", + "weight": 1, + "priority": 1 + } + ], + "loadBalancingSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1" + }, + "healthProbeSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1" + } + } + } + ], + "frontendEndpoints": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1", + "name": "frontendEndpoint1", + "properties": { + "hostName": "www.contoso.com", + "sessionAffinityEnabledState": "Enabled", + "sessionAffinityTtlSeconds": 60, + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1" + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default", + "name": "default", + "properties": { + "hostName": "frontDoor1.azurefd.net" + } + } + ], + "backendPoolsSettings": { + "enforceCertificateNameCheck": "Enabled", + "sendRecvTimeoutSeconds": 60 + }, + "enabledState": "Enabled", + "resourceState": "Creating", + "provisioningState": "Succeeded", + "cname": "frontDoor1.azurefd.net" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1", + "name": "frontDoor1", + "type": "Microsoft.Network/frontDoor", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "routingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/routingRule1", + "name": "routingRule1", + "properties": { + "frontendEndpoints": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default" + } + ], + "acceptedProtocols": [ + "Http" + ], + "patternsToMatch": [ + "/*" + ], + "routeConfiguration": { + "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", + "customForwardingPath": "", + "forwardingProtocol": "MatchRequest", + "backendPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1" + } + }, + "rulesEngine": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/rulesEngines/rulesEngine1" + }, + "enabledState": "Enabled", + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1" + } + } + } + ], + "healthProbeSettings": [ + { + "name": "healthProbeSettings1", + "properties": { + "path": "/", + "protocol": "Http", + "intervalInSeconds": 120, + "enabledState": "Enabled", + "healthProbeMethod": "HEAD" + } + } + ], + "loadBalancingSettings": [ + { + "name": "loadBalancingSettings1", + "properties": { + "sampleSize": 4, + "successfulSamplesRequired": 2 + } + } + ], + "backendPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1", + "name": "backendPool1", + "properties": { + "backends": [ + { + "address": "w3.contoso.com", + "httpPort": 80, + "httpsPort": 443, + "enabledState": "Enabled", + "weight": 1, + "priority": 2 + }, + { + "address": "contoso.com.website-us-west-2.othercloud.net", + "httpPort": 80, + "httpsPort": 443, + "enabledState": "Enabled", + "weight": 2, + "priority": 1 + }, + { + "privateLinkAlias": "SQLSERVER.d84e61f0-0870-4d24-9746-7438fa0019d1.westus2.azure.privatelinkservice", + "privateEndpointStatus": "Approved", + "privateLinkApprovalMessage": "Please approve the connection request for this Private Link", + "address": "10.0.1.5", + "httpPort": 80, + "httpsPort": 443, + "enabledState": "Enabled", + "weight": 1, + "priority": 1 + } + ], + "loadBalancingSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1" + }, + "healthProbeSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1" + } + } + } + ], + "frontendEndpoints": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1", + "name": "frontendEndpoint1", + "properties": { + "hostName": "www.contoso.com", + "sessionAffinityEnabledState": "Enabled", + "sessionAffinityTtlSeconds": 60, + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1" + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default", + "name": "default", + "properties": { + "hostName": "frontDoor1.azurefd.net" + } + } + ], + "backendPoolsSettings": { + "enforceCertificateNameCheck": "Enabled", + "sendRecvTimeoutSeconds": 60 + }, + "enabledState": "Enabled", + "resourceState": "Creating", + "provisioningState": "Provisioning", + "cname": "frontDoor1.azurefd.net" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1", + "name": "frontDoor1", + "type": "Microsoft.Network/frontDoor", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "routingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/routingRule1", + "name": "routingRule1", + "properties": { + "frontendEndpoints": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default" + } + ], + "acceptedProtocols": [ + "Http" + ], + "patternsToMatch": [ + "/*" + ], + "routeConfiguration": { + "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", + "customForwardingPath": "", + "forwardingProtocol": "MatchRequest", + "backendPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1" + } + }, + "rulesEngine": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/rulesEngines/rulesEngine1" + }, + "enabledState": "Enabled", + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1" + } + } + } + ], + "healthProbeSettings": [ + { + "name": "healthProbeSettings1", + "properties": { + "path": "/", + "protocol": "Http", + "intervalInSeconds": 120, + "enabledState": "Enabled", + "healthProbeMethod": "HEAD" + } + } + ], + "loadBalancingSettings": [ + { + "name": "loadBalancingSettings1", + "properties": { + "sampleSize": 4, + "successfulSamplesRequired": 2 + } + } + ], + "backendPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1", + "name": "backendPool1", + "properties": { + "backends": [ + { + "address": "w3.contoso.com", + "httpPort": 80, + "httpsPort": 443, + "enabledState": "Enabled", + "weight": 1, + "priority": 2 + }, + { + "address": "contoso.com.website-us-west-2.othercloud.net", + "httpPort": 80, + "httpsPort": 443, + "enabledState": "Enabled", + "weight": 2, + "priority": 1 + }, + { + "privateLinkAlias": "SQLSERVER.d84e61f0-0870-4d24-9746-7438fa0019d1.westus2.azure.privatelinkservice", + "privateEndpointStatus": "Approved", + "privateLinkApprovalMessage": "Please approve the connection request for this Private Link", + "address": "10.0.1.5", + "httpPort": 80, + "httpsPort": 443, + "enabledState": "Enabled", + "weight": 1, + "priority": 1 + } + ], + "loadBalancingSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1" + }, + "healthProbeSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1" + } + } + } + ], + "frontendEndpoints": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1", + "name": "frontendEndpoint1", + "properties": { + "hostName": "www.contoso.com", + "sessionAffinityEnabledState": "Enabled", + "sessionAffinityTtlSeconds": 60, + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1" + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default", + "name": "default", + "properties": { + "hostName": "frontDoor1.azurefd.net" + } + } + ], + "backendPoolsSettings": { + "enforceCertificateNameCheck": "Enabled", + "sendRecvTimeoutSeconds": 60 + }, + "enabledState": "Enabled", + "resourceState": "Creating", + "provisioningState": "Provisioning", + "cname": "frontDoor1.azurefd.net" + } + } + } + } +} diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorDelete.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorDelete.json new file mode 100644 index 000000000000..1c63c3650063 --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "frontDoorName": "frontDoor1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorDisableHttps.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorDisableHttps.json new file mode 100644 index 000000000000..1b8eca16edf0 --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorDisableHttps.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "frontDoorName": "frontDoor1", + "frontendEndpointName": "frontendEndpoint1" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorEnableHttps.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorEnableHttps.json new file mode 100644 index 000000000000..d63017ce37d4 --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorEnableHttps.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "frontDoorName": "frontDoor1", + "frontendEndpointName": "frontendEndpoint1", + "customHttpsConfiguration": { + "certificateSource": "AzureKeyVault", + "protocolType": "ServerNameIndication", + "minimumTlsVersion": "1.0", + "keyVaultCertificateSourceParameters": { + "vault": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.KeyVault/vaults/vault1" + }, + "secretName": "secret1", + "secretVersion": "00000000-0000-0000-0000-000000000000" + } + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorFrontendEndpointGet.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorFrontendEndpointGet.json new file mode 100644 index 000000000000..984e7328de72 --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorFrontendEndpointGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "frontDoorName": "frontDoor1", + "frontendEndpointName": "frontendEndpoint1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1", + "name": "frontendEndpoint1", + "properties": { + "hostName": "www.contoso.com", + "sessionAffinityEnabledState": "Enabled", + "sessionAffinityTtlSeconds": 60, + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1" + } + } + } + } + } +} diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorFrontendEndpointList.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorFrontendEndpointList.json new file mode 100644 index 000000000000..f0ca66197a46 --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorFrontendEndpointList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "frontDoorName": "frontDoor1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1", + "name": "frontendEndpoint1", + "properties": { + "hostName": "www.contoso.com", + "sessionAffinityEnabledState": "Enabled", + "sessionAffinityTtlSeconds": 60, + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1" + } + } + } + ] + } + } + } +} diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorGet.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorGet.json new file mode 100644 index 000000000000..d862d3b7c380 --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorGet.json @@ -0,0 +1,214 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "frontDoorName": "frontDoor1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1", + "name": "frontDoor1", + "type": "Microsoft.Network/frontDoor", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "routingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/routingRule1", + "name": "routingRule1", + "properties": { + "frontendEndpoints": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default" + } + ], + "acceptedProtocols": [ + "Http" + ], + "patternsToMatch": [ + "/*" + ], + "routeConfiguration": { + "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", + "customForwardingPath": "", + "forwardingProtocol": "MatchRequest", + "backendPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1" + } + }, + "rulesEngine": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/rulesEngines/rulesEngine1" + }, + "enabledState": "Enabled", + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1" + } + } + } + ], + "healthProbeSettings": [ + { + "name": "healthProbeSettings1", + "properties": { + "path": "/", + "protocol": "Http", + "intervalInSeconds": 120, + "enabledState": "Enabled", + "healthProbeMethod": "HEAD" + } + } + ], + "loadBalancingSettings": [ + { + "name": "loadBalancingSettings1", + "properties": { + "sampleSize": 4, + "successfulSamplesRequired": 2 + } + } + ], + "backendPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1", + "name": "backendPool1", + "properties": { + "backends": [ + { + "address": "w3.contoso.com", + "httpPort": 80, + "httpsPort": 443, + "enabledState": "Enabled", + "weight": 1, + "priority": 2 + }, + { + "address": "contoso.com.website-us-west-2.othercloud.net", + "httpPort": 80, + "httpsPort": 443, + "enabledState": "Enabled", + "weight": 2, + "priority": 1 + }, + { + "privateLinkAlias": "SQLSERVER.d84e61f0-0870-4d24-9746-7438fa0019d1.westus2.azure.privatelinkservice", + "privateEndpointStatus": "Approved", + "privateLinkApprovalMessage": "Please approve the connection request for this Private Link", + "address": "10.0.1.5", + "httpPort": 80, + "httpsPort": 443, + "enabledState": "Enabled", + "weight": 1, + "priority": 1 + } + ], + "loadBalancingSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1" + }, + "healthProbeSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1" + } + } + } + ], + "frontendEndpoints": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1", + "name": "frontendEndpoint1", + "properties": { + "hostName": "www.contoso.com", + "sessionAffinityEnabledState": "Enabled", + "sessionAffinityTtlSeconds": 60, + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1" + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default", + "name": "default", + "properties": { + "hostName": "frontDoor1.azurefd.net" + } + } + ], + "rulesEngines": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/rulesEngines/rulesEngine1", + "name": "rulesEngine1", + "properties": { + "rules": [ + { + "name": "Rule1", + "priority": 1, + "action": { + "routeConfigurationOverride": { + "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", + "redirectType": "Moved", + "redirectProtocol": "HttpsOnly", + "customHost": "www.bing.com", + "customPath": "/api", + "customFragment": "fragment", + "customQueryString": "a=b" + } + }, + "matchConditions": [ + { + "rulesEngineMatchVariable": "RemoteAddr", + "rulesEngineOperator": "GeoMatch", + "rulesEngineMatchValue": [ + "CH" + ] + } + ], + "matchProcessingBehavior": "Stop" + }, + { + "name": "Rule2", + "priority": 2, + "action": { + "responseHeaderActions": [ + { + "headerActionType": "Overwrite", + "headerName": "Cache-Control", + "value": "public, max-age=31536000" + } + ] + }, + "matchConditions": [ + { + "rulesEngineMatchVariable": "FilenameExtension", + "rulesEngineOperator": "Equal", + "rulesEngineMatchValue": [ + "jpg" + ], + "transforms": [ + "Lowercase" + ] + } + ] + } + ] + } + } + ], + "backendPoolsSettings": { + "enforceCertificateNameCheck": "Enabled", + "sendRecvTimeoutSeconds": 60 + }, + "enabledState": "Enabled", + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "cname": "frontDoor1.azurefd.net" + } + } + } + } +} diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorList.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorList.json new file mode 100644 index 000000000000..01f597e20f3f --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorList.json @@ -0,0 +1,217 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1", + "name": "frontDoor1", + "type": "Microsoft.Network/frontDoor", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "routingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/routingRule1", + "name": "routingRule1", + "properties": { + "frontendEndpoints": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default" + } + ], + "acceptedProtocols": [ + "Http" + ], + "patternsToMatch": [ + "/*" + ], + "routeConfiguration": { + "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", + "customForwardingPath": "", + "forwardingProtocol": "MatchRequest", + "backendPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1" + } + }, + "rulesEngine": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/rulesEngines/rulesEngine1" + }, + "enabledState": "Enabled", + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1" + } + } + } + ], + "healthProbeSettings": [ + { + "name": "healthProbeSettings1", + "properties": { + "path": "/", + "protocol": "Http", + "intervalInSeconds": 120, + "enabledState": "Enabled", + "healthProbeMethod": "HEAD" + } + } + ], + "loadBalancingSettings": [ + { + "name": "loadBalancingSettings1", + "properties": { + "sampleSize": 4, + "successfulSamplesRequired": 2 + } + } + ], + "backendPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1", + "name": "backendPool1", + "properties": { + "backends": [ + { + "address": "w3.contoso.com", + "httpPort": 80, + "httpsPort": 443, + "enabledState": "Enabled", + "weight": 1, + "priority": 2 + }, + { + "address": "contoso.com.website-us-west-2.othercloud.net", + "httpPort": 80, + "httpsPort": 443, + "enabledState": "Enabled", + "weight": 2, + "priority": 1 + }, + { + "privateLinkAlias": "SQLSERVER.d84e61f0-0870-4d24-9746-7438fa0019d1.westus2.azure.privatelinkservice", + "privateEndpointStatus": "Approved", + "privateLinkApprovalMessage": "Please approve the connection request for this Private Link", + "address": "10.0.1.5", + "httpPort": 80, + "httpsPort": 443, + "enabledState": "Enabled", + "weight": 1, + "priority": 1 + } + ], + "loadBalancingSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1" + }, + "healthProbeSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1" + } + } + } + ], + "frontendEndpoints": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1", + "name": "frontendEndpoint1", + "properties": { + "hostName": "www.contoso.com", + "sessionAffinityEnabledState": "Enabled", + "sessionAffinityTtlSeconds": 60, + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1" + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default", + "name": "default", + "properties": { + "hostName": "frontDoor1.azurefd.net" + } + } + ], + "rulesEngines": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/rulesEngine1", + "name": "rulesEngine1", + "properties": { + "rules": [ + { + "name": "Rule1", + "priority": 1, + "action": { + "routeConfigurationOverride": { + "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", + "redirectType": "Moved", + "redirectProtocol": "HttpsOnly", + "customHost": "www.bing.com", + "customPath": "/api", + "customFragment": "fragment", + "customQueryString": "a=b" + } + }, + "matchConditions": [ + { + "rulesEngineMatchVariable": "RemoteAddr", + "rulesEngineOperator": "GeoMatch", + "rulesEngineMatchValue": [ + "CH" + ] + } + ], + "matchProcessingBehavior": "Stop" + }, + { + "name": "Rule2", + "priority": 2, + "action": { + "responseHeaderActions": [ + { + "headerActionType": "Overwrite", + "headerName": "Cache-Control", + "value": "public, max-age=31536000" + } + ] + }, + "matchConditions": [ + { + "rulesEngineMatchVariable": "FilenameExtension", + "rulesEngineOperator": "Equal", + "rulesEngineMatchValue": [ + "jpg" + ], + "transforms": [ + "Lowercase" + ] + } + ] + } + ] + } + } + ], + "backendPoolsSettings": { + "enforceCertificateNameCheck": "Enabled", + "sendRecvTimeoutSeconds": 60 + }, + "enabledState": "Enabled", + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "cname": "frontDoor1.azurefd.net" + } + } + ] + } + } + } +} diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorListAll.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorListAll.json new file mode 100644 index 000000000000..144a1f8e33cb --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorListAll.json @@ -0,0 +1,215 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1", + "name": "frontDoor1", + "type": "Microsoft.Network/frontDoor", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "routingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/routingRule1", + "name": "routingRule1", + "properties": { + "frontendEndpoints": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default" + } + ], + "acceptedProtocols": [ + "Http" + ], + "patternsToMatch": [ + "/*" + ], + "routeConfiguration": { + "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", + "customForwardingPath": "", + "forwardingProtocol": "MatchRequest", + "backendPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1" + } + }, + "rulesEngine": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/rulesEngines/rulesEngine1" + }, + "enabledState": "Enabled", + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1" + } + } + } + ], + "healthProbeSettings": [ + { + "name": "healthProbeSettings1", + "properties": { + "path": "/", + "protocol": "Http", + "intervalInSeconds": 120, + "enabledState": "Enabled", + "healthProbeMethod": "HEAD" + } + } + ], + "loadBalancingSettings": [ + { + "name": "loadBalancingSettings1", + "properties": { + "sampleSize": 4, + "successfulSamplesRequired": 2 + } + } + ], + "backendPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1", + "name": "backendPool1", + "properties": { + "backends": [ + { + "address": "w3.contoso.com", + "httpPort": 80, + "httpsPort": 443, + "enabledState": "Enabled", + "weight": 1, + "priority": 2 + }, + { + "address": "contoso.com.website-us-west-2.othercloud.net", + "httpPort": 80, + "httpsPort": 443, + "enabledState": "Enabled", + "weight": 2, + "priority": 1 + }, + { + "privateLinkAlias": "SQLSERVER.d84e61f0-0870-4d24-9746-7438fa0019d1.westus2.azure.privatelinkservice", + "privateEndpointStatus": "Approved", + "privateLinkApprovalMessage": "Please approve the connection request for this Private Link", + "address": "10.0.1.5", + "httpPort": 80, + "httpsPort": 443, + "enabledState": "Enabled", + "weight": 1, + "priority": 1 + } + ], + "loadBalancingSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1" + }, + "healthProbeSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1" + } + } + } + ], + "frontendEndpoints": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1", + "name": "frontendEndpoint1", + "properties": { + "hostName": "www.contoso.com", + "sessionAffinityEnabledState": "Enabled", + "sessionAffinityTtlSeconds": 60, + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1" + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default", + "name": "default", + "properties": { + "hostName": "frontDoor1.azurefd.net" + } + } + ], + "rulesEngines": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/rulesEngine1", + "name": "rulesEngine1", + "properties": { + "rules": [ + { + "name": "Rule1", + "priority": 1, + "action": { + "routeConfigurationOverride": { + "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", + "redirectType": "Moved", + "redirectProtocol": "HttpsOnly", + "customHost": "www.bing.com", + "customPath": "/api", + "customFragment": "fragment", + "customQueryString": "a=b" + } + }, + "matchConditions": [ + { + "rulesEngineMatchVariable": "RemoteAddr", + "rulesEngineOperator": "GeoMatch", + "rulesEngineMatchValue": [ + "CH" + ] + } + ], + "matchProcessingBehavior": "Stop" + }, + { + "name": "Rule2", + "priority": 2, + "action": { + "responseHeaderActions": [ + { + "headerActionType": "Overwrite", + "headerName": "Cache-Control", + "value": "public, max-age=31536000" + } + ] + }, + "matchConditions": [ + { + "rulesEngineMatchVariable": "FilenameExtension", + "rulesEngineOperator": "Equal", + "rulesEngineMatchValue": [ + "jpg" + ], + "transforms": [ + "Lowercase" + ] + } + ] + } + ] + } + } + ], + "backendPoolsSettings": { + "enforceCertificateNameCheck": "Enabled" + }, + "enabledState": "Enabled", + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "cname": "frontDoor1.azurefd.net" + } + } + ] + } + } + } +} diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorPurgeContent.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorPurgeContent.json new file mode 100644 index 000000000000..a8d47724cba1 --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorPurgeContent.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "frontDoorName": "frontDoor1", + "contentFilePaths": { + "contentPaths": [ + "/pictures.aspx", + "/pictures/*" + ] + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorRulesEngineCreate.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorRulesEngineCreate.json new file mode 100644 index 000000000000..4c929b3b0370 --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorRulesEngineCreate.json @@ -0,0 +1,281 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "frontDoorName": "frontDoor1", + "rulesEngineName": "rulesEngine1", + "rulesEngineParameters": { + "properties": { + "rules": [ + { + "name": "Rule1", + "priority": 1, + "action": { + "routeConfigurationOverride": { + "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", + "redirectType": "Moved", + "redirectProtocol": "HttpsOnly", + "customHost": "www.bing.com", + "customPath": "/api", + "customFragment": "fragment", + "customQueryString": "a=b" + } + }, + "matchConditions": [ + { + "rulesEngineMatchVariable": "RemoteAddr", + "rulesEngineOperator": "GeoMatch", + "rulesEngineMatchValue": [ + "CH" + ] + } + ], + "matchProcessingBehavior": "Stop" + }, + { + "name": "Rule2", + "priority": 2, + "action": { + "responseHeaderActions": [ + { + "headerActionType": "Overwrite", + "headerName": "Cache-Control", + "value": "public, max-age=31536000" + } + ] + }, + "matchConditions": [ + { + "rulesEngineMatchVariable": "RequestFilenameExtension", + "rulesEngineOperator": "Equal", + "rulesEngineMatchValue": [ + "jpg" + ], + "transforms": [ + "Lowercase" + ] + } + ] + }, + { + "name": "Rule3", + "priority": 3, + "action": { + "routeConfigurationOverride": { + "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", + "customForwardingPath": null, + "forwardingProtocol": "HttpsOnly", + "cacheConfiguration": { + "queryParameterStripDirective": "StripOnly", + "queryParameters": "a=b,p=q", + "dynamicCompression": "Disabled", + "cacheDuration": "P1DT12H20M30S" + }, + "backendPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1" + } + } + }, + "matchConditions": [ + { + "rulesEngineMatchVariable": "RequestHeader", + "rulesEngineOperator": "Equal", + "rulesEngineMatchValue": [ + "allowoverride" + ], + "transforms": [ + "Lowercase" + ], + "negateCondition": false, + "selector": "Rules-Engine-Route-Forward" + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/rulesEngines/rulesEngine1", + "name": "rulesEngine1", + "properties": { + "rules": [ + { + "name": "Rule1", + "priority": 1, + "action": { + "routeConfigurationOverride": { + "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", + "redirectType": "Moved", + "redirectProtocol": "HttpsOnly", + "customHost": "www.bing.com", + "customPath": "/api", + "customFragment": "fragment", + "customQueryString": "a=b" + } + }, + "matchConditions": [ + { + "rulesEngineMatchVariable": "RemoteAddr", + "rulesEngineOperator": "GeoMatch", + "rulesEngineMatchValue": [ + "CH" + ] + } + ], + "matchProcessingBehavior": "Stop" + }, + { + "name": "Rule2", + "priority": 2, + "action": { + "responseHeaderActions": [ + { + "headerActionType": "Overwrite", + "headerName": "Cache-Control", + "value": "public, max-age=31536000" + } + ] + }, + "matchConditions": [ + { + "rulesEngineMatchVariable": "RequestFilenameExtension", + "rulesEngineOperator": "Equal", + "rulesEngineMatchValue": [ + "jpg" + ], + "transforms": [ + "Lowercase" + ] + } + ] + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/rulesEngines/rulesEngine1", + "name": "rulesEngine1", + "properties": { + "rules": [ + { + "name": "Rule1", + "priority": 1, + "action": { + "routeConfigurationOverride": { + "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", + "redirectType": "Moved", + "redirectProtocol": "HttpsOnly", + "customHost": "www.bing.com", + "customPath": "/api", + "customFragment": "fragment", + "customQueryString": "a=b" + } + }, + "matchConditions": [ + { + "rulesEngineMatchVariable": "RemoteAddr", + "rulesEngineOperator": "GeoMatch", + "rulesEngineMatchValue": [ + "CH" + ] + } + ], + "matchProcessingBehavior": "Stop" + }, + { + "name": "Rule2", + "priority": 2, + "action": { + "responseHeaderActions": [ + { + "headerActionType": "Overwrite", + "headerName": "Cache-Control", + "value": "public, max-age=31536000" + } + ] + }, + "matchConditions": [ + { + "rulesEngineMatchVariable": "RequestFilenameExtension", + "rulesEngineOperator": "Equal", + "rulesEngineMatchValue": [ + "jpg" + ], + "transforms": [ + "Lowercase" + ] + } + ] + } + ] + } + } + }, + "202": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/rulesEngines/rulesEngine1", + "name": "rulesEngine1", + "properties": { + "rules": [ + { + "name": "Rule1", + "priority": 1, + "action": { + "routeConfigurationOverride": { + "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", + "redirectType": "Moved", + "redirectProtocol": "HttpsOnly", + "customHost": "www.bing.com", + "customPath": "/api", + "customFragment": "fragment", + "customQueryString": "a=b" + } + }, + "matchConditions": [ + { + "rulesEngineMatchVariable": "RemoteAddr", + "rulesEngineOperator": "GeoMatch", + "rulesEngineMatchValue": [ + "CH" + ] + } + ], + "matchProcessingBehavior": "Stop" + }, + { + "name": "Rule2", + "priority": 2, + "action": { + "responseHeaderActions": [ + { + "headerActionType": "Overwrite", + "headerName": "Cache-Control", + "value": "public, max-age=31536000" + } + ] + }, + "matchConditions": [ + { + "rulesEngineMatchVariable": "FilenameExtension", + "rulesEngineOperator": "Equal", + "rulesEngineMatchValue": [ + "jpg" + ], + "transforms": [ + "Lowercase" + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorRulesEngineDelete.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorRulesEngineDelete.json new file mode 100644 index 000000000000..da67c4db4da2 --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorRulesEngineDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "frontDoorName": "frontDoor1", + "rulesEngineName": "rulesEngine1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorRulesEngineGet.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorRulesEngineGet.json new file mode 100644 index 000000000000..d4171bdd7fd9 --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorRulesEngineGet.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "frontDoorName": "frontDoor1", + "rulesEngineName": "rulesEngine1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/rulesEngines/rulesEngine1", + "name": "rulesEngine1", + "properties": { + "rules": [ + { + "name": "Rule1", + "priority": 1, + "action": { + "routeConfigurationOverride": { + "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", + "redirectType": "Moved", + "redirectProtocol": "HttpsOnly", + "customHost": "www.bing.com", + "customPath": "/api", + "customFragment": "fragment", + "customQueryString": "a=b" + } + }, + "matchConditions": [ + { + "rulesEngineMatchVariable": "RemoteAddr", + "rulesEngineOperator": "GeoMatch", + "rulesEngineMatchValue": [ + "CH" + ] + } + ], + "matchProcessingBehavior": "Stop" + }, + { + "name": "Rule2", + "priority": 2, + "action": { + "responseHeaderActions": [ + { + "headerActionType": "Overwrite", + "headerName": "Cache-Control", + "value": "public, max-age=31536000" + } + ] + }, + "matchConditions": [ + { + "rulesEngineMatchVariable": "RequestFilenameExtension", + "rulesEngineOperator": "Equal", + "rulesEngineMatchValue": [ + "jpg" + ], + "transforms": [ + "Lowercase" + ] + } + ] + }, + { + "name": "Rule3", + "priority": 3, + "action": { + "routeConfigurationOverride": { + "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", + "customForwardingPath": null, + "forwardingProtocol": "HttpsOnly", + "cacheConfiguration": { + "queryParameterStripDirective": "StripOnly", + "queryParameters": "a=b,p=q", + "dynamicCompression": "Disabled", + "cacheDuration": "P1DT12H20M30S" + }, + "backendPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1" + } + } + }, + "matchConditions": [ + { + "rulesEngineMatchVariable": "RequestHeader", + "rulesEngineOperator": "Equal", + "rulesEngineMatchValue": [ + "allowoverride" + ], + "transforms": [ + "Lowercase" + ], + "negateCondition": false, + "selector": "Rules-Engine-Route-Forward" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorRulesEngineList.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorRulesEngineList.json new file mode 100644 index 000000000000..5876451c7ebe --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorRulesEngineList.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "frontDoorName": "frontDoor1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/rulesEngines/rulesEngine1", + "name": "rulesEngine1", + "properties": { + "rules": [ + { + "name": "Rule1", + "priority": 1, + "action": { + "routeConfigurationOverride": { + "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", + "redirectType": "Moved", + "redirectProtocol": "HttpsOnly", + "customHost": "www.bing.com", + "customPath": "/api", + "customFragment": "fragment", + "customQueryString": "a=b" + } + }, + "matchConditions": [ + { + "rulesEngineMatchVariable": "RemoteAddr", + "rulesEngineOperator": "GeoMatch", + "rulesEngineMatchValue": [ + "CH" + ] + } + ], + "matchProcessingBehavior": "Stop" + }, + { + "name": "Rule2", + "priority": 2, + "action": { + "responseHeaderActions": [ + { + "headerActionType": "Overwrite", + "headerName": "Cache-Control", + "value": "public, max-age=31536000" + } + ] + }, + "matchConditions": [ + { + "rulesEngineMatchVariable": "RequestFilenameExtension", + "rulesEngineOperator": "Equal", + "rulesEngineMatchValue": [ + "jpg" + ], + "transforms": [ + "Lowercase" + ] + } + ] + }, + { + "name": "Rule3", + "priority": 3, + "action": { + "routeConfigurationOverride": { + "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", + "customForwardingPath": null, + "forwardingProtocol": "HttpsOnly", + "cacheConfiguration": { + "queryParameterStripDirective": "StripOnly", + "queryParameters": "a=b,p=q", + "dynamicCompression": "Disabled", + "cacheDuration": "P1DT12H20M30S" + }, + "backendPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1" + } + } + }, + "matchConditions": [ + { + "rulesEngineMatchVariable": "RequestHeader", + "rulesEngineOperator": "Equal", + "rulesEngineMatchValue": [ + "allowoverride" + ], + "transforms": [ + "Lowercase" + ], + "negateCondition": false, + "selector": "Rules-Engine-Route-Forward" + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorValidateCustomDomain.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorValidateCustomDomain.json new file mode 100644 index 000000000000..9e2e823963b4 --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/FrontdoorValidateCustomDomain.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "frontDoorName": "frontDoor1", + "customDomainProperties": { + "hostName": "www.someDomain.com" + } + }, + "responses": { + "200": { + "body": { + "customDomainValidated": true, + "message": null, + "reason": null + } + } + } +} diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/WafListManagedRuleSets.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/WafListManagedRuleSets.json new file mode 100644 index 000000000000..67ffc7fc2499 --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/WafListManagedRuleSets.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2020-04-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-04-01/examples/WafListPolicies.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/WafListPolicies.json new file mode 100644 index 000000000000..54bb6176f88d --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/WafListPolicies.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "api-version": "2020-04-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-04-01/examples/WafPolicyCreateOrUpdate.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/WafPolicyCreateOrUpdate.json new file mode 100644 index 000000000000..dfbb5d06460e --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/WafPolicyCreateOrUpdate.json @@ -0,0 +1,492 @@ +{ + "parameters": { + "api-version": "2020-04-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-04-01/examples/WafPolicyDelete.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/WafPolicyDelete.json new file mode 100644 index 000000000000..fbb29b09b644 --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/WafPolicyDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "policyName": "Policy1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/WafPolicyGet.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/WafPolicyGet.json new file mode 100644 index 000000000000..1311e82902db --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/examples/WafPolicyGet.json @@ -0,0 +1,127 @@ +{ + "parameters": { + "api-version": "2020-04-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-04-01/frontdoor.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/frontdoor.json new file mode 100644 index 000000000000..04ebb2c6a13b --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/frontdoor.json @@ -0,0 +1,2350 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-04-01", + "title": "FrontDoorManagementClient", + "description": "Use these APIs to manage Azure Front Door resources through the Azure Resource Manager. You must make sure that requests made to these resources are secure." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.Network/checkFrontDoorNameAvailability": { + "post": { + "tags": [ + "CheckFrontDoorNameAvailability" + ], + "description": "Check the availability of a Front Door resource name.", + "operationId": "CheckFrontDoorNameAvailability", + "x-ms-examples": { + "CheckNameAvailability": { + "$ref": "./examples/CheckFrontdoorNameAvailability.json" + } + }, + "parameters": [ + { + "name": "checkFrontDoorNameAvailabilityInput", + "in": "body", + "description": "Input to check.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityInput" + } + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityOutput" + } + }, + "default": { + "description": "Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/checkFrontDoorNameAvailability": { + "post": { + "tags": [ + "CheckFrontDoorNameAvailabilityWithSubscription" + ], + "description": "Check the availability of a Front Door subdomain.", + "operationId": "CheckFrontDoorNameAvailabilityWithSubscription", + "x-ms-examples": { + "CheckNameAvailabilityWithSubscription": { + "$ref": "./examples/CheckFrontdoorNameAvailabilityWithSubscription.json" + } + }, + "parameters": [ + { + "name": "checkFrontDoorNameAvailabilityInput", + "in": "body", + "description": "Input to check.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityInput" + } + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityOutput" + } + }, + "default": { + "description": "Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/frontDoors": { + "get": { + "tags": [ + "FrontDoors" + ], + "description": "Lists all of the Front Doors within an Azure subscription.", + "operationId": "FrontDoors_List", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/FrontDoorListResult" + } + }, + "default": { + "description": "Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all Front Doors": { + "$ref": "./examples/FrontdoorListAll.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors": { + "get": { + "tags": [ + "FrontDoors" + ], + "description": "Lists all of the Front Doors within a resource group under a subscription.", + "operationId": "FrontDoors_ListByResourceGroup", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/FrontDoorListResult" + } + }, + "default": { + "description": "Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Front Doors in a Resource Group": { + "$ref": "./examples/FrontdoorList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}": { + "get": { + "tags": [ + "FrontDoors" + ], + "description": "Gets a Front Door with the specified Front Door name under the specified subscription and resource group.", + "operationId": "FrontDoors_Get", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/frontDoorNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/FrontDoor" + } + }, + "default": { + "description": "Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Front Door": { + "$ref": "./examples/FrontdoorGet.json" + } + } + }, + "put": { + "tags": [ + "FrontDoors" + ], + "description": "Creates a new Front Door with a Front Door name under the specified subscription and resource group.", + "operationId": "FrontDoors_CreateOrUpdate", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/frontDoorNameParameter" + }, + { + "description": "Front Door properties needed to create a new Front Door.", + "in": "body", + "name": "frontDoorParameters", + "required": true, + "schema": { + "$ref": "#/definitions/FrontDoor" + } + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/FrontDoor" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new Front Door has been created.", + "schema": { + "$ref": "#/definitions/FrontDoor" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/FrontDoor" + } + }, + "default": { + "description": "Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update specific Front Door": { + "$ref": "./examples/FrontdoorCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "FrontDoors" + ], + "description": "Deletes an existing Front Door with the specified parameters.", + "operationId": "FrontDoors_Delete", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/frontDoorNameParameter" + }, + { + "$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 Front Door was not found." + }, + "default": { + "description": "Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Front Door": { + "$ref": "./examples/FrontdoorDelete.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/frontDoors/{frontDoorName}/frontendEndpoints": { + "get": { + "tags": [ + "FrontDoors" + ], + "description": "Lists all of the frontend endpoints within a Front Door.", + "operationId": "FrontendEndpoints_ListByFrontDoor", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/frontDoorNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/FrontendEndpointsListResult" + } + }, + "default": { + "description": "Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Frontend endpoints in a Front Door": { + "$ref": "./examples/FrontdoorFrontendEndpointList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}": { + "get": { + "tags": [ + "FrontDoors" + ], + "description": "Gets a Frontend endpoint with the specified name within the specified Front Door.", + "operationId": "FrontendEndpoints_Get", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/frontDoorNameParameter" + }, + { + "$ref": "#/parameters/frontendEndpointNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/FrontendEndpoint" + } + }, + "default": { + "description": "Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Frontend Endpoint": { + "$ref": "./examples/FrontdoorFrontendEndpointGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/purge": { + "post": { + "tags": [ + "FrontDoors" + ], + "description": "Removes a content from Front Door.", + "operationId": "Endpoints_PurgeContent", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/frontDoorNameParameter" + }, + { + "name": "contentFilePaths", + "in": "body", + "description": "The path to the content to be purged. Path can be a full URL, e.g. '/pictures/city.png' which removes a single file, or a directory with a wildcard, e.g. '/pictures/*' which removes all folders and files in the directory.", + "required": true, + "schema": { + "$ref": "#/definitions/PurgeParameters" + } + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Purge content from Front Door": { + "$ref": "./examples/FrontdoorPurgeContent.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/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}/enableHttps": { + "post": { + "tags": [ + "FrontDoors" + ], + "description": "Enables a frontendEndpoint for HTTPS traffic", + "operationId": "FrontendEndpoints_EnableHttps", + "x-ms-examples": { + "FrontendEndpoints_EnableHttps": { + "$ref": "./examples/FrontdoorEnableHttps.json" + } + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/frontDoorNameParameter" + }, + { + "$ref": "#/parameters/frontendEndpointNameParameter" + }, + { + "name": "customHttpsConfiguration", + "in": "body", + "description": "The configuration specifying how to enable HTTPS", + "required": true, + "schema": { + "$ref": "#/definitions/CustomHttpsConfiguration" + } + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}/disableHttps": { + "post": { + "tags": [ + "FrontDoors" + ], + "description": "Disables a frontendEndpoint for HTTPS traffic", + "operationId": "FrontendEndpoints_DisableHttps", + "x-ms-examples": { + "FrontendEndpoints_DisableHttps": { + "$ref": "./examples/FrontdoorDisableHttps.json" + } + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/frontDoorNameParameter" + }, + { + "$ref": "#/parameters/frontendEndpointNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/validateCustomDomain": { + "post": { + "tags": [ + "FrontDoors" + ], + "description": "Validates the custom domain mapping to ensure it maps to the correct Front Door endpoint in DNS.", + "operationId": "FrontDoors_ValidateCustomDomain", + "x-ms-examples": { + "FrontDoor_ValidateCustomDomain": { + "$ref": "./examples/FrontdoorValidateCustomDomain.json" + } + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/frontDoorNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "customDomainProperties", + "in": "body", + "description": "Custom domain to be validated.", + "required": true, + "schema": { + "$ref": "#/definitions/ValidateCustomDomainInput" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ValidateCustomDomainOutput" + } + }, + "default": { + "description": "Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/rulesEngines": { + "get": { + "tags": [ + "FrontDoors" + ], + "description": "Lists all of the Rules Engine Configurations within a Front Door.", + "operationId": "RulesEngines_ListByFrontDoor", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/frontDoorNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/RulesEngineListResult" + } + }, + "default": { + "description": "Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Rules Engine Configurations in a Front Door": { + "$ref": "./examples/FrontdoorRulesEngineList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/rulesEngines/{rulesEngineName}": { + "get": { + "tags": [ + "FrontDoors" + ], + "description": "Gets a Rules Engine Configuration with the specified name within the specified Front Door.", + "operationId": "RulesEngines_Get", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/frontDoorNameParameter" + }, + { + "$ref": "#/parameters/rulesEngineNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/RulesEngine" + } + }, + "default": { + "description": "Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Rules Engine Configuration": { + "$ref": "./examples/FrontdoorRulesEngineGet.json" + } + } + }, + "put": { + "tags": [ + "FrontDoors" + ], + "description": "Creates a new Rules Engine Configuration with the specified name within the specified Front Door.", + "operationId": "RulesEngines_CreateOrUpdate", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/frontDoorNameParameter" + }, + { + "$ref": "#/parameters/rulesEngineNameParameter" + }, + { + "description": "Rules Engine Configuration properties needed to create a new Rules Engine Configuration.", + "in": "body", + "name": "rulesEngineParameters", + "required": true, + "schema": { + "$ref": "#/definitions/RulesEngine" + } + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/RulesEngine" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new RulesEngine has been created.", + "schema": { + "$ref": "#/definitions/RulesEngine" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/RulesEngine" + } + }, + "default": { + "description": "Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update a specific Rules Engine Configuration": { + "$ref": "./examples/FrontdoorRulesEngineCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "FrontDoors" + ], + "description": "Deletes an existing Rules Engine Configuration with the specified parameters.", + "operationId": "RulesEngines_Delete", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/frontDoorNameParameter" + }, + { + "$ref": "#/parameters/rulesEngineNameParameter" + }, + { + "$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 Rules Engine Configuration was not found." + }, + "default": { + "description": "Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Rules Engine Configuration": { + "$ref": "./examples/FrontdoorRulesEngineDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + } + }, + "definitions": { + "FrontDoor": { + "properties": { + "properties": { + "description": "Properties of the Front Door Load Balancer", + "x-ms-client-flatten": true, + "$ref": "#/definitions/FrontDoorProperties" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Front Door represents a collection of backend endpoints to route traffic to along with rules that specify how traffic is sent there." + }, + "FrontDoorUpdateParameters": { + "description": "The properties needed to update a Front Door", + "properties": { + "friendlyName": { + "description": "A friendly name for the frontDoor", + "type": "string" + }, + "routingRules": { + "description": "Routing rules associated with this Front Door.", + "type": "array", + "items": { + "description": "A routing rule", + "$ref": "#/definitions/RoutingRule" + } + }, + "loadBalancingSettings": { + "description": "Load balancing settings associated with this Front Door instance.", + "type": "array", + "items": { + "description": "A load balancing settings", + "$ref": "#/definitions/LoadBalancingSettingsModel" + } + }, + "healthProbeSettings": { + "description": "Health probe settings associated with this Front Door instance.", + "type": "array", + "items": { + "description": "A health probe settings", + "$ref": "#/definitions/HealthProbeSettingsModel" + } + }, + "backendPools": { + "description": "Backend pools available to routing rules.", + "type": "array", + "items": { + "description": "A backend pool", + "$ref": "#/definitions/BackendPool" + } + }, + "frontendEndpoints": { + "description": "Frontend endpoints available to routing rules.", + "type": "array", + "items": { + "description": "A frontend endpoint", + "$ref": "#/definitions/FrontendEndpoint" + } + }, + "backendPoolsSettings": { + "description": "Settings for all backendPools", + "$ref": "#/definitions/BackendPoolsSettings" + }, + "enabledState": { + "description": "Operational status of the Front Door load balancer. Permitted values are 'Enabled' or 'Disabled'", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "FrontDoorEnabledState", + "modelAsString": true + } + } + } + }, + "FrontDoorProperties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "allOf": [ + { + "$ref": "#/definitions/FrontDoorUpdateParameters" + } + ], + "properties": { + "resourceState": { + "description": "Resource status of the Front Door.", + "$ref": "#/definitions/ResourceState" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state of the Front Door." + }, + "cname": { + "readOnly": true, + "type": "string", + "description": "The host that each frontendEndpoint must CNAME to." + }, + "frontdoorId": { + "readOnly": true, + "type": "string", + "description": "The Id of the frontdoor." + }, + "rulesEngines": { + "readOnly": true, + "description": "Rules Engine Configurations available to routing rules.", + "type": "array", + "items": { + "description": "A rules engine configuration.", + "$ref": "#/definitions/RulesEngine" + } + } + } + }, + "FrontDoorListResult": { + "description": "Result of the request to list Front Doors. It contains a list of Front Door objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/FrontDoor" + }, + "description": "List of Front Doors within a resource group." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of Front Door objects if there are any." + } + } + }, + "PurgeParameters": { + "type": "object", + "description": "Parameters required for content purge.", + "required": [ + "contentPaths" + ], + "properties": { + "contentPaths": { + "description": "The path to the content to be purged. Can describe a file path or a wild card directory.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "RoutingRule": { + "properties": { + "properties": { + "description": "Properties of the Front Door Routing Rule", + "x-ms-client-flatten": true, + "$ref": "#/definitions/RoutingRuleProperties" + }, + "name": { + "type": "string", + "description": "Resource name." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "A routing rule represents a specification for traffic to treat and where to send it, along with health probe information." + }, + "RoutingRuleProperties": { + "description": "The JSON object that contains the properties required to create a routing rule.", + "allOf": [ + { + "$ref": "#/definitions/RoutingRuleUpdateParameters" + } + ], + "properties": { + "resourceState": { + "description": "Resource status.", + "$ref": "#/definitions/ResourceState" + } + } + }, + "RoutingRuleListResult": { + "description": "Result of the request to list Routing Rules. It contains a list of Routing Rule objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/RoutingRule" + }, + "description": "List of Routing Rules within a Front Door." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of RoutingRule objects if there are any." + } + } + }, + "RoutingRuleUpdateParameters": { + "description": "Routing rules to apply to an endpoint", + "type": "object", + "properties": { + "frontendEndpoints": { + "description": "Frontend endpoints associated with this rule", + "type": "array", + "items": { + "description": "A reference to a frontend endpoint", + "$ref": "./network.json#/definitions/SubResource" + } + }, + "acceptedProtocols": { + "description": "Protocol schemes to match for this rule", + "type": "array", + "items": { + "type": "string", + "description": "Accepted protocol schemes.", + "enum": [ + "Http", + "Https" + ], + "x-ms-enum": { + "name": "FrontDoorProtocol", + "modelAsString": true + } + } + }, + "patternsToMatch": { + "description": "The route patterns of the rule.", + "type": "array", + "items": { + "type": "string", + "description": "A route pattern of the rule. Must not have any * except possibly after the final / at the end of the path." + } + }, + "enabledState": { + "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "routingRuleEnabledState", + "modelAsString": true + } + }, + "routeConfiguration": { + "description": "A reference to the routing configuration.", + "$ref": "#/definitions/RouteConfiguration" + }, + "rulesEngine": { + "description": "A reference to a specific Rules Engine Configuration to apply to this route.", + "$ref": "./network.json#/definitions/SubResource" + }, + "webApplicationFirewallPolicyLink": { + "description": "Defines the Web Application Firewall policy for each routing rule (if applicable)", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + } + } + } + } + }, + "RouteConfiguration": { + "discriminator": "@odata.type", + "description": "Base class for all types of Route.", + "properties": { + "@odata.type": { + "type": "string" + } + }, + "required": [ + "@odata.type" + ] + }, + "ForwardingConfiguration": { + "description": "Describes Forwarding Route.", + "x-ms-discriminator-value": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration", + "properties": { + "customForwardingPath": { + "description": "A custom path used to rewrite resource paths matched by this rule. Leave empty to use incoming path.", + "type": "string" + }, + "forwardingProtocol": { + "description": "Protocol this rule will use when forwarding traffic to backends.", + "type": "string", + "enum": [ + "HttpOnly", + "HttpsOnly", + "MatchRequest" + ], + "x-ms-enum": { + "name": "FrontDoorForwardingProtocol", + "modelAsString": true + } + }, + "cacheConfiguration": { + "description": "The caching configuration associated with this rule.", + "$ref": "#/definitions/CacheConfiguration" + }, + "backendPool": { + "description": "A reference to the BackendPool which this rule routes to.", + "$ref": "./network.json#/definitions/SubResource" + } + }, + "allOf": [ + { + "$ref": "#/definitions/RouteConfiguration" + } + ] + }, + "RedirectConfiguration": { + "description": "Describes Redirect Route.", + "x-ms-discriminator-value": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration", + "properties": { + "redirectType": { + "description": "The redirect type the rule will use when redirecting traffic.", + "type": "string", + "enum": [ + "Moved", + "Found", + "TemporaryRedirect", + "PermanentRedirect" + ], + "x-ms-enum": { + "name": "FrontDoorRedirectType", + "modelAsString": true + } + }, + "redirectProtocol": { + "description": "The protocol of the destination to where the traffic is redirected", + "type": "string", + "enum": [ + "HttpOnly", + "HttpsOnly", + "MatchRequest" + ], + "x-ms-enum": { + "name": "FrontDoorRedirectProtocol", + "modelAsString": true + } + }, + "customHost": { + "type": "string", + "description": "Host to redirect. Leave empty to use the incoming host as the destination host." + }, + "customPath": { + "type": "string", + "description": "The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path." + }, + "customFragment": { + "type": "string", + "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #." + }, + "customQueryString": { + "description": "The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. The first ? and & will be added automatically so do not include them in the front, but do separate multiple query strings with &.", + "type": "string" + } + }, + "allOf": [ + { + "$ref": "#/definitions/RouteConfiguration" + } + ] + }, + "Backend": { + "description": "Backend address of a frontDoor load balancer.", + "type": "object", + "properties": { + "address": { + "description": "Location of the backend (IP address or FQDN)", + "type": "string" + }, + "privateLinkAlias": { + "description": "The Alias of the Private Link resource. Populating this optional field indicates that this backend is 'Private'", + "type": "string" + }, + "privateEndpointStatus": { + "description": "The Approval status for the connection to the Private Link", + "type": "string", + "readOnly": true, + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected", + "Timeout" + ], + "x-ms-enum": { + "name": "PrivateEndpointStatus", + "modelAsString": true + } + }, + "privateLinkApprovalMessage": { + "description": "A custom message to be included in the approval request to connect to the Private Link", + "type": "string" + }, + "httpPort": { + "description": "The HTTP TCP port number. Must be between 1 and 65535.", + "type": "integer", + "maximum": 65535, + "exclusiveMaximum": false, + "minimum": 1, + "exclusiveMinimum": false + }, + "httpsPort": { + "description": "The HTTPS TCP port number. Must be between 1 and 65535.", + "type": "integer", + "maximum": 65535, + "exclusiveMaximum": false, + "minimum": 1, + "exclusiveMinimum": false + }, + "enabledState": { + "description": "Whether to enable use of this backend. Permitted values are 'Enabled' or 'Disabled'", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "backendEnabledState", + "modelAsString": true + } + }, + "priority": { + "description": "Priority to use for load balancing. Higher priorities will not be used for load balancing if any lower priority backend is healthy.", + "type": "integer", + "maximum": 5, + "minimum": 1 + }, + "weight": { + "description": "Weight of this endpoint for load balancing purposes.", + "type": "integer", + "maximum": 1000, + "minimum": 1 + }, + "backendHostHeader": { + "description": "The value to use as the host header sent to the backend. If blank or unspecified, this defaults to the incoming host.", + "type": "string" + } + } + }, + "LoadBalancingSettingsModel": { + "properties": { + "properties": { + "description": "Properties of the load balancing settings", + "x-ms-client-flatten": true, + "$ref": "#/definitions/LoadBalancingSettingsProperties" + }, + "name": { + "type": "string", + "description": "Resource name." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Load balancing settings for a backend pool" + }, + "LoadBalancingSettingsProperties": { + "description": "The JSON object that contains the properties required to create load balancing settings", + "allOf": [ + { + "$ref": "#/definitions/LoadBalancingSettingsUpdateParameters" + } + ], + "properties": { + "resourceState": { + "description": "Resource status.", + "$ref": "#/definitions/ResourceState" + } + } + }, + "LoadBalancingSettingsListResult": { + "description": "Result of the request to list load balancing settings. It contains a list of load balancing settings objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/LoadBalancingSettingsModel" + }, + "description": "List of Backend Pools within a Front Door." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of LoadBalancingSettings objects if there are any." + } + } + }, + "LoadBalancingSettingsUpdateParameters": { + "description": "Round-Robin load balancing settings for a backend pool", + "type": "object", + "properties": { + "sampleSize": { + "description": "The number of samples to consider for load balancing decisions", + "type": "integer" + }, + "successfulSamplesRequired": { + "description": "The number of samples within the sample period that must succeed", + "type": "integer" + }, + "additionalLatencyMilliseconds": { + "description": "The additional latency in milliseconds for probes to fall into the lowest latency bucket", + "type": "integer" + } + } + }, + "HealthProbeSettingsModel": { + "properties": { + "properties": { + "description": "Properties of the health probe settings", + "x-ms-client-flatten": true, + "$ref": "#/definitions/HealthProbeSettingsProperties" + }, + "name": { + "type": "string", + "description": "Resource name." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Load balancing settings for a backend pool" + }, + "HealthProbeSettingsProperties": { + "description": "The JSON object that contains the properties required to create a health probe settings.", + "allOf": [ + { + "$ref": "#/definitions/HealthProbeSettingsUpdateParameters" + } + ], + "properties": { + "resourceState": { + "description": "Resource status.", + "$ref": "#/definitions/ResourceState" + } + } + }, + "HealthProbeSettingsListResult": { + "description": "Result of the request to list HealthProbeSettings. It contains a list of HealthProbeSettings objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/HealthProbeSettingsModel" + }, + "description": "List of HealthProbeSettings within a Front Door." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of HealthProbeSettings objects if there are any." + } + } + }, + "HealthProbeSettingsUpdateParameters": { + "description": "L7 health probe settings for a backend pool", + "type": "object", + "properties": { + "path": { + "description": "The path to use for the health probe. Default is /", + "type": "string" + }, + "protocol": { + "description": "Protocol scheme to use for this probe", + "type": "string", + "enum": [ + "Http", + "Https" + ], + "x-ms-enum": { + "name": "FrontDoorProtocol", + "modelAsString": true + } + }, + "intervalInSeconds": { + "description": "The number of seconds between health probes.", + "type": "integer" + }, + "healthProbeMethod": { + "description": "Configures which HTTP method to use to probe the backends defined under backendPools.", + "type": "string", + "enum": [ + "GET", + "HEAD" + ], + "x-ms-enum": { + "name": "FrontDoorHealthProbeMethod", + "modelAsString": true + }, + "default": "HEAD" + }, + "enabledState": { + "description": "Whether to enable health probes to be made against backends defined under backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend pool.", + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "HealthProbeEnabled", + "modelAsString": true + } + } + } + }, + "BackendPool": { + "properties": { + "properties": { + "description": "Properties of the Front Door Backend Pool", + "x-ms-client-flatten": true, + "$ref": "#/definitions/BackendPoolProperties" + }, + "name": { + "type": "string", + "description": "Resource name." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "A backend pool is a collection of backends that can be routed to." + }, + "BackendPoolUpdateParameters": { + "description": "A collection of backends that can be routed to.", + "type": "object", + "properties": { + "backends": { + "description": "The set of backends for this pool", + "type": "array", + "items": { + "$ref": "#/definitions/Backend" + } + }, + "loadBalancingSettings": { + "description": "Load balancing settings for a backend pool", + "$ref": "./network.json#/definitions/SubResource" + }, + "healthProbeSettings": { + "description": "L7 health probe settings for a backend pool", + "$ref": "./network.json#/definitions/SubResource" + } + } + }, + "BackendPoolProperties": { + "description": "The JSON object that contains the properties required to create a Backend Pool.", + "allOf": [ + { + "$ref": "#/definitions/BackendPoolUpdateParameters" + } + ], + "properties": { + "resourceState": { + "description": "Resource status.", + "$ref": "#/definitions/ResourceState" + } + } + }, + "BackendPoolListResult": { + "description": "Result of the request to list Backend Pools. It contains a list of Backend Pools objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/BackendPool" + }, + "description": "List of Backend Pools within a Front Door." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of BackendPool objects if there are any." + } + } + }, + "CacheConfiguration": { + "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object.", + "type": "object", + "properties": { + "queryParameterStripDirective": { + "description": "Treatment of URL query terms when forming the cache key.", + "enum": [ + "StripNone", + "StripAll", + "StripOnly", + "StripAllExcept" + ], + "type": "string", + "x-ms-enum": { + "name": "FrontDoorQuery", + "modelAsString": true + } + }, + "queryParameters": { + "description": "query parameters to include or exclude (comma separated).", + "type": "string" + }, + "dynamicCompression": { + "description": "Whether to use dynamic compression for cached content", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "DynamicCompressionEnabled", + "modelAsString": true + } + }, + "cacheDuration": { + "description": "The duration for which the content needs to be cached. Allowed format is in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations). HTTP requires the value to be no more than a year", + "type": "string", + "format": "duration" + } + } + }, + "KeyVaultCertificateSourceParameters": { + "description": "Parameters required for bring-your-own-certification via Key Vault", + "type": "object", + "properties": { + "vault": { + "description": "The Key Vault containing the SSL certificate", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + } + } + }, + "secretName": { + "type": "string", + "description": "The name of the Key Vault secret representing the full certificate PFX" + }, + "secretVersion": { + "type": "string", + "description": "The version of the Key Vault secret representing the full certificate PFX" + } + } + }, + "FrontDoorCertificateSourceParameters": { + "description": "Parameters required for enabling SSL with Front Door-managed certificates", + "type": "object", + "properties": { + "certificateType": { + "description": "Defines the type of the certificate used for secure connections to a frontendEndpoint", + "enum": [ + "Dedicated" + ], + "type": "string", + "x-ms-enum": { + "name": "FrontDoorCertificateType", + "modelAsString": true + } + } + } + }, + "CustomHttpsConfiguration": { + "description": "Https settings for a domain", + "type": "object", + "required": [ + "minimumTlsVersion", + "certificateSource", + "protocolType" + ], + "properties": { + "certificateSource": { + "description": "Defines the source of the SSL certificate", + "enum": [ + "AzureKeyVault", + "FrontDoor" + ], + "type": "string", + "x-ms-enum": { + "name": "FrontDoorCertificateSource", + "modelAsString": true + } + }, + "protocolType": { + "description": "Defines the TLS extension protocol that is used for secure delivery", + "enum": [ + "ServerNameIndication" + ], + "type": "string", + "x-ms-enum": { + "name": "FrontDoorTlsProtocolType", + "modelAsString": true + } + }, + "minimumTlsVersion": { + "description": "The minimum TLS version required from the clients to establish an SSL handshake with Front Door.", + "enum": [ + "1.0", + "1.2" + ], + "type": "string", + "x-ms-enum": { + "name": "MinimumTLSVersion", + "modelAsString": true + } + }, + "keyVaultCertificateSourceParameters": { + "description": "KeyVault certificate source parameters (if certificateSource=AzureKeyVault)", + "x-ms-client-flatten": true, + "$ref": "#/definitions/KeyVaultCertificateSourceParameters" + }, + "frontDoorCertificateSourceParameters": { + "description": "Parameters required for enabling SSL with Front Door-managed certificates (if certificateSource=FrontDoor)", + "x-ms-client-flatten": true, + "$ref": "#/definitions/FrontDoorCertificateSourceParameters" + } + } + }, + "FrontendEndpoint": { + "properties": { + "properties": { + "description": "Properties of the Frontend endpoint", + "x-ms-client-flatten": true, + "$ref": "#/definitions/FrontendEndpointProperties" + }, + "name": { + "type": "string", + "description": "Resource name." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "A frontend endpoint used for routing." + }, + "FrontendEndpointProperties": { + "description": "The JSON object that contains the properties required to create a frontend endpoint.", + "allOf": [ + { + "$ref": "#/definitions/FrontendEndpointUpdateParameters" + } + ], + "properties": { + "resourceState": { + "description": "Resource status.", + "$ref": "#/definitions/ResourceState" + }, + "customHttpsProvisioningState": { + "description": "Provisioning status of Custom Https of the frontendEndpoint.", + "readOnly": true, + "enum": [ + "Enabling", + "Enabled", + "Disabling", + "Disabled", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "CustomHttpsProvisioningState", + "modelAsString": true + } + }, + "customHttpsProvisioningSubstate": { + "description": "Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step.", + "readOnly": true, + "enum": [ + "SubmittingDomainControlValidationRequest", + "PendingDomainControlValidationREquestApproval", + "DomainControlValidationRequestApproved", + "DomainControlValidationRequestRejected", + "DomainControlValidationRequestTimedOut", + "IssuingCertificate", + "DeployingCertificate", + "CertificateDeployed", + "DeletingCertificate", + "CertificateDeleted" + ], + "type": "string", + "x-ms-enum": { + "name": "CustomHttpsProvisioningSubstate", + "modelAsString": true + } + }, + "customHttpsConfiguration": { + "description": "The configuration specifying how to enable HTTPS", + "readOnly": true, + "$ref": "#/definitions/CustomHttpsConfiguration" + } + } + }, + "FrontendEndpointUpdateParameters": { + "description": "Frontend endpoint used in routing rule", + "type": "object", + "properties": { + "hostName": { + "description": "The host name of the frontendEndpoint. Must be a domain name.", + "type": "string" + }, + "sessionAffinityEnabledState": { + "description": "Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "SessionAffinityEnabledState", + "modelAsString": true + } + }, + "sessionAffinityTtlSeconds": { + "description": "UNUSED. This field will be ignored. The TTL to use in seconds for session affinity, if applicable.", + "type": "integer" + }, + "webApplicationFirewallPolicyLink": { + "description": "Defines the Web Application Firewall policy for each host (if applicable)", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + } + } + } + } + }, + "FrontendEndpointsListResult": { + "description": "Result of the request to list frontend endpoints. It contains a list of Frontend endpoint objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/FrontendEndpoint" + }, + "description": "List of Frontend endpoints within a Front Door." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of frontend endpoints if there are any." + } + } + }, + "BackendPoolsSettings": { + "description": "Settings that apply to all backend pools.", + "type": "object", + "properties": { + "enforceCertificateNameCheck": { + "description": "Whether to enforce certificate name check on HTTPS requests to all backend pools. No effect on non-HTTPS requests.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "enforceCertificateNameCheckEnabledState", + "modelAsString": true + }, + "default": "Enabled" + }, + "sendRecvTimeoutSeconds": { + "description": "Send and receive timeout on forwarding request to the backend. When timeout is reached, the request fails and returns.", + "type": "integer", + "minimum": 16, + "exclusiveMinimum": false + } + } + }, + "HeaderAction": { + "description": "An action that can manipulate an http header.", + "required": [ + "headerActionType", + "headerName" + ], + "properties": { + "headerActionType": { + "description": "Which type of manipulation to apply to the header.", + "type": "string", + "enum": [ + "Append", + "Delete", + "Overwrite" + ], + "x-ms-enum": { + "name": "headerActionType", + "modelAsString": true + } + }, + "headerName": { + "description": "The name of the header this action will apply to.", + "type": "string" + }, + "value": { + "description": "The value to update the given header name with. This value is not used if the actionType is Delete.", + "type": "string" + } + } + }, + "RulesEngineMatchCondition": { + "description": "Define a match condition", + "required": [ + "rulesEngineMatchVariable", + "rulesEngineOperator", + "rulesEngineMatchValue" + ], + "properties": { + "rulesEngineMatchVariable": { + "description": "Match Variable", + "type": "string", + "enum": [ + "IsMobile", + "RemoteAddr", + "RequestMethod", + "QueryString", + "PostArgs", + "RequestUri", + "RequestPath", + "RequestFilename", + "RequestFilenameExtension", + "RequestHeader", + "RequestBody", + "RequestScheme" + ], + "x-ms-enum": { + "name": "RulesEngineMatchVariable", + "modelAsString": true + } + }, + "selector": { + "description": "Name of selector in RequestHeader or RequestBody to be matched", + "type": "string" + }, + "rulesEngineOperator": { + "description": "Describes operator to apply to the match condition.", + "type": "string", + "enum": [ + "Any", + "IPMatch", + "GeoMatch", + "Equal", + "Contains", + "LessThan", + "GreaterThan", + "LessThanOrEqual", + "GreaterThanOrEqual", + "BeginsWith", + "EndsWith" + ], + "x-ms-enum": { + "name": "RulesEngineOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean" + }, + "rulesEngineMatchValue": { + "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "ResourceState": { + "title": "Resource status of the Front Door or Front Door SubResource.", + "readOnly": true, + "enum": [ + "Creating", + "Enabling", + "Enabled", + "Disabling", + "Disabled", + "Deleting" + ], + "type": "string", + "x-ms-enum": { + "name": "FrontDoorResourceState", + "modelAsString": true + } + }, + "RulesEngineAction": { + "description": "One or more actions that will execute, modifying the request and/or response.", + "properties": { + "requestHeaderActions": { + "description": "A list of header actions to apply from the request from AFD to the origin.", + "type": "array", + "items": { + "$ref": "#/definitions/HeaderAction" + } + }, + "responseHeaderActions": { + "description": "A list of header actions to apply from the response from AFD to the client.", + "type": "array", + "items": { + "$ref": "#/definitions/HeaderAction" + } + }, + "routeConfigurationOverride": { + "description": "Override the route configuration.", + "$ref": "#/definitions/RouteConfiguration" + } + } + }, + "RulesEngine": { + "description": "A rules engine configuration containing a list of rules that will run to modify the runtime behavior of the request and response.", + "properties": { + "properties": { + "description": "Properties of the Rules Engine Configuration.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/RulesEngineProperties" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type." + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource ID." + } + }, + "x-ms-azure-resource": true + }, + "RulesEngineListResult": { + "description": "Result of the request to list Rules Engine Configurations. It contains a list of RulesEngine objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/RulesEngine" + }, + "description": "List of rulesEngines within a Front Door." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of RulesEngine objects if there are any." + } + } + }, + "RulesEngineProperties": { + "description": "The JSON object that contains the properties required to create a Rules Engine Configuration.", + "allOf": [ + { + "$ref": "#/definitions/RulesEngineUpdateParameters" + } + ], + "properties": { + "resourceState": { + "description": "Resource status.", + "$ref": "#/definitions/ResourceState" + } + } + }, + "RulesEngineRule": { + "description": "Contains a list of match conditions, and an action on how to modify the request/response. If multiple rules match, the actions from one rule that conflict with a previous rule overwrite for a singular action, or append in the case of headers manipulation.", + "required": [ + "action", + "name", + "priority" + ], + "properties": { + "name": { + "description": "A name to refer to this specific rule.", + "type": "string" + }, + "priority": { + "description": "A priority assigned to this rule. ", + "type": "integer" + }, + "action": { + "description": "Actions to perform on the request and response if all of the match conditions are met.", + "$ref": "#/definitions/RulesEngineAction" + }, + "matchConditions": { + "description": "A list of match conditions that must meet in order for the actions of this rule to run. Having no match conditions means the actions will always run.", + "type": "array", + "items": { + "$ref": "#/definitions/RulesEngineMatchCondition" + } + }, + "matchProcessingBehavior": { + "description": "If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.", + "type": "string", + "enum": [ + "Continue", + "Stop" + ], + "x-ms-enum": { + "name": "MatchProcessingBehavior", + "modelAsString": true + } + } + } + }, + "RulesEngineUpdateParameters": { + "description": "Rules Engine Configuration to apply to a Routing Rule.", + "type": "object", + "properties": { + "rules": { + "description": "A list of rules that define a particular Rules Engine Configuration.", + "type": "array", + "items": { + "$ref": "#/definitions/RulesEngineRule" + } + } + } + }, + "transform": { + "description": "Describes what transforms are applied before matching", + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "x-ms-enum": { + "name": "transform", + "modelAsString": true + } + }, + "ValidateCustomDomainInput": { + "description": "Input of the custom domain to be validated for DNS mapping.", + "type": "object", + "required": [ + "hostName" + ], + "properties": { + "hostName": { + "description": "The host name of the custom domain. Must be a domain name.", + "type": "string" + } + } + }, + "ValidateCustomDomainOutput": { + "description": "Output of custom domain validation.", + "type": "object", + "properties": { + "customDomainValidated": { + "description": "Indicates whether the custom domain is valid or not.", + "readOnly": true, + "type": "boolean" + }, + "reason": { + "description": "The reason why the custom domain is not valid.", + "readOnly": true, + "type": "string" + }, + "message": { + "description": "Error message describing why the custom domain is not valid.", + "readOnly": true, + "type": "string" + } + } + }, + "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" + } + } + }, + "CheckNameAvailabilityInput": { + "description": "Input of CheckNameAvailability API.", + "type": "object", + "required": [ + "name", + "type" + ], + "properties": { + "name": { + "description": "The resource name to validate.", + "type": "string" + }, + "type": { + "description": "The type of the resource whose name is to be validated.", + "$ref": "#/definitions/ResourceType" + } + } + }, + "CheckNameAvailabilityOutput": { + "description": "Output of check name availability API.", + "type": "object", + "properties": { + "nameAvailability": { + "description": "Indicates whether the name is available.", + "readOnly": true, + "enum": [ + "Available", + "Unavailable" + ], + "type": "string", + "x-ms-enum": { + "name": "Availability", + "modelAsString": true + } + }, + "reason": { + "description": "The reason why the name is not available.", + "readOnly": true, + "type": "string" + }, + "message": { + "description": "The detailed error message describing why the name is not available.", + "readOnly": true, + "type": "string" + } + } + }, + "ResourceType": { + "description": "Type of Front Door resource used in CheckNameAvailability.", + "enum": [ + "Microsoft.Network/frontDoors", + "Microsoft.Network/frontDoors/frontendEndpoints" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceType", + "modelAsString": false + } + } + }, + "parameters": { + "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." + }, + "frontDoorNameParameter": { + "name": "frontDoorName", + "in": "path", + "required": true, + "type": "string", + "x-new-pattern": "^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$", + "pattern": "^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$", + "minLength": 5, + "maxLength": 64, + "x-ms-parameter-location": "method", + "description": "Name of the Front Door which is globally unique." + }, + "routingRuleNameParameter": { + "name": "routingRuleName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$", + "x-previous-pattern": "^[-\\w\\d\\._]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method", + "description": "Name of the Routing Rule which is unique within the Front Door." + }, + "healthProbeSettingsNameParameter": { + "name": "healthProbeSettingsName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$", + "x-previous-pattern": "^[-\\w\\d\\._]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method", + "description": "Name of the health probe settings which is unique within the Front Door." + }, + "loadBalancingSettingsNameParameter": { + "name": "loadBalancingSettingsName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$", + "x-previous-pattern": "^[-\\w\\d\\._]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method", + "description": "Name of the load balancing settings which is unique within the Front Door." + }, + "backendPoolNameParameter": { + "name": "backendPoolName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$", + "x-previous-pattern": "^[-\\w\\d\\._]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method", + "description": "Name of the Backend Pool which is unique within the Front Door." + }, + "frontendEndpointNameParameter": { + "name": "frontendEndpointName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$", + "x-previous-pattern": "^[-\\w\\d\\._]+$", + "minLength": 1, + "maxLength": 255, + "x-ms-parameter-location": "method", + "description": "Name of the Frontend endpoint which is unique within the Front Door." + }, + "rulesEngineNameParameter": { + "name": "rulesEngineName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$", + "x-previous-pattern": "^[-\\w\\d\\._]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method", + "description": "Name of the Rules Engine which is unique within the Front Door." + } + } +} diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/network.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/network.json new file mode 100644 index 000000000000..953304d73a0e --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/network.json @@ -0,0 +1,167 @@ +{ + "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-04-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": {}, + "definitions": { + "ErrorDetails": { + "properties": { + "code": { + "type": "string" + }, + "target": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "Error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "target": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetails" + } + }, + "innerError": { + "type": "string" + } + } + }, + "AzureAsyncOperationResult": { + "properties": { + "status": { + "type": "string", + "description": "Status of the Azure async operation. Possible values are: 'InProgress', 'Succeeded', and 'Failed'.", + "enum": [ + "InProgress", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "NetworkOperationStatus", + "modelAsString": true + } + }, + "error": { + "$ref": "#/definitions/Error" + } + }, + "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": { + "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 subresource.", + "x-ms-azure-resource": true + }, + "TagsObject": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Tags object for patch operations." + } + }, + "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." + } + } +} diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/webapplicationfirewall.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/webapplicationfirewall.json new file mode 100644 index 000000000000..19e3bb64f699 --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-04-01/webapplicationfirewall.json @@ -0,0 +1,902 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-04-01", + "title": "WebApplicationFirewallManagement", + "description": "APIs to manage web application firewall rules." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/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/Microsoft.Network/stable/2020-05-01/examples/FrontdoorCreate.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FrontdoorCreate.json index 5957738fe115..1138b58eb7f9 100644 --- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FrontdoorCreate.json +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FrontdoorCreate.json @@ -38,7 +38,10 @@ "rulesEngine": { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/rulesEngines/rulesEngine1" }, - "enabledState": "Enabled" + "enabledState": "Enabled", + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1" + } } } ], @@ -173,7 +176,10 @@ "rulesEngine": { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/rulesEngines/rulesEngine1" }, - "enabledState": "Enabled" + "enabledState": "Enabled", + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1" + } } } ], @@ -318,7 +324,10 @@ "rulesEngine": { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/rulesEngines/rulesEngine1" }, - "enabledState": "Enabled" + "enabledState": "Enabled", + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1" + } } } ], @@ -463,7 +472,10 @@ "rulesEngine": { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/rulesEngines/rulesEngine1" }, - "enabledState": "Enabled" + "enabledState": "Enabled", + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1" + } } } ], diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FrontdoorGet.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FrontdoorGet.json index 64b071212fd3..36c43313a8d6 100644 --- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FrontdoorGet.json +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FrontdoorGet.json @@ -47,7 +47,10 @@ "rulesEngine": { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/rulesEngines/rulesEngine1" }, - "enabledState": "Enabled" + "enabledState": "Enabled", + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1" + } } } ], diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FrontdoorList.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FrontdoorList.json index f52102336d9c..d57b7873351e 100644 --- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FrontdoorList.json +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FrontdoorList.json @@ -48,7 +48,10 @@ "rulesEngine": { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/rulesEngines/rulesEngine1" }, - "enabledState": "Enabled" + "enabledState": "Enabled", + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1" + } } } ], diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FrontdoorListAll.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FrontdoorListAll.json index 418a3edbe906..2f72bfadff7d 100644 --- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FrontdoorListAll.json +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FrontdoorListAll.json @@ -47,7 +47,10 @@ "rulesEngine": { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/rulesEngines/rulesEngine1" }, - "enabledState": "Enabled" + "enabledState": "Enabled", + "webApplicationFirewallPolicyLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1" + } } } ], 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 new file mode 100644 index 000000000000..b6ee1c3ee4db --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafListManagedRuleSets.json @@ -0,0 +1,69 @@ +{ + "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 new file mode 100644 index 000000000000..8617a12656df --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafListPolicies.json @@ -0,0 +1,130 @@ +{ + "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 new file mode 100644 index 000000000000..f4c1a6c18373 --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyCreateOrUpdate.json @@ -0,0 +1,492 @@ +{ + "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/WafPolicyDelete.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyDelete.json new file mode 100644 index 000000000000..c887714443bf --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "policyName": "Policy1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} 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 new file mode 100644 index 000000000000..aef1b725a529 --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyGet.json @@ -0,0 +1,127 @@ +{ + "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/frontdoor.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/frontdoor.json index 433fd6e7fc6c..1aa59b036ba2 100644 --- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/frontdoor.json +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/frontdoor.json @@ -1124,6 +1124,16 @@ "rulesEngine": { "description": "A reference to a specific Rules Engine Configuration to apply to this route.", "$ref": "./network.json#/definitions/SubResource" + }, + "webApplicationFirewallPolicyLink": { + "description": "Defines the Web Application Firewall policy for each routing rule (if applicable)", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + } + } } } }, 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 new file mode 100644 index 000000000000..e1deda8ac3cd --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/webapplicationfirewall.json @@ -0,0 +1,902 @@ +{ + "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.go.md b/specification/frontdoor/resource-manager/readme.go.md index 7922be870998..e4b384f9f0c2 100644 --- a/specification/frontdoor/resource-manager/readme.go.md +++ b/specification/frontdoor/resource-manager/readme.go.md @@ -19,6 +19,7 @@ batch: - tag: package-2019-04 - tag: package-2019-05 - tag: package-2020-01 + - tag: package-2020-04 - tag: package-2020-05 ``` @@ -31,6 +32,15 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-04' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-04-01/$(namespace) +``` + ### Tag: package-2020-01 and go These settings apply only when `--tag=package-2020-01 --go` is specified on the command line. diff --git a/specification/frontdoor/resource-manager/readme.md b/specification/frontdoor/resource-manager/readme.md index 2728dffd936e..4caa6148067b 100644 --- a/specification/frontdoor/resource-manager/readme.md +++ b/specification/frontdoor/resource-manager/readme.md @@ -40,7 +40,25 @@ 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/2019-10-01/webapplicationfirewall.json +- Microsoft.Network/stable/2020-05-01/webapplicationfirewall.json +directive: + - where: + - $.paths + suppress: + - OperationsAPIImplementation +``` + + +### 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.Network/stable/2020-04-01/network.json +- Microsoft.Network/stable/2019-11-01/networkexperiment.json +- Microsoft.Network/stable/2020-04-01/frontdoor.json +- Microsoft.Network/stable/2020-04-01/webapplicationfirewall.json directive: - where: - $.paths @@ -254,9 +272,13 @@ 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/2019-10-01/webapplicationfirewall.json + - $(this-folder)/Microsoft.Network/stable/2020-05-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 - $(this-folder)/Microsoft.Network/stable/2019-11-01/network.json - $(this-folder)/Microsoft.Network/stable/2019-05-01/frontdoor.json - $(this-folder)/Microsoft.Network/stable/2019-05-01/network.json diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/common/v1/definitions.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/common/v1/definitions.json index e82904ba479c..e6b1fa62c385 100644 --- a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/common/v1/definitions.json +++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/common/v1/definitions.json @@ -26,9 +26,18 @@ "definitions": { "ErrorResponse": { "properties": { - "message": { - "description": "Error message indicating why the operation failed.", - "type": "string" + "error": { + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Detail error message indicating why the operation failed.", + "type": "string" + } + } } }, "description": "Error response of an operation failure" @@ -44,12 +53,12 @@ }, "name": { "type": "string", - "readOnly": true, + "readOnly": false, "description": "Name of the guest configuration assignment." }, "location": { "type": "string", - "readOnly": true, + "readOnly": false, "description": "Region where the VM is located." }, "type": { @@ -178,6 +187,14 @@ "description": "The name of the virtual machine.", "x-ms-parameter-location": "method" }, + "MachineNameParameter": { + "name": "machineName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ARC machine.", + "x-ms-parameter-location": "method" + }, "ResourceGroupNameParameter": { "name": "resourceGroupName", "in": "path", diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/createOrUpdateGuestConfigurationHCRPAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/createOrUpdateGuestConfigurationHCRPAssignment.json new file mode 100644 index 000000000000..d85b484a1f0f --- /dev/null +++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/createOrUpdateGuestConfigurationHCRPAssignment.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "machineName": "myMachineName", + "guestConfigurationAssignmentName": "WhitelistedApplication", + "api-version": "2018-11-20", + "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": null, + "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": null, + "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/2018-11-20/examples/deleteGuestConfigurationHCRPAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/deleteGuestConfigurationHCRPAssignment.json new file mode 100644 index 000000000000..4e192cdfbf22 --- /dev/null +++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/deleteGuestConfigurationHCRPAssignment.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "machineName": "myMachineName", + "guestConfigurationAssignmentName": "SecureProtocol", + "api-version": "2018-11-20" + }, + "responses": { + "200": {} + } +} diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/getGuestConfigurationHCRPAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/getGuestConfigurationHCRPAssignment.json new file mode 100644 index 000000000000..65def9d2a1d4 --- /dev/null +++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/getGuestConfigurationHCRPAssignment.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "machineName": "myMachineName", + "guestConfigurationAssignmentName": "SecureProtocol", + "api-version": "2018-11-20" + }, + "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/2018-11-20/examples/getGuestConfigurationHCRPAssignmentReportById.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/getGuestConfigurationHCRPAssignmentReportById.json new file mode 100644 index 000000000000..1d7d43e8929d --- /dev/null +++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/getGuestConfigurationHCRPAssignmentReportById.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionid", + "resourceGroupName": "myResourceGroupName", + "machineName": "myMachineName", + "guestConfigurationAssignmentName": "AuditSecureProtocol", + "reportId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1", + "api-version": "2018-11-20" + }, + "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/2018-11-20/examples/listAllGuestConfigurationHCRPAssignmentReports.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/listAllGuestConfigurationHCRPAssignmentReports.json new file mode 100644 index 000000000000..381e33222be7 --- /dev/null +++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/listAllGuestConfigurationHCRPAssignmentReports.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionid", + "resourceGroupName": "myResourceGroupName", + "machineName": "myMachineName", + "guestConfigurationAssignmentName": "AuditSecureProtocol", + "api-version": "2018-11-20" + }, + "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/2018-11-20/examples/listGuestConfigurationHCRPAssignments.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/listGuestConfigurationHCRPAssignments.json new file mode 100644 index 000000000000..bfa7ad0de85d --- /dev/null +++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/listGuestConfigurationHCRPAssignments.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "machineName": "myMachineName", + "api-version": "2018-11-20" + }, + "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/2018-11-20/guestconfiguration.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/guestconfiguration.json index a2f4ef137443..db2acc806575 100644 --- a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/guestconfiguration.json +++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/guestconfiguration.json @@ -370,6 +370,349 @@ ] } }, + "/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": [ @@ -439,7 +782,7 @@ "$ref": "../../common/v1/definitions.json#/definitions/ProxyResource" } ], - "description": "Guest configuration assignment is an association between a VM and guest configuration." + "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.", @@ -490,12 +833,12 @@ "properties": { "name": { "type": "string", - "readOnly": true, + "readOnly": false, "description": "Name of the configuration parameter." }, "value": { "type": "string", - "readOnly": true, + "readOnly": false, "description": "Value of the configuration parameter." } }, @@ -505,7 +848,7 @@ "properties": { "configurationMode": { "type": "string", - "readOnly": true, + "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", @@ -531,7 +874,7 @@ }, "actionAfterReboot": { "type": "string", - "readOnly": true, + "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", @@ -544,13 +887,13 @@ }, "refreshFrequencyMins": { "type": "number", - "readOnly": true, + "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": true, + "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": { @@ -564,7 +907,7 @@ }, "configurationModeFrequencyMins": { "type": "number", - "readOnly": true, + "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." } @@ -580,7 +923,7 @@ "complianceStatus": { "type": "string", "readOnly": true, - "description": "A value indicating compliance status of the virtual machine for the assigned guest configuration.", + "description": "A value indicating compliance status of the machine for the assigned guest configuration.", "x-ms-enum": { "name": "complianceStatus", "modelAsString": true @@ -669,7 +1012,7 @@ "complianceStatus": { "type": "string", "readOnly": true, - "description": "A value indicating compliance status of the virtual machine for the assigned guest configuration.", + "description": "A value indicating compliance status of the machine for the assigned guest configuration.", "x-ms-enum": { "name": "complianceStatus", "modelAsString": true @@ -762,7 +1105,7 @@ "complianceStatus": { "type": "string", "readOnly": true, - "description": "A value indicating compliance status of the virtual machine for the assigned guest configuration.", + "description": "A value indicating compliance status of the machine for the assigned guest configuration.", "x-ms-enum": { "name": "complianceStatus", "modelAsString": true @@ -818,7 +1161,7 @@ "complianceStatus": { "type": "string", "readOnly": true, - "description": "A value indicating compliance status of the virtual machine for the assigned guest configuration.", + "description": "A value indicating compliance status of the machine for the assigned guest configuration.", "x-ms-enum": { "name": "complianceStatus", "modelAsString": true diff --git a/specification/guestconfiguration/resource-manager/readme.az.md b/specification/guestconfiguration/resource-manager/readme.az.md new file mode 100644 index 000000000000..319a17cc5022 --- /dev/null +++ b/specification/guestconfiguration/resource-manager/readme.az.md @@ -0,0 +1,21 @@ +## AZ + +These settings apply only when `--az` is specified on the command line. + +``` yaml $(az) +az: + extensions: guestconfig + namespace: azure.mgmt.guestconfig + package-name: azure-mgmt-guestconfig +az-output-folder: $(azure-cli-extension-folder)/src/guestconfig +python-sdk-output-folder: "$(az-output-folder)/azext_guestconfig/vendored_sdks/guestconfig" + +cli: + cli-directive: + - where: + type: 'GuestConfigurationAssignment' + prop: 'properties' + flatten: true + + +``` diff --git a/specification/guestconfiguration/resource-manager/readme.cli.md b/specification/guestconfiguration/resource-manager/readme.cli.md new file mode 100644 index 000000000000..a9e918eefe21 --- /dev/null +++ b/specification/guestconfiguration/resource-manager/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: Factories_CreateOrUpdate +``` diff --git a/specification/guestconfiguration/resource-manager/readme.md b/specification/guestconfiguration/resource-manager/readme.md index 0951302918bc..8c7d94f58edd 100644 --- a/specification/guestconfiguration/resource-manager/readme.md +++ b/specification/guestconfiguration/resource-manager/readme.md @@ -96,6 +96,17 @@ directive: # 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-cli-extensions +``` + + ## C# These settings apply only when `--csharp` is specified on the command line. diff --git a/specification/vmwarevirtustream/resource-manager/readme.python.md b/specification/guestconfiguration/resource-manager/readme.python.md similarity index 66% rename from specification/vmwarevirtustream/resource-manager/readme.python.md rename to specification/guestconfiguration/resource-manager/readme.python.md index 8b7a17c8d47a..ed4130e79a26 100644 --- a/specification/vmwarevirtustream/resource-manager/readme.python.md +++ b/specification/guestconfiguration/resource-manager/readme.python.md @@ -4,24 +4,24 @@ 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) 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 + namespace: azure.mgmt.guestconfig + package-name: azure-mgmt-guestconfig + package-version: 0.1.0 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 + output-folder: $(python-sdks-folder)/machinelearning/azure-mgmt-guestconfig/azure/mgmt/guestconfig ``` ``` 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 + output-folder: $(python-sdks-folder)/machinelearning/azure-mgmt-guestconfig +``` diff --git a/specification/hardwaresecuritymodules/resource-manager/readme.cli.md b/specification/hardwaresecuritymodules/resource-manager/readme.cli.md index 75ef2e409895..2f2ce5f3e86d 100644 --- a/specification/hardwaresecuritymodules/resource-manager/readme.cli.md +++ b/specification/hardwaresecuritymodules/resource-manager/readme.cli.md @@ -1,4 +1,4 @@ - CLI +## CLI These settings apply only when `--cli` is specified on the command line. diff --git a/specification/hardwaresecuritymodules/resource-manager/readme.md b/specification/hardwaresecuritymodules/resource-manager/readme.md index a5ccc9edd197..33848571baec 100644 --- a/specification/hardwaresecuritymodules/resource-manager/readme.md +++ b/specification/hardwaresecuritymodules/resource-manager/readme.md @@ -65,3 +65,16 @@ uncomment the `exclude-file` section below and add the file paths. # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.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-cli-extensions +``` + diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_DeleteSparkBatch.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_DeleteSparkBatch.json new file mode 100644 index 000000000000..c142db23107b --- /dev/null +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_DeleteSparkBatch.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "endpoint": "cluster.azurehdinsight.net", + "X-Requested-By": "admin", + "batchId": 123 + }, + "responses": { + "200": { + "body": { + "msg": "deleted" + } + } + } +} diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_DeleteSparkSessionJob.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_DeleteSparkSessionJob.json new file mode 100644 index 000000000000..1de611517d3d --- /dev/null +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_DeleteSparkSessionJob.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "endpoint": "cluster.azurehdinsight.net", + "x-Requested-By": "admin", + "sessionId": 123 + }, + "responses": { + "200": { + "body": { + "msg": "deleted" + } + } + } +} diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_DeleteSparkStatementJob.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_DeleteSparkStatementJob.json new file mode 100644 index 000000000000..66961d597b2f --- /dev/null +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_DeleteSparkStatementJob.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "endpoint": "cluster.azurehdinsight.net", + "sessionId": 123, + "statementId": 123 + }, + "responses": { + "200": { + "body": { + "msg": "canceled" + } + } + } +} diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_Get.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_Get.json index d6b5d8d8977d..c246f56679d8 100644 --- a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_Get.json +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_Get.json @@ -1,7 +1,7 @@ { "parameters": { "user.name": "admin", - "clusterDnsName": "cluster.azurehdinsight.net", + "endpoint": "cluster.azurehdinsight.net", "jobId": "job_1542085634998_0024", "fields": "*" }, @@ -62,9 +62,7 @@ "callback": null, "completed": "done", "userargs": { - "statusdir": "2018-11-13T05-49-52-4418fce1-e92e-4732-bc12-f2a3b8ef4432", "file": null, - "enablejobreconnect": null, "define": [], "enablelog": "false", "files": null, diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_GetAppState.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_GetAppState.json index 7706db1f395a..50263f2566c5 100644 --- a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_GetAppState.json +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_GetAppState.json @@ -1,7 +1,7 @@ { "parameters": { "appId": "application_1462754318084_0071", - "clusterDnsName": "cluster.azurehdinsight.net" + "endpoint": "cluster.azurehdinsight.net" }, "responses": { "200": { diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_GetSparkBatchJob.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_GetSparkBatchJob.json new file mode 100644 index 000000000000..8834c36eba62 --- /dev/null +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_GetSparkBatchJob.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "endpoint": "cluster.azurehdinsight.net", + "batchId": 45 + }, + "responses": { + "200": { + "body": { + "id": 45, + "appId": null, + "appInfo": { + "driverLogUrl": null, + "sparkUiUrl": null + }, + "state": "starting", + "log": [ + "\t queue: default", + "\t start time: 1590386942572", + "\t final status: UNDEFINED", + "\t tracking URL: https://shangwei-hdi-cmk-ps.azurehdinsight.net/yarnui/hn/proxy/application_1590286636717_0005/", + "\t user: livy", + "20/05/25 06:09:02 INFO ShutdownHookManager: Shutdown hook called", + "20/05/25 06:09:02 INFO ShutdownHookManager: Deleting directory /tmp/spark-9ddb6d73-f204-44a4-83e8-afdbd4ce1a0b", + "20/05/25 06:09:02 INFO ShutdownHookManager: Deleting directory /tmp/spark-ef198a0d-de24-4da9-aeb5-c1b78c5fdd5c", + "\nstderr: ", + "\nYARN Diagnostics: " + ] + } + } + } +} diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_GetSparkBatchLog.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_GetSparkBatchLog.json new file mode 100644 index 000000000000..19b0c392ee7e --- /dev/null +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_GetSparkBatchLog.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "endpoint": "cluster.azurehdinsight.net", + "batchId": 45, + "from": 1, + "size": 10 + }, + "responses": { + "200": { + "body": { + "id": 45, + "from": 1, + "size": 10, + "log": [ + "SLF4J: Class path contains multiple SLF4J bindings.", + "SLF4J: Found binding in [jar:file:/usr/hdp/2.6.5.3015-8/spark2/jars/slf4j-log4j12-1.7.16.jar!/org/slf4j/impl/StaticLoggerBinder.class]", + "SLF4J: Found binding in [jar:file:/usr/hdp/2.6.5.3015-8/spark_llap/spark-llap-assembly-1.0.0.2.6.5.3015-8.jar!/org/slf4j/impl/StaticLoggerBinder.class]", + "SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.", + "SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]", + "Warning: Master yarn-cluster is deprecated since 2.0. Please use master \"yarn\" with specified deploy mode instead.", + "20/05/25 06:08:59 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable", + "Warning: Skip remote jar wasbs://containercmk002@shangweistorageaccount.blob.core.windows.net/microsoft-spark-2.3.x-0.6.0.jar.", + "20/05/25 06:08:59 INFO MetricsConfig: loaded properties from hadoop-metrics2-azure-file-system.properties", + "20/05/25 06:08:59 INFO WasbAzureIaasSink: Init starting." + ] + } + } + } +} diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_GetSparkBatchState.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_GetSparkBatchState.json new file mode 100644 index 000000000000..c3444effea60 --- /dev/null +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_GetSparkBatchState.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "endpoint": "cluster.azurehdinsight.net", + "batchId": 45 + }, + "responses": { + "200": { + "body": { + "id": 45, + "state": "starting" + } + } + } +} diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_GetSparkSessionJob.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_GetSparkSessionJob.json new file mode 100644 index 000000000000..5008f9c51d27 --- /dev/null +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_GetSparkSessionJob.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "endpoint": "cluster.azurehdinsight.net", + "sessionId": 123 + }, + "responses": { + "200": { + "body": { + "id": 34, + "appId": "application_1590286636717_0004", + "owner": null, + "proxyUser": null, + "state": "idle", + "kind": "spark", + "appInfo": { + "driverLogUrl": "http://wn2-shangw.4jhwm2oxfmoehnhvt2gwwtriqb.bx.internal.cloudapp.net:30060/node/containerlogs/container_e06_1590286636717_0004_01_000001/livy", + "sparkUiUrl": "https://shangwei-hdi-cmk-ps.azurehdinsight.net/yarnui/hn/proxy/application_1590286636717_0004/" + }, + "log": [ + "\t ApplicationMaster RPC port: -1", + "\t queue: default", + "\t start time: 1590384019312", + "\t final status: UNDEFINED", + "\t tracking URL: https://shangwei-hdi-cmk-ps.azurehdinsight.net/yarnui/hn/proxy/application_1590286636717_0004/", + "\t user: livy", + "20/05/25 05:20:19 INFO ShutdownHookManager: Shutdown hook called", + "20/05/25 05:20:19 INFO ShutdownHookManager: Deleting directory /tmp/spark-1557a190-880c-422d-a744-ce31d0fefa1d", + "20/05/25 05:20:19 INFO ShutdownHookManager: Deleting directory /tmp/spark-12bb0346-a2c9-4b9d-9f9b-feb91e30f554", + "\nYARN Diagnostics: " + ] + } + } + } +} diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_GetSparkSessionLog.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_GetSparkSessionLog.json new file mode 100644 index 000000000000..d2846f9b62ae --- /dev/null +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_GetSparkSessionLog.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "endpoint": "cluster.azurehdinsight.net", + "sessionId": 34, + "from": 1, + "size": 10 + }, + "responses": { + "200": { + "body": { + "id": 34, + "from": 0, + "total": 57, + "log": [ + "stdout: ", + "\nstderr: ", + "SLF4J: Class path contains multiple SLF4J bindings.", + "SLF4J: Found binding in [jar:file:/usr/hdp/2.6.5.3015-8/spark2/jars/slf4j-log4j12-1.7.16.jar!/org/slf4j/impl/StaticLoggerBinder.class]", + "SLF4J: Found binding in [jar:file:/usr/hdp/2.6.5.3015-8/spark_llap/spark-llap-assembly-1.0.0.2.6.5.3015-8.jar!/org/slf4j/impl/StaticLoggerBinder.class]", + "SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.", + "SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]", + "Warning: Master yarn-cluster is deprecated since 2.0. Please use master \"yarn\" with specified deploy mode instead.", + "20/05/25 05:20:14 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable", + "20/05/25 05:20:15 INFO MetricsConfig: loaded properties from hadoop-metrics2-azure-file-system.properties" + ] + } + } + } +} diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_GetSparkSessionState.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_GetSparkSessionState.json new file mode 100644 index 000000000000..3c73a94ce528 --- /dev/null +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_GetSparkSessionState.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "endpoint": "cluster.azurehdinsight.net", + "sessionId": 34 + }, + "responses": { + "200": { + "body": { + "id": 34, + "state": "idle" + } + } + } +} diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_GetSparkStatementJob.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_GetSparkStatementJob.json new file mode 100644 index 000000000000..1c45ad23b01c --- /dev/null +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_GetSparkStatementJob.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "endpoint": "cluster.azurehdinsight.net", + "sessionId": 34, + "statementId": 1 + }, + "responses": { + "200": { + "body": { + "id": 0, + "code": "1 + 1", + "state": "available", + "output": { + "status": "ok", + "execution_count": 0, + "data": { + "text/plain": "res0: Int = 2" + } + }, + "progress": 1.0 + } + } + } +} diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_Kill.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_Kill.json index a5574d18d08e..d0b67543a848 100644 --- a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_Kill.json +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_Kill.json @@ -1,7 +1,7 @@ { "parameters": { "user.name": "admin", - "clusterDnsName": "cluster.azurehdinsight.net", + "endpoint": "cluster.azurehdinsight.net", "jobId": "job_1542085634998_0007" }, "responses": { @@ -62,7 +62,6 @@ "completed": null, "userargs": { "statusdir": "2018-11-13T05-35-01-6f79af0f-6157-494a-a03e-eabb190a0c10", - "enablejobreconnect": null, "arg": [ "10", "1000" @@ -73,11 +72,9 @@ "mapreduce.task.timeout=60000" ], "enablelog": "false", - "libjars": null, "files": null, "callback": null, - "jar": "/example/jars/hadoop-mapreduce-examples.jar", - "class": "pi" + "jar": "/example/jars/hadoop-mapreduce-examples.jar" }, "msg": null } diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_List.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_List.json index b4f85d1dd7a7..d19c3bc9109e 100644 --- a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_List.json +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_List.json @@ -1,7 +1,7 @@ { "parameters": { "user.name": "admin", - "clusterDnsName": "cluster.azurehdinsight.net", + "endpoint": "cluster.azurehdinsight.net", "fields": "*", "showall": "true" }, diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_ListAfterJobId.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_ListAfterJobId.json index c1c106808005..0fea23c34a31 100644 --- a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_ListAfterJobId.json +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_ListAfterJobId.json @@ -1,7 +1,7 @@ { "parameters": { "user.name": "admin", - "clusterDnsName": "cluster.azurehdinsight.net", + "endpoint": "cluster.azurehdinsight.net", "jobId": "job_1542085634998_0029", "numrecords": 3, "fields": "*", diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_ListSparkBatchJob.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_ListSparkBatchJob.json new file mode 100644 index 000000000000..3c7db0140439 --- /dev/null +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_ListSparkBatchJob.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "endpoint": "clustername.azurehdinsight.net", + "from": 0, + "size": 1 + }, + "responses": { + "200": { + "body": { + "from": 0, + "total": 1, + "sessions": [ + { + "id": 44, + "state": "starting", + "appId": null, + "appInfo": { + "driverLogUrl": null, + "sparkUiUrl": null + }, + "log": [ + "20/05/25 04:59:18 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable", + "Warning: Skip remote jar wasbs://containercmk002@shangweistorageaccount.blob.core.windows.net/microsoft-spark-2.3.x-0.6.0.jar.", + "20/05/25 04:59:18 INFO MetricsConfig: loaded properties from hadoop-metrics2-azure-file-system.properties", + "20/05/25 04:59:18 INFO WasbAzureIaasSink: Init starting.", + "20/05/25 04:59:18 INFO AzureIaasSink: Init starting. Initializing MdsLogger.", + "20/05/25 04:59:18 INFO AzureIaasSink: Init completed.", + "20/05/25 04:59:18 INFO WasbAzureIaasSink: Init completed.", + "20/05/25 04:59:18 INFO MetricsSinkAdapter: Sink azurefs2 started", + "\nstderr: ", + "\nYARN Diagnostics: " + ] + } + ] + } + } + } +} diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_ListSparkSessionJob.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_ListSparkSessionJob.json new file mode 100644 index 000000000000..30f7a88887a4 --- /dev/null +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_ListSparkSessionJob.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "endpoint": "cluster.azurehdinsight.net", + "from": 0, + "size": 1 + }, + "responses": { + "200": { + "body": { + "from": 0, + "total": 1, + "sessions": [ + { + "id": 34, + "appId": "application_1590286636717_0004", + "owner": null, + "proxyUser": null, + "state": "idle", + "kind": "spark", + "appInfo": { + "driverLogUrl": "http://wn2-shangw.4jhwm2oxfmoehnhvt2gwwtriqb.bx.internal.cloudapp.net:30060/node/containerlogs/container_e06_1590286636717_0004_01_000001/livy", + "sparkUiUrl": "https://shangwei-hdi-cmk-ps.azurehdinsight.net/yarnui/hn/proxy/application_1590286636717_0004/" + }, + "log": [ + "\t ApplicationMaster RPC port: -1", + "\t queue: default", + "\t start time: 1590384019312", + "\t final status: UNDEFINED", + "\t tracking URL: https://shangwei-hdi-cmk-ps.azurehdinsight.net/yarnui/hn/proxy/application_1590286636717_0004/", + "\t user: livy", + "20/05/25 05:20:19 INFO ShutdownHookManager: Shutdown hook called", + "20/05/25 05:20:19 INFO ShutdownHookManager: Deleting directory /tmp/spark-1557a190-880c-422d-a744-ce31d0fefa1d", + "20/05/25 05:20:19 INFO ShutdownHookManager: Deleting directory /tmp/spark-12bb0346-a2c9-4b9d-9f9b-feb91e30f554", + "\nYARN Diagnostics: " + ] + } + ] + } + } + } +} diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_ListSparkStatementJob.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_ListSparkStatementJob.json new file mode 100644 index 000000000000..3e447a4f4318 --- /dev/null +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_ListSparkStatementJob.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "endpoint": "cluster.azurehdinsight.net", + "sessionId": 34 + }, + "responses": { + "200": { + "body": { + "statements": [ + { + "id": 0, + "code": "1 + 1", + "state": "available", + "output": { + "status": "ok", + "execution_count": 0, + "data": { + "text/plain": "res0: Int = 2" + } + }, + "progress": 1.0 + }, + { + "id": 1, + "code": "1 + 1", + "state": "available", + "output": { + "status": "ok", + "execution_count": 1, + "data": { + "text/plain": "res1: Int = 2" + } + }, + "progress": 1.0 + } + ] + } + } + } +} diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitHiveJob.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitHiveJob.json index 314b5c13f31d..bcd62e40bfde 100644 --- a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitHiveJob.json +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitHiveJob.json @@ -1,7 +1,7 @@ { "parameters": { "user.name": "admin", - "clusterDnsName": "cluster.azurehdinsight.net", + "endpoint": "cluster.azurehdinsight.net", "content": "execute=select%20querydwelltime%2B2%20from%20hivesampletable%20where%20clientid%20%3D%208&statusdir=2018-10-30T10-13-36-30513317-c398-4da0-a98c-57db43750f3a" }, "responses": { diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitMapReduceJob.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitMapReduceJob.json index 5cf12f4e0d8f..9a13c808f75a 100644 --- a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitMapReduceJob.json +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitMapReduceJob.json @@ -1,7 +1,7 @@ { "parameters": { "user.name": "admin", - "clusterDnsName": "cluster.azurehdinsight.net", + "endpoint": "cluster.azurehdinsight.net", "content": "jar=%2Fexample%2Fjars%2Fhadoop-mapreduce-examples.jar&class=pi&arg=10&arg=1000&define=mapreduce.map.maxattempts%3D10&define=mapreduce.reduce.maxattempts%3D10&define=mapreduce.task.timeout%3D60000&statusdir=2018-10-30T10-12-29-595ef52d-583c-4b17-987b-675e4f8eea8f" }, "responses": { diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitMapReduceStreamingJob.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitMapReduceStreamingJob.json index b3cb16e542b2..506c4135ff63 100644 --- a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitMapReduceStreamingJob.json +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitMapReduceStreamingJob.json @@ -1,7 +1,7 @@ { "parameters": { "user.name": "admin", - "clusterDnsName": "cluster.azurehdinsight.net", + "endpoint": "cluster.azurehdinsight.net", "content": "input=%2Fexample%2Fdata%2Fgutenberg%2Fdavinci.txt&output=%2Fexample%2Fdata%2Fgutenberg%2Fwcount%2F3745c39c-0115-4735-a9eb-c57de9a29dcd&mapper=cat&reducer=wc&statusdir=2018-10-30T11-40-44-eb9dc5c1-99dd-4282-9d4a-a77c8ffb6b35" }, "responses": { diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitPigJob.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitPigJob.json index 95f0e96fafde..ad2da4c1f308 100644 --- a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitPigJob.json +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitPigJob.json @@ -1,7 +1,7 @@ { "parameters": { "user.name": "admin", - "clusterDnsName": "cluster.azurehdinsight.net", + "endpoint": "cluster.azurehdinsight.net", "content": "execute=LOGS%20%3D%20LOAD%20%27wasb%3A%2F%2F%2Fexample%2Fdata%2Fsample.log%27%3BLEVELS%20%3D%20foreach%20LOGS%20generate%20REGEX_EXTRACT%28%240%2C%20%27%28TRACE%7CDEBUG%7CINFO%7CWARN%7CERROR%7CFATAL%29%27%2C%201%29%20%20as%20LOGLEVEL%3BFILTEREDLEVELS%20%3D%20FILTER%20LEVELS%20by%20LOGLEVEL%20is%20not%20null%3BGROUPEDLEVELS%20%3D%20GROUP%20FILTEREDLEVELS%20by%20LOGLEVEL%3BFREQUENCIES%20%3D%20foreach%20GROUPEDLEVELS%20generate%20group%20as%20LOGLEVEL%2C%20COUNT%28FILTEREDLEVELS.LOGLEVEL%29%20as%20COUNT%3BRESULT%20%3D%20order%20FREQUENCIES%20by%20COUNT%20desc%3BDUMP%20RESULT%3B&statusdir=2018-10-30T12-44-24-bd642975-9a89-4480-aea7-3ee1f34016ec" }, "responses": { diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitSparkBatchJob.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitSparkBatchJob.json new file mode 100644 index 000000000000..9090b5329746 --- /dev/null +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitSparkBatchJob.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "endpoint": "cluster.azurehdinsight.net", + "X-Requested-By": "admin", + "sparkBatchJobRequest": { + "file": "wasbs://containercmk002@shangweistorageaccount.blob.core.windows.net/microsoft-spark-2.3.x-0.6.0.jar", + "proxyUser": "", + "className": "org.apache.spark.deploy.dotnet.DotnetRunner12", + "args": [ + "wasbs://containercmk002@shangweistorageaccount.blob.core.windows.net/wordcount.zip", + "WordCount", + "wasbs://containercmk002@shangweistorageaccount.blob.core.windows.net/user/sshroot/shakespeare.txt", + "wasbs://containercmk002@shangweistorageaccount.blob.core.windows.net/user/sshroot/result_livy.txt" + ], + "jars": [], + "pyFiles": [], + "files": [], + "driverMemory": "4g", + "driverCores": 4, + "executorMemory": "2g", + "executorCores": 2, + "numExecutors": 2, + "archives": [], + "queue": "default", + "name": "jobname", + "conf": null + } + }, + "responses": { + "201": { + "body": { + "id": 46, + "state": "starting", + "appId": null, + "appInfo": { + "driverLogUrl": null, + "sparkUiUrl": null + }, + "log": [ + "stdout: ", + "\nstderr: ", + "\nYARN Diagnostics: " + ] + } + } + } +} diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitSparkSessionJob.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitSparkSessionJob.json new file mode 100644 index 000000000000..cc0c91872f3e --- /dev/null +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitSparkSessionJob.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "endpoint": "cluster.azurehdinsight.net", + "X-Requested-By": "admin", + "sparkSessionJobRequest": { + "kind": "spark", + "proxyUser": "", + "jars": [], + "pyFiles": [], + "files": [], + "driverMemory": "4g", + "driverCores": 4, + "executorMemory": "2g", + "executorCores": 2, + "numExecutors": 2, + "archives": [], + "queue": "default", + "name": "jobname", + "conf": null, + "heartbeatTimeoutInSecond": 0 + } + }, + "responses": { + "201": { + "body": { + "id": 34, + "appId": null, + "owner": null, + "proxyUser": null, + "kind": "spark", + "state": "starting", + "log": [ + "stdout: ", + "\nstderr: ", + "\nYARN Diagnostics: " + ], + "appInfo": { + "driverLogUrl": null, + "sparkUiUrl": null + } + } + } + } +} diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitSparkStatementJob.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitSparkStatementJob.json new file mode 100644 index 000000000000..0a288511d8aa --- /dev/null +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitSparkStatementJob.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "endpoint": "cluster.azurehdinsight.net", + "X-Requested-By": "admin", + "sessionId": 34, + "sparkStatementRequest": { + "code": "1 + 1", + "kind": "spark" + } + }, + "responses": { + "201": { + "body": { + "id": 0, + "code": "1 + 1", + "state": "waiting", + "output": null, + "progress": 0.0 + } + } + } +} diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitSqoopJob.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitSqoopJob.json index 2c26b24f605d..eddc3cb5cded 100644 --- a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitSqoopJob.json +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/examples/HDI_Job_SubmitSqoopJob.json @@ -1,7 +1,7 @@ { "parameters": { "user.name": "admin", - "clusterDnsName": "cluster.azurehdinsight.net", + "endpoint": "cluster.azurehdinsight.net", "content": "command=import%20--connect%20jdbc%3Asqlserver%3A%2F%2Fdongwwahdi.database.windows.net%3A1433%3Bdatabase%3DHdInsightJobTest%3Buser%3Ddongwwaadmin%3Bpassword%3DHDInsight123%21%3B%20--table%20dept%20--warehouse-dir%20%2Fuser%2Fadmin%2Fsqoop%2F25c8b9f9-dbc1-4096-aa42-45f2868ab782%20--hive-import%20-m%201%20--hive-table%20deptd3175062928d4170831ac17d2eefdaeb&statusdir=SqoopStatus" }, "responses": { diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/job.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/job.json index 9faa6c4282c0..544f3e29c9c8 100644 --- a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/job.json +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/job.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "title": "HDInsightJobManagementClient", + "title": "HDInsightJobClient", "description": "The HDInsight Job Client.", "version": "2018-11-01-preview", "x-ms-code-generation-settings": { @@ -9,10 +9,10 @@ } }, "x-ms-parameterized-host": { - "hostTemplate": "{clusterDnsName}", + "hostTemplate": "{endpoint}", "parameters": [ { - "$ref": "#/parameters/clusterDnsNameParameter" + "$ref": "#/parameters/endpointParameter" } ] }, @@ -911,13 +911,13 @@ } }, "parameters": { - "clusterDnsNameParameter": { - "name": "clusterDnsName", + "endpointParameter": { + "name": "endpoint", "in": "path", "required": true, "type": "string", "x-ms-skip-url-encoding": true, - "description": "The cluster dns name against which the job management is to be.", + "description": "The cluster endpoint, for example https://clustername.azurehdinsight.net.", "x-ms-parameter-location": "client" }, "UserNameParameter": { 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 new file mode 100644 index 000000000000..d5cbc84df867 --- /dev/null +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/livySpark.json @@ -0,0 +1,1121 @@ +{ + "swagger": "2.0", + "info": { + "title": "HDInsightJobClient", + "description": "The HDInsight Job Client.", + "version": "2018-11-01-preview", + "x-ms-code-generation-settings": { + "internalConstructors": true + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "parameters": [ + { + "$ref": "#/parameters/endpointParameter" + } + ] + }, + "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": { + "/livy/batches": { + "get": { + "tags": [ + "Job" + ], + "description": "List all spark batch jobs", + "operationId": "Job_ListSparkBatchJob", + "x-ms-examples": { + "List all spark batch jobs": { + "$ref": "./examples/HDI_Job_ListSparkBatchJob.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "from", + "in": "query", + "description": "Optional param specifying which index the list should begin from.", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "size", + "in": "query", + "description": "Optional param specifying the size of the returned list.\r\n By default it is 20 and that is the maximum.", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/SparkBatchJobCollection" + } + } + } + }, + "post": { + "tags": [ + "Job" + ], + "description": "Create a new spark batch job.", + "operationId": "Job_SubmitSparkBatchJob", + "x-ms-examples": { + "Create a spark batch job": { + "$ref": "./examples/HDI_Job_SubmitSparkBatchJob.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/requestedByParameter" + }, + { + "name": "sparkBatchJobRequest", + "in": "body", + "description": "Livy compatible batch job request payload.", + "required": true, + "schema": { + "$ref": "#/definitions/SparkBatchJobRequest" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SparkBatchJob" + } + } + } + } + }, + "/livy/batches/{batchId}": { + "get": { + "tags": [ + "Job" + ], + "description": "Gets a single spark batch job.", + "operationId": "Job_GetSparkBatchJob", + "x-ms-examples": { + "Gets a single spark batch job": { + "$ref": "./examples/HDI_Job_GetSparkBatchJob.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "batchId", + "in": "path", + "description": "Identifier for the batch job.", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/SparkBatchJob" + } + } + } + }, + "delete": { + "tags": [ + "Job" + ], + "description": "Cancels a running spark batch job.", + "operationId": "Job_DeleteSparkBatch", + "x-ms-examples": { + "Cancels a running spark batch job": { + "$ref": "./examples/HDI_Job_DeleteSparkBatch.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/requestedByParameter" + }, + { + "name": "batchId", + "in": "path", + "description": "Identifier for the batch job.", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/SparkJobDeletedResult" + } + } + } + } + }, + "/livy/batches/{batchId}/log": { + "get": { + "tags": [ + "Job" + ], + "description": "Gets a single spark batch job logs.", + "operationId": "Job_GetSparkBatchLog", + "x-ms-examples": { + "Gets a single spark batch job logs": { + "$ref": "./examples/HDI_Job_GetSparkBatchLog.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "batchId", + "in": "path", + "description": "Identifier for the batch job.", + "required": true, + "type": "integer", + "format": "int32" + }, + { + "name": "from", + "in": "query", + "description": "Optional param specifying which index the list should begin from.", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "size", + "in": "query", + "description": "Optional param specifying the size of the returned list.\r\n By default it is 20 and that is the maximum.", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/SparkJobLog" + } + } + } + } + }, + "/livy/batches/{batchId}/state": { + "get": { + "tags": [ + "Job" + ], + "description": "Gets a single spark batch state.", + "operationId": "Job_GetSparkBatchState", + "x-ms-examples": { + "Gets a single spark batch state": { + "$ref": "./examples/HDI_Job_GetSparkBatchState.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "batchId", + "in": "path", + "description": "Identifier for the batch job.", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/SparkJobState" + } + } + } + } + }, + "/livy/sessions": { + "get": { + "tags": [ + "Job" + ], + "description": "List all spark sessions.", + "operationId": "Job_ListSparkSessionJob", + "x-ms-examples": { + "List all spark sessions": { + "$ref": "./examples/HDI_Job_ListSparkSessionJob.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "from", + "in": "query", + "description": "Optional param specifying which index the list should begin from.", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "size", + "in": "query", + "description": "Optional param specifying the size of the returned list.\r\n By default it is 20 and that is the maximum.", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/SparkSessionCollection" + } + } + } + }, + "post": { + "tags": [ + "Job" + ], + "description": "Create a new spark session.", + "operationId": "Job_SubmitSparkSessionJob", + "x-ms-examples": { + "Create a new spark session": { + "$ref": "./examples/HDI_Job_SubmitSparkSessionJob.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/requestedByParameter" + }, + { + "name": "sparkSessionJobRequest", + "in": "body", + "description": "Livy compatible session job request payload.", + "required": true, + "schema": { + "$ref": "#/definitions/SparkSessionJobRequest" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SparkSessionJob" + } + } + } + } + }, + "/livy/sessions/{sessionId}": { + "get": { + "tags": [ + "Job" + ], + "description": "Gets a single spark session.", + "operationId": "Job_GetSparkSessionJob", + "x-ms-examples": { + "Gets a single spark session": { + "$ref": "./examples/HDI_Job_GetSparkSessionJob.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "sessionId", + "in": "path", + "description": "Identifier for the session.", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/SparkSessionJob" + } + } + } + }, + "delete": { + "tags": [ + "Job" + ], + "description": "Cancels a running spark session.", + "operationId": "Job_DeleteSparkSessionJob", + "x-ms-examples": { + "Cancels a running spark session": { + "$ref": "./examples/HDI_Job_DeleteSparkSessionJob.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/requestedByParameter" + }, + { + "name": "sessionId", + "in": "path", + "description": "Identifier for the session.", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/SparkJobDeletedResult" + } + } + } + } + }, + "/livy/sessions/{sessionId}/log": { + "get": { + "tags": [ + "Job" + ], + "description": "Gets a single spark session job logs.", + "operationId": "Job_GetSparkSessionLog", + "x-ms-examples": { + "Gets a single spark session job logs": { + "$ref": "./examples/HDI_Job_GetSparkSessionLog.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "sessionId", + "in": "path", + "description": "Identifier for the session job.", + "required": true, + "type": "integer", + "format": "int32" + }, + { + "name": "from", + "in": "query", + "description": "Optional param specifying which index the list should begin from.", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "size", + "in": "query", + "description": "Optional param specifying the size of the returned list.\r\n By default it is 20 and that is the maximum.", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/SparkJobLog" + } + } + } + } + }, + "/livy/sessions/{sessionId}/state": { + "get": { + "tags": [ + "Job" + ], + "description": "Gets a single spark session job state.", + "operationId": "Job_GetSparkSessionState", + "x-ms-examples": { + "Gets a single spark session job state": { + "$ref": "./examples/HDI_Job_GetSparkSessionState.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "sessionId", + "in": "path", + "description": "Identifier for the session job.", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/SparkJobState" + } + } + } + } + }, + "/livy/sessions/{sessionId}/statements": { + "get": { + "tags": [ + "Job" + ], + "description": "Gets a list of statements within a spark session.", + "operationId": "Job_ListSparkStatementJob", + "x-ms-examples": { + "Gets a list of statements within a spark session": { + "$ref": "./examples/HDI_Job_ListSparkStatementJob.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "sessionId", + "in": "path", + "description": "Identifier for the session.", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/SparkStatementCollection" + } + } + } + }, + "post": { + "tags": [ + "Job" + ], + "description": "Create a statement within a spark session.", + "operationId": "Job_SubmitSparkStatementJob", + "x-ms-examples": { + "Create a statement within a spark session": { + "$ref": "./examples/HDI_Job_SubmitSparkStatementJob.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/requestedByParameter" + }, + { + "name": "sessionId", + "in": "path", + "description": "Identifier for the session.", + "required": true, + "type": "integer", + "format": "int32" + }, + { + "name": "sparkStatementRequest", + "in": "body", + "description": "Livy compatible batch job request payload.", + "required": true, + "schema": { + "$ref": "#/definitions/SparkStatementRequest" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SparkStatement" + } + } + } + } + }, + "/livy/sessions/{sessionId}/statements/{statementId}": { + "get": { + "tags": [ + "Job" + ], + "description": "Gets a single statement within a spark session.", + "operationId": "Job_GetSparkStatementJob", + "x-ms-examples": { + "Gets a single statement within a spark session": { + "$ref": "./examples/HDI_Job_GetSparkStatementJob.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "sessionId", + "in": "path", + "description": "Identifier for the session.", + "required": true, + "type": "integer", + "format": "int32" + }, + { + "name": "statementId", + "in": "path", + "description": "Identifier for the statement.", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/SparkStatement" + } + } + } + } + }, + "/livy/sessions/{sessionId}/statements/{statementId}/cancel": { + "post": { + "tags": [ + "Job" + ], + "description": "Kill a statement within a session.", + "operationId": "Job_DeleteSparkStatementJob", + "x-ms-examples": { + "Kill a statement within a session": { + "$ref": "./examples/HDI_Job_DeleteSparkStatementJob.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/requestedByParameter" + }, + { + "name": "sessionId", + "in": "path", + "description": "Identifier for the session.", + "required": true, + "type": "integer", + "format": "int32" + }, + { + "name": "statementId", + "in": "path", + "description": "Identifier for the statement.", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/SparkStatementCancellationResult" + } + } + } + } + } + }, + "definitions": { + "SparkBatchJobCollection": { + "type": "object", + "properties": { + "from": { + "format": "int32", + "type": "integer" + }, + "total": { + "format": "int32", + "type": "integer" + }, + "sessions": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SparkBatchJob" + } + } + } + }, + "SparkBatchJob": { + "type": "object", + "properties": { + "id": { + "format": "int32", + "type": "integer" + }, + "appId": { + "type": "string" + }, + "appInfo": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "state": { + "type": "string" + }, + "log": { + "x-ms-client-name": "logLines", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "SparkBatchJobRequest": { + "type": "object", + "properties": { + "file": { + "type": "string" + }, + "proxyUser": { + "type": "string" + }, + "className": { + "type": "string" + }, + "args": { + "x-ms-client-name": "arguments", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "jars": { + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "pyFiles": { + "x-ms-client-name": "pythonFiles", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "files": { + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "driverMemory": { + "type": "string" + }, + "driverCores": { + "format": "int32", + "type": "integer" + }, + "executorMemory": { + "type": "string" + }, + "executorCores": { + "format": "int32", + "type": "integer" + }, + "numExecutors": { + "x-ms-client-name": "executorCount", + "format": "int32", + "type": "integer" + }, + "archives": { + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "queue": { + "type": "string" + }, + "name": { + "type": "string" + }, + "conf": { + "x-ms-client-name": "configuration", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "SparkSessionCollection": { + "type": "object", + "properties": { + "from": { + "format": "int32", + "type": "integer" + }, + "total": { + "format": "int32", + "type": "integer" + }, + "sessions": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SparkSessionJob" + } + } + } + }, + "SparkSessionJob": { + "type": "object", + "properties": { + "id": { + "format": "int32", + "type": "integer" + }, + "appId": { + "type": "string" + }, + "owner": { + "type": "string" + }, + "proxyUser": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "log": { + "x-ms-client-name": "logLines", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "state": { + "type": "string" + }, + "appInfo": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "SparkSessionJobRequest": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "x-ms-enum": { + "name": "SessionJobKind", + "modelAsString": true + }, + "enum": [ + "spark", + "pyspark", + "sparkr", + "sql" + ] + }, + "proxyUser": { + "type": "string" + }, + "jars": { + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "pyFiles": { + "x-ms-client-name": "pythonFiles", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "files": { + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "driverMemory": { + "type": "string" + }, + "driverCores": { + "format": "int32", + "type": "integer" + }, + "executorMemory": { + "type": "string" + }, + "executorCores": { + "format": "int32", + "type": "integer" + }, + "numExecutors": { + "x-ms-client-name": "executorCount", + "format": "int32", + "type": "integer" + }, + "archives": { + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "queue": { + "type": "string" + }, + "name": { + "type": "string" + }, + "conf": { + "x-ms-client-name": "configuration", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "heartbeatTimeoutInSecond": { + "format": "int32", + "type": "integer" + } + } + }, + "SparkJobLog": { + "type": "object", + "properties": { + "id": { + "format": "int32", + "type": "integer" + }, + "from": { + "format": "int32", + "type": "integer" + }, + "size": { + "format": "int32", + "type": "integer" + }, + "total": { + "format": "int64", + "type": "integer" + }, + "log": { + "x-ms-client-name": "logLines", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "SparkJobState": { + "type": "object", + "properties": { + "id": { + "format": "int32", + "type": "integer" + }, + "state": { + "type": "string" + } + } + }, + "SparkStatementCollection": { + "type": "object", + "properties": { + "statements": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SparkStatement" + } + } + } + }, + "SparkStatement": { + "type": "object", + "properties": { + "id": { + "format": "int32", + "type": "integer" + }, + "code": { + "type": "string" + }, + "state": { + "type": "string" + }, + "output": { + "$ref": "#/definitions/SparkStatementOutput" + }, + "progress": { + "type": "number", + "format": "double" + } + } + }, + "SparkStatementOutput": { + "type": "object", + "properties": { + "status": { + "type": "string" + }, + "execution_count": { + "format": "int32", + "type": "integer" + }, + "data": { + "type": "object" + } + } + }, + "SparkStatementRequest": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "kind": { + "type": "string" + } + } + }, + "SparkStatementCancellationResult": { + "type": "object", + "properties": { + "msg": { + "x-ms-client-name": "cancelMessage", + "type": "string" + } + } + }, + "SparkJobDeletedResult": { + "type": "object", + "properties": { + "msg": { + "x-ms-client-name": "deletedMessage", + "type": "string" + } + } + } + }, + "parameters": { + "requestedByParameter": { + "name": "X-Requested-By", + "x-ms-parameter-location": "method", + "x-ms-client-name": "requestedBy", + "description": "Add default value for X-Requested-By in header.", + "in": "header", + "required": false, + "default": "ambari", + "type": "string" + }, + "endpointParameter": { + "name": "endpoint", + "in": "path", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "description": "The cluster endpoint, for example https://clustername.azurehdinsight.net.", + "x-ms-parameter-location": "client" + } + } +} diff --git a/specification/hdinsight/data-plane/readme.md b/specification/hdinsight/data-plane/readme.md index ffd1eb557e82..7116c5692305 100644 --- a/specification/hdinsight/data-plane/readme.md +++ b/specification/hdinsight/data-plane/readme.md @@ -36,8 +36,18 @@ These settings apply only when `--tag=package-2018-11-preview` is specified on t ``` yaml $(tag) == 'package-2018-11-preview' input-file: - Microsoft.HDInsight/preview/2018-11-01-preview/job.json +- Microsoft.HDInsight/preview/2018-11-01-preview/livySpark.json ``` +## Suppression +``` yaml +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + reason: This would require a breaking change, and need to be consistent with the response from RP side. + from: livySpark.json + where: + - $.definitions.SparkStatementOutput.properties.execution_count +``` --- # Code Generation @@ -146,6 +156,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: - $(this-folder)/Microsoft.HDInsight/preview/2018-11-01-preview/job.json + - $(this-folder)/Microsoft.HDInsight/preview/2018-11-01-preview/livySpark.json ``` diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/GetClusterVirtualMachines.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/GetClusterVirtualMachines.json index ef9bdd0d2d1e..6e3d11ed1863 100644 --- a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/GetClusterVirtualMachines.json +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/GetClusterVirtualMachines.json @@ -7,37 +7,35 @@ }, "responses": { "200": { - "body": { - "value": [ - { - "name": "gateway1" - }, - { - "name": "gateway3" - }, - { - "name": "headnode0" - }, - { - "name": "headnode3" - }, - { - "name": "workernode0" - }, - { - "name": "workernode1" - }, - { - "name": "zookeepernode0" - }, - { - "name": "zookeepernode2" - }, - { - "name": "zookeepernode3" - } - ] - } + "body": [ + { + "name": "gateway1" + }, + { + "name": "gateway3" + }, + { + "name": "headnode0" + }, + { + "name": "headnode3" + }, + { + "name": "workernode0" + }, + { + "name": "workernode1" + }, + { + "name": "zookeepernode0" + }, + { + "name": "zookeepernode2" + }, + { + "name": "zookeepernode3" + } + ] } } } diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/virtualMachines.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/virtualMachines.json index 61878b4e0af6..4db9dc3a68d9 100644 --- a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/virtualMachines.json +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/virtualMachines.json @@ -142,14 +142,9 @@ }, "HostInfoListResult": { "description": "Result of the request to list cluster hosts", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/HostInfo" - }, - "description": "The list of cluster hosts." - } + "type": "array", + "items": { + "$ref": "#/definitions/HostInfo" }, "readOnly": true }, diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2020-01-01-preview/connectedClusters.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2020-01-01-preview/connectedClusters.json index 831f3567dbf4..d5551cc9c0ae 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2020-01-01-preview/connectedClusters.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2020-01-01-preview/connectedClusters.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "title": "KubernetesConnectRPClient", + "title": "ConnectedKubernetesClient", "version": "2020-01-01-preview", "description": "Azure Connected Cluster Resource Provider API for adopting any Kubernetes Cluster" }, diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/IotHub_ManualFailover.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/IotHub_ManualFailover.json new file mode 100644 index 000000000000..a1c04b705fe5 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/IotHub_ManualFailover.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "failoverInput": { + "failoverRegion": "testHub" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/checkNameAvailability.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/checkNameAvailability.json new file mode 100644 index 000000000000..6581d7844be9 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/checkNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_certificatescreateorupdate.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_certificatescreateorupdate.json new file mode 100644 index 000000000000..441418d317ce --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_certificatescreateorupdate.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "resourceName": "iothub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "certificateDescription": { + "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" + }, + "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" + }, + "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-04-01/examples/iothub_certificatesdelete.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_certificatesdelete.json new file mode 100644 index 000000000000..a6298b08f0c8 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_certificatesdelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "resourceName": "myhub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_certverify.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_certverify.json new file mode 100644 index 000000000000..c21b660ba2cf --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_certverify.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_createOrUpdate.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_createOrUpdate.json new file mode 100644 index 000000000000..2cd2c5b5f4b5 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_createOrUpdate.json @@ -0,0 +1,226 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_createconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_createconsumergroup.json new file mode 100644 index 000000000000..5bade20d43d0 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_createconsumergroup.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_delete.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_delete.json new file mode 100644 index 000000000000..cc1a6c150d79 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_delete.json @@ -0,0 +1,164 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_deleteconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_deleteconsumergroup.json new file mode 100644 index 000000000000..255f559176e0 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_deleteconsumergroup.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-01", + "eventHubEndpointName": "events", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "name": "test" + }, + "responses": { + "200": {} + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_deleteprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_deleteprivateendpointconnection.json new file mode 100644 index 000000000000..a7f5281224b8 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_deleteprivateendpointconnection.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_exportdevices.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_exportdevices.json new file mode 100644 index 000000000000..b14348ff03cd --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_exportdevices.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_generateverificationcode.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_generateverificationcode.json new file mode 100644 index 000000000000..c30d68e5a172 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_generateverificationcode.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_get.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_get.json new file mode 100644 index 000000000000..d6774f3b969f --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_get.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_getcertificate.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_getcertificate.json new file mode 100644 index 000000000000..29fea7c21df0 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_getcertificate.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "resourceName": "testhub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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/IotHubs/Certificates", + "etag": "AAAAAAExpNs=" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_getconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_getconsumergroup.json new file mode 100644 index 000000000000..5bade20d43d0 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_getconsumergroup.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_getjob.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_getjob.json new file mode 100644 index 000000000000..515879a8e488 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_getjob.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_getkey.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_getkey.json new file mode 100644 index 000000000000..15de768f8a86 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_getkey.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_getprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_getprivateendpointconnection.json new file mode 100644 index 000000000000..15d808b0a0b0 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_getprivateendpointconnection.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_getprivatelinkresources.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_getprivatelinkresources.json new file mode 100644 index 000000000000..4d836ee7745b --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_getprivatelinkresources.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_getskus.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_getskus.json new file mode 100644 index 000000000000..df66c6ab9b14 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_getskus.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_importdevices.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_importdevices.json new file mode 100644 index 000000000000..dc1dca139ab5 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_importdevices.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_listbyrg.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_listbyrg.json new file mode 100644 index 000000000000..1665155c13ea --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_listbyrg.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_listbysubscription.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_listbysubscription.json new file mode 100644 index 000000000000..8c498ded46de --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_listbysubscription.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "resourceName": "testHub", + "api-version": "2020-04-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-04-01/examples/iothub_listcertificates.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_listcertificates.json new file mode 100644 index 000000000000..0bd695f362be --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_listcertificates.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "resourceName": "testhub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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/IotHubs/Certificates", + "etag": "AAAAAAExpNs=" + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_listehgroups.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_listehgroups.json new file mode 100644 index 000000000000..9a2a42b7b7a6 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_listehgroups.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_listjobs.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_listjobs.json new file mode 100644 index 000000000000..dcbab89398be --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_listjobs.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_listkeys.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_listkeys.json new file mode 100644 index 000000000000..835b1270ebb7 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_listkeys.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_listprivateendpointconnections.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_listprivateendpointconnections.json new file mode 100644 index 000000000000..0de50750b7bc --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_listprivateendpointconnections.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_listprivatelinkresources.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_listprivatelinkresources.json new file mode 100644 index 000000000000..d7aa5421fc46 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_listprivatelinkresources.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_operations.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_operations.json new file mode 100644 index 000000000000..c3373a3cad9e --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_operations.json @@ -0,0 +1,328 @@ +{ + "parameters": { + "api-version": "2020-04-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-04-01/examples/iothub_patch.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_patch.json new file mode 100644 index 000000000000..1638859936f7 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_patch.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "resourceName": "myHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_quotametrics.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_quotametrics.json new file mode 100644 index 000000000000..1a8cda78bde2 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_quotametrics.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_routingendpointhealth.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_routingendpointhealth.json new file mode 100644 index 000000000000..5a498fd47625 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_routingendpointhealth.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_stats.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_stats.json new file mode 100644 index 000000000000..1a7bcb918e7e --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-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-04-01/examples/iothub_testallroutes.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_testallroutes.json new file mode 100644 index 000000000000..467482e1ac0f --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_testallroutes.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_testnewroute.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_testnewroute.json new file mode 100644 index 000000000000..0a8d8c65611d --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_testnewroute.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_updateprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_updateprivateendpointconnection.json new file mode 100644 index 000000000000..b4563a4991cb --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_updateprivateendpointconnection.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-04-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-04-01/examples/iothub_usages.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_usages.json new file mode 100644 index 000000000000..d5a118a3b06f --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/examples/iothub_usages.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-04-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-04-01/iothub.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/iothub.json new file mode 100644 index 000000000000..044be4a4acf5 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-04-01/iothub.json @@ -0,0 +1,4168 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-04-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" + } + ], + "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/CertificateBodyDescription" + } + }, + { + "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 + } + } + }, + "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/readme.md b/specification/iothub/resource-manager/readme.md index 8e78febbb821..cc0782d00196 100644 --- a/specification/iothub/resource-manager/readme.md +++ b/specification/iothub/resource-manager/readme.md @@ -26,18 +26,27 @@ These are the global settings for the IotHub API. ``` yaml openapi-type: arm -tag: package-2020-03 +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.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. -```yaml $(tag) == 'package-2020-03' +``` yaml $(tag) == 'package-2020-03' input-file: - Microsoft.Devices/stable/2020-03-01/iothub.json ``` + ### Tag: package-2019-11 These settings apply only when `--tag=package-2019-11` is specified on the command line. 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..5a0bfa70211d 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" 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..0bb932484ef9 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" 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..60d8f7d5deb3 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" 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 70% 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 d3539a6a3040..9a6587443dd8 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 @@ -5,6 +5,21 @@ "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" ], @@ -193,6 +208,64 @@ } } } + }, + "/keys/{keyName}/restore": { + "put": { + "tags": [ + "Keys" + ], + "operationId": "SelectiveKeyRestoreOperation", + "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": [ + { + "name": "keyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key to be restored from the user supplied backup" + }, + { + "name": "restoreBlobDetails", + "in": "body", + "schema": { + "$ref": "#/definitions/SelectiveKeyRestoreOperationParameters" + }, + "description": "The Azure blob SAS token pointing to a folder where the previous successful full backup was stored" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Started selective key restore operation from the previously stored backup", + "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/SelectiveKeyRestoreOperation" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Selectively restore key from a backup": { + "$ref": "./examples/SelectiveRestore-example.json" + } + } + } } }, "definitions": { @@ -211,6 +284,52 @@ "sasTokenParameters" ] }, + "SelectiveKeyRestoreOperationParameters": { + "properties": { + "sasTokenParameters": { + "$ref": "#/definitions/SASTokenParameter" + }, + "folder": { + "type": "string", + "description": "The Folder name of the blob where the previous successful full backup was stored" + } + }, + "required": [ + "folder", + "sasTokenParameters" + ] + }, + "SelectiveKeyRestoreOperation": { + "properties": { + "status": { + "type": "string", + "description": "Status of the restore operation." + }, + "statusDetails": { + "type": "string", + "description": "The status details of restore operation." + }, + "error": { + "$ref": "common.json#/definitions/Error", + "description": "Error encountered, if any, during the selective key restore operation." + }, + "jobId": { + "type": "string", + "description": "Identifier for the selective key restore operation." + }, + "startTime": { + "type": "integer", + "format": "unixtime", + "description": "The start time of the restore operation" + }, + "endTime": { + "type": "integer", + "format": "unixtime", + "description": "The end time of the restore operation" + } + }, + "description": "Selective Key Restore operation" + }, "SASTokenParameter": { "properties": { "storageResourceUri": { diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/certificates.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/certificates.json similarity index 99% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/certificates.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/certificates.json index ddcae29d2b30..68088de0eede 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/certificates.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/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" diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/common.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/common.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/common.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/common.json 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-preview/examples/ExportKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/ExportKey-example.json new file mode 100644 index 000000000000..8cb42488f38b --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/ExportKey-example.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "exportable-aes-key", + "key-version": "4eb68492b5f6421e835d961ad2be3155", + "api-version": "7.2-preview", + "parameters": { + "env": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkdXQXkxNk5ieFJJQ3lCUzVKckJxRk5DdXdjS2YxYUVYbS1hUDVsUlJ4UEUiLCJqa3UiOiJodHRwOi8vbG9jYWxob3N0OjgwMjMva2V5cyJ9.eyJhYXMtZWhkIjoiZXlKclpYbHpJanBiZXlKbElqb2lRVkZCUWlJc0ltdGxlVjl2Y0hNaU9sc2laR1ZqY25sd2RDSXNJbVZ1WTNKNWNIUWlYU3dpYTJsa0lqb2lOVE16TmpReU5HTXRaV1kzWlMxaU1tRm1MVFU1WmprdE5HUXdPRGhtTURRMFpHVTFJaXdpYTNSNUlqb2lVbE5CSWl3aWJpSTZJbkJPYkhoWVNuRTNPSGRPUkVVd2FXMVNOa1JCWWs5alNrRXpUekp1UlZvNVdFaGtjMDVQTjB0b00xWlJRVTh5VWt0eFlqQk9iRXh4TVhwUFRVOTVZVlJPUW5rNWMzUTRjbG95TURWYU1EWTFjalY2YlRKa1FrSllkRkJUU21Sc1VtSm9WRXd0TlRCcWFFVXpiRUV4WjFVemVYcDJaR0o1U1Zob2NtMDNkWEJFVGtKemFXeFNlR1ZVUW1KUGNWOW1XSE5vT1dGMVVHeGxVM0pOWlZCR2JGbElkVmRNTjJacGNYWktiMHMyZUZSSVZFSmZUa2R1WjBWMlFrMTVPRGRxWlVsbExWbEJUbUYxWkRsRk5GYzFhWHBLZFVwNmJGOHhORkJFY1VWdWVGcFNTM0F5YW1WUGJsZEpTRXRVVm0wMWFsRmhiakZoTlVkdmJGWmxRV2szWlhoalNtRXlNaTFLZERSRWEwNHlWakZMTUZCZlR6YzJSME5ETjNCWlVYVlpTWEkxZFZWclExUmtWVVYxYmxKSWIyaFRWbTFHZVZGaldFSlVkVmxuUVdNMVJFZEpaVGQ1UjNSRFdtOW9WRjlsVmxGQ2NESldVU0lzSW5WelpTSTZJbVZ1WXlKOVhYMCIsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3Q6ODAyMy8iLCJzZ3gtbXJlbmNsYXZlIjoiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsInNneC1tcnNpZ25lciI6Ijg2Nzg4ZmU0MDQ0OGYyYTEyZTIwYmY4ZDVlN2ExYzMxMzliYzVmZGMxNDMyYjM3MGMxZGEzNDg5YWI2NDlhODUiLCJpcy1kZWJ1Z2dhYmxlIjp0cnVlLCJ0ZWUiOiJzZ3giLCJpYXQiOjE1ODc0MjUxNzMsImV4cCI6MTU4ODAyOTk3M30.CA9gO0kRMHt6e9xTKopwEnDt-Mc52oAAe6zicFwX3REZd5E0m3WzJuSYS8H9iKTGL1dfusflPx74C5xLTZiHe0D2YFHYoW3efEm3r55DwkpTbA6tbDjMY7OIC9XuC7prAf4nQ5hYRk0LATzwytYIZ-c-R08ZEt5CV5XqR5MuSDKWWslPm36BHD3l03VVNEEG4hC9KuCIZ2z9YK5ofGze-IY1J9x1EwnG-y_1RF6rDKENjOROOaOH9JvohHGIfK0FKVj8_7E6JxMTQMb7K-45GfE20tTVdCs4A4k3jXNrIRcGmSK5EMrB_LbHzk0PIc6sjl-VuPZVqGxhsaAyoH3cdA" + } + }, + "responses": { + "200": { + "body": { + "attributes": { + "created": 1587425174, + "enabled": true, + "exportable": true, + "recoverableDays": 90, + "recoveryLevel": "Recoverable+Purgeable", + "updated": 1587425174 + }, + "key": { + "key_ops": [ + "decrypt", + "encrypt" + ], + "kid": "https://myvault.vault.azure.net/keys/exportable-aes-key/903fab0c1bab0b30266200be85f5f2ed", + "kty": "oct", + "key_hsm": "CxX3qVTt22ZvjwdS-fmMSsLpaQQ8IcfGAC2TYWo3FXIPnOrSmZWdWN3gLMNSLUtUOhXqwXCe6jOxH2jMr6suO4Q0mfrKurAB-IC5gbDZGGD9XksrAkyYS-0p4p4I4Q4QxEOCtCKYPYWWu91dg5xg5aYjVRyR5G3C6O0haotp1FL1FiOB1PVcW9HchDIdHMFCszsb33pbvDuYvJXPPqdSIGIT8P8ExVG9_RwYTZl2Kj3MTSbe9zjOEEW-EnA6Phr0EFO0h94dWK0Y2tPhyzGYOSBScJCWIdwD9lT1aaHNFE0rSLJ9wv0qGezR10nD7V7ALZiEscsrAcwrWTtmmCJMAIJpGf0u9rN1_JQiXuO4Q9Cf4b73nSP1kIIAPkZ3r6Fqmrm8F7NeKis" + }, + "release_policy": { + "anyOf": [ + { + "allOf": [ + { + "claim": "sgx-mrsigner", + "condition": "equals", + "value": "86788fe40448f2a12e20bf8d5e7a1c3139bc5fdc1432b370c1da3489ab649a85" + }, + { + "claim": "is-debuggable", + "condition": "equals", + "value": "false" + } + ], + "authority": "http://localhost:8023/" + } + ], + "version": "0.2" + } + } + } + } +} 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 94% 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 index 94db87470eab..ce343dfcfba5 100644 --- 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 @@ -1,5 +1,6 @@ { "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", "azureStorageBlobContainerUri": { "storageResourceUri": "https://myaccount.blob.core.windows.net/sascontainer/sasContainer", "token": "se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D" 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 90% 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 index 9396af3e5d5d..e634afa229d0 100644 --- 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 @@ -1,5 +1,6 @@ { "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", "jobId": "45aacd568ab049a2803861e8dd3ae21f", "api-version": "7.2-preview" }, 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 87% 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 index cd9c7278ab29..08b8c336100b 100644 --- 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 @@ -1,11 +1,12 @@ { "parameters": { + "vaultBaseUrl": "https://myhsm.managedhsm.azure.net", "restoreBlobDetails": { "sasTokenParameters": { "storageResourceUri": "https://myaccount.blob.core.windows.net/sascontainer/sasContainer", "token": "se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D" }, - "folderToRestore": "1490790332" + "folderToRestore": "mhsm-mypool-20200303062926785" }, "api-version": "7.2-preview" }, 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/FullRestore-pending-example.json similarity index 86% 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/FullRestore-pending-example.json index 70786dedfba1..5cc1666fc91f 100644 --- 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/FullRestore-pending-example.json @@ -1,5 +1,6 @@ { "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", "jobId": "45aacd568ab049a2803861e8dd3ae21f", "api-version": "7.2-preview" }, 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/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-preview/examples/SelectiveRestore-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/SelectiveRestore-example.json new file mode 100644 index 000000000000..91815d730b80 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/SelectiveRestore-example.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net", + "keyName": "hsm-mail-key", + "restoreBlobDetails": { + "sasTokenParameters": { + "storageResourceUri": "https://myaccount.blob.core.windows.net/sascontainer/sasContainer", + "token": "se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCH112BxhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D" + }, + "folder": "mhsm-mypool-20200303062926785" + }, + "api-version": "7.2-preview" + }, + "responses": { + "202": { + "headers": { + "Retry-After": 5, + "Azure-AsyncOperation": "https://myvault.vault.azure.net/restore/45aacd568a23b0s49a2803861e8dd3ase21f/pending" + }, + "body": { + "status": "InProgress", + "statusDetails": "Selective Key restore is in progress", + "jobId": "45aacd568a23b0s49a2803861e8dd3ase21f", + "startTime": 1490790000, + "endTime": 0 + } + } + } +} 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..1c733f9c7967 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomaindownloadpost-example.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "Certificates": { + "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" + } + } + ] + }, + "api-version": "7.2-preview" + }, + "responses": { + "200": { + "body": { + "value": "{\"EncData\":{\"data\":[{\"compact_jwe\":\"ey$Jhb%232GciOiJkaXIiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwia2lkIjoiZW5jbGF2ZS$J9..5eVwZFlsZQeYXQ11HPC_JJg.4d32grvkQBMxyGmncd82VHOggiFbtuaKX2wXvjU-vKukMAtS7oLl9QsSZZJ5s94xAz7Atye93e6gA_2tbHW0QEzLOXiuV-vZ342zP46dxV56bEEjENIOgzBWAfxUkuUdnYE2UDahGSJSbhNxo8URa44CaSAX682q_otmwqh0jgxk5ZcbHRdwpbSFZnfQ6SgHBqrvQUUpKlWJMJQNuWeEjmWaPkCOUnwkJ1ZLOnVj1AB8rlfj0qnEtBotc4V5066vztRDaTLEOV99lp08WRcRPAY2QVBSfhZdzslQ2baRukk6WOTI5KxIl0cf7o0db_zgoT6vluewXgzTSe6NTcrparwVJ-r6kxw12gkYJtrr3ytvOT_lgip5-7H3PLAgDDRDjHd_PEdNyPqsg56QjtVXBUwutQrfh46s_ATm0dFrhAF6Icf9H2rLDGCiFmKUn-CrtM3vErNzu9BMC8ekuSOe0t0XTnsKOjdiabE95MoRIqQYWQGfi02Rp2XO_lSEUnQJTNomd1IATKPiqqktE5YUu0OzDrVCdSGBGg5IDedmGSp0QIf8m7kSc8xYUsU1PTdJoSzgiOAue0ur_P1i2xr_BSSI6I4BJekw9e58qqBbWN-kc3swgLddsCfXqyW9RnNBvjQmnwdffv1O_4zF0wGVnohs6PYu-9RqIzLxgfHvnlBQbsauWlqpNfw5h_JpnoKW287vPc2iXRONHlGdd-4Mp3323JFbISM6NgGg8y6nUAdKASjyXuqR7bTnr3pNTpjF4523buuzKG3Q4nzr-jnWGPIpxeyBV6unEK0Aw3-QQpY7CG_s3-76P484gJm4vPum03I_V3tmnNt}]}}" + } + } + } +} 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..9c9edb0d91fa --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomaintransferkey-example.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.2-preview" + }, + "responses": { + "200": { + "body": { + "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..e59cc01e4939 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomainuploadoperation-example.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "security_domain": { + "value": "" + }, + "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/keys.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/keys.json similarity index 91% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/keys.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/keys.json index 99327bcef69d..19218ec417ae 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/keys.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/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" @@ -808,6 +808,64 @@ } } }, + "/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": [ @@ -975,6 +1033,83 @@ } }, "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": { @@ -1082,7 +1217,7 @@ "x-ms-client-name": "t", "type": "string", "format": "base64url", - "description": "HSM Token, used with 'Bring Your Own Key'." + "description": "Protected Key, used with 'Bring Your Own Key'." }, "crv": { "type": "string", @@ -1160,6 +1295,10 @@ }, "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." @@ -1185,6 +1324,10 @@ "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." @@ -1340,6 +1483,11 @@ "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": { @@ -1352,7 +1500,8 @@ "verify", "wrapKey", "unwrapKey", - "import" + "import", + "export" ], "x-ms-enum": { "name": "JsonWebKeyOperation", @@ -1385,6 +1534,10 @@ "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.", @@ -1413,6 +1566,10 @@ "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.", @@ -1420,6 +1577,20 @@ "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": { @@ -1436,7 +1607,13 @@ "A256GCM", "A128KW", "A192KW", - "A256KW" + "A256KW", + "A128CBC", + "A192CBC", + "A256CBC", + "A128CBCPAD", + "A192CBCPAD", + "A256CBCPAD" ], "x-ms-enum": { "name": "JsonWebKeyEncryptionAlgorithm", @@ -1609,7 +1786,8 @@ "verify", "wrapKey", "unwrapKey", - "import" + "import", + "export" ], "x-ms-enum": { "name": "JsonWebKeyOperation", @@ -1628,6 +1806,10 @@ "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." 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/secrets.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/secrets.json similarity index 99% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/secrets.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/secrets.json index 56c3c00f2b27..a8e201aa184d 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/secrets.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/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" 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..6f2bb9644780 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/securitydomain.json @@ -0,0 +1,330 @@ +{ + "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": "Certificates", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateSet" + }, + "description": "Security domain download operation requires customer to provide three certificates containing public key in JWK format." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Security domain download response", + "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/SecurityDomainObject" + } + } + ], + "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": { + "CertificateSet": { + "properties": { + "certificates": { + "type": "array", + "items": { + "$ref": "#/definitions/SecurityDomainCertificateItem" + }, + "minItems": 3, + "maxItems": 3, + "uniqueItems": true, + "description": "Three certificates needed from customer" + } + }, + "required": [ + "certificates" + ] + }, + "SecurityDomainCertificateItem": { + "properties": { + "value": { + "$ref": "#/definitions/SecurityDomainJsonWebKey", + "description": "Customer generated certificate containing public key in JWK format" + } + }, + "required": [ + "value" + ] + }, + "TransferKey": { + "properties": { + "transfer_key": { + "$ref": "#/definitions/SecurityDomainJsonWebKey" + } + }, + "required": [ + "transfer_key" + ] + }, + "SecurityDomainObject": { + "properties": { + "value": { + "type": "string" + } + } + }, + "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", + "enum": [ + "RSA", + "RSA-HSM" + ], + "x-ms-enum": { + "name": "JsonWebKeyType", + "modelAsString": true + } + }, + "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", + "kid", + "x5c", + "x5t#S256", + "n", + "e" + ] + } + }, + "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-preview/storage.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/storage.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/storage.json 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..25a2ceab1a35 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" diff --git a/specification/keyvault/data-plane/readme.md b/specification/keyvault/data-plane/readme.md index eb859f72ce78..601fc2219975 100644 --- a/specification/keyvault/data-plane/readme.md +++ b/specification/keyvault/data-plane/readme.md @@ -35,13 +35,14 @@ 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.1-preview @@ -153,13 +154,13 @@ 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.1/certificates.json - $(this-folder)/Microsoft.KeyVault/preview/7.1/common.json - $(this-folder)/Microsoft.KeyVault/preview/7.1/keys.json @@ -288,10 +289,22 @@ directive: from: keys.json where: $.definitions.JsonWebKey.properties.key_hsm reason: Merely refactored existing definitions into new files. + - suppress: DefinitionsPropertiesNamesCamelCase + from: keys.json + where: $.definitions.KeyBundle.properties.release_policy + reason: Consistency with other properties. - suppress: DefinitionsPropertiesNamesCamelCase from: keys.json where: $.definitions.KeyCreateParameters.properties.key_size reason: Merely refactored existing definitions into new files. + - suppress: DefinitionsPropertiesNamesCamelCase + from: keys.json + where: $.definitions.KeyCreateParameters.properties.public_exponent + reason: Consistency with other properties. + - suppress: DefinitionsPropertiesNamesCamelCase + from: keys.json + where: $.definitions.KeyCreateParameters.properties.release_policy + reason: Consistency with other properties. - suppress: DefinitionsPropertiesNamesCamelCase from: keys.json where: $.definitions.KeyCreateParameters.properties.key_ops @@ -300,10 +313,18 @@ directive: from: keys.json where: $.definitions.KeyImportParameters.properties.Hsm reason: Merely refactored existing definitions into new files. + - suppress: DefinitionsPropertiesNamesCamelCase + from: keys.json + where: $.definitions.KeyImportParameters.properties.release_policy + reason: Consistency with other properties. - suppress: DefinitionsPropertiesNamesCamelCase from: keys.json where: $.definitions.KeyUpdateParameters.properties.key_ops reason: Merely refactored existing definitions into new files. + - suppress: DefinitionsPropertiesNamesCamelCase + from: keys.json + where: $.definitions.KeyUpdateParameters.properties.release_policy + reason: Consistency with other properties. - suppress: MISSING_REQUIRED_PARAMETER from: certificates.json where: $..parameters[?(@.name=='vaultBaseUrl')] @@ -319,4 +340,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/resource-manager/readme.go.md b/specification/keyvault/resource-manager/readme.go.md index cd3e71257c40..18186ff695aa 100644 --- a/specification/keyvault/resource-manager/readme.go.md +++ b/specification/keyvault/resource-manager/readme.go.md @@ -13,11 +13,21 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2019-09 - tag: package-2018-02 - tag: package-2016-10 - tag: package-2015-06 ``` +### Tag: package-2019-09 and go + +These settings apply only when `--tag=package-2019-09 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2019-09' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-09-01/$(namespace) +``` + ### Tag: package-2018-02 and go These settings apply only when `--tag=package-2018-02 --go` is specified on the command line. diff --git a/specification/keyvault/resource-manager/readme.md b/specification/keyvault/resource-manager/readme.md index 298f828af207..72863b21ce95 100644 --- a/specification/keyvault/resource-manager/readme.md +++ b/specification/keyvault/resource-manager/readme.md @@ -105,6 +105,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 diff --git a/specification/logic/resource-manager/readme.md b/specification/logic/resource-manager/readme.md index 995fb1b4b1bc..8fc4874a384f 100644 --- a/specification/logic/resource-manager/readme.md +++ b/specification/logic/resource-manager/readme.md @@ -128,6 +128,7 @@ swagger-to-sdk: - repo: azure-sdk-for-net - repo: azure-sdk-for-python - repo: azure-sdk-for-java + - repo: azure-sdk-for-trenton - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node @@ -272,3 +273,17 @@ uncomment the `exclude-file` section below and add the file paths. # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json ``` +## trenton + +These settings apply only when `--trenton` is specified on the command line. + +``` yaml $(trenton) +trenton: + cli-name: logic + azure_arm: true + license_header: MICROSOFT_MIT_NO_VERSION + payload_flattening_threshold: 2 + namespace: logic + package-name: logic + clear_output_folder: false +``` diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/ListSkus.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/ListSkus.json new file mode 100644 index 000000000000..38d64c4de09e --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/ListSkus.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "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-04-01-preview/examples/ListUsages.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/ListUsages.json new file mode 100644 index 000000000000..cdeefc855b53 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/ListUsages.json @@ -0,0 +1,400 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2020-03-01" + }, + "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-04-01-preview/examples/ListVMSizesResult.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/ListVMSizesResult.json new file mode 100644 index 000000000000..b028e1cd3cc8 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/ListVMSizesResult.json @@ -0,0 +1,455 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2020-03-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/preview/2020-04-01-preview/examples/ListWorkspaceFeatures.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/ListWorkspaceFeatures.json new file mode 100644 index 000000000000..580620035090 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/ListWorkspaceFeatures.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-03-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/preview/2020-04-01-preview/examples/ListWorkspaceQuotasByVMFamily.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/ListWorkspaceQuotasByVMFamily.json new file mode 100644 index 000000000000..8d352d678eb6 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/ListWorkspaceQuotasByVMFamily.json @@ -0,0 +1,415 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2020-03-01" + }, + "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-04-01-preview/examples/amlComputeListNodes.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/amlComputeListNodes.json new file mode 100644 index 000000000000..bf422bf16f77 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-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-03-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/preview/2020-04-01-preview/examples/createBasicAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/createBasicAKSCompute.json new file mode 100644 index 000000000000..3593ab691c22 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-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-03-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/preview/2020-04-01-preview/examples/createBasicAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/createBasicAmlCompute.json new file mode 100644 index 000000000000..b2dc9a2db2f4 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-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-03-01", + "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-04-01-preview/examples/createBasicDataFactoryCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/createBasicDataFactoryCompute.json new file mode 100644 index 000000000000..81c9b689aae5 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-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-03-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/preview/2020-04-01-preview/examples/createLinkedWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/createLinkedWorkspace.json new file mode 100644 index 000000000000..f7e2d3d06c9d --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-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-04-01-preview/examples/createWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/createWorkspace.json new file mode 100644 index 000000000000..6f1de6f5b9f2 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/createWorkspace.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-03-01", + "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-04-01-preview/examples/deleteCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/deleteCompute.json new file mode 100644 index 000000000000..0c62d5a99ac4 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-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-03-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/preview/2020-04-01-preview/examples/deleteLinkedWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/deleteLinkedWorkspace.json new file mode 100644 index 000000000000..e6e30e2b4bdd --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-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-04-01-preview/examples/deleteWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/deleteWorkspace.json new file mode 100644 index 000000000000..9b433ad2b4c6 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/deleteWorkspace.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-03-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/getAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/getAKSCompute.json new file mode 100644 index 000000000000..6c84edb3d88e --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-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-03-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/preview/2020-04-01-preview/examples/getAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/getAmlCompute.json new file mode 100644 index 000000000000..0070b3bed219 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-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-03-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 + } + } + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/getComputes.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/getComputes.json new file mode 100644 index 000000000000..ce37e26e1627 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/getComputes.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-03-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/preview/2020-04-01-preview/examples/getLinkedWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/getLinkedWorkspace.json new file mode 100644 index 000000000000..97803b44a0f3 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-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-04-01-preview/examples/getWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/getWorkspace.json new file mode 100644 index 000000000000..045fd3332604 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/getWorkspace.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-03-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" + } + } + ] + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/getWorkspacesByResourceGroup.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/getWorkspacesByResourceGroup.json new file mode 100644 index 000000000000..c028c686089e --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/getWorkspacesByResourceGroup.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "api-version": "2020-03-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/preview/2020-04-01-preview/examples/getWorkspacesBySubscription.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/getWorkspacesBySubscription.json new file mode 100644 index 000000000000..c12f24c3a78f --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/getWorkspacesBySubscription.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2020-03-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/preview/2020-04-01-preview/examples/listKeysAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/listKeysAKSCompute.json new file mode 100644 index 000000000000..ac102dbef366 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-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-03-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/preview/2020-04-01-preview/examples/listLinkedWorkspaces.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/listLinkedWorkspaces.json new file mode 100644 index 000000000000..66e3c333bccb --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-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-04-01-preview/examples/listWorkspaceKeys.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/listWorkspaceKeys.json new file mode 100644 index 000000000000..298a3d18e5ce --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/listWorkspaceKeys.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-03-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" + } + ] + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/patchAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/patchAmlCompute.json new file mode 100644 index 000000000000..869dcacec863 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-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-03-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/preview/2020-04-01-preview/examples/resyncWorkspaceKeys.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/resyncWorkspaceKeys.json new file mode 100644 index 000000000000..691fa053dcbe --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/resyncWorkspaceKeys.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-03-01" + }, + "responses": { + "200": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/updateAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/updateAKSCompute.json new file mode 100644 index 000000000000..a303aed3d81d --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-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-03-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/preview/2020-04-01-preview/examples/updateAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/updateAmlCompute.json new file mode 100644 index 000000000000..d6c6c9a24e36 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-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-03-01", + "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-04-01-preview/examples/updateQuota.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/updateQuota.json new file mode 100644 index 000000000000..aaca8dcb2ec3 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/updateQuota.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2020-03-01", + "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-04-01-preview/examples/updateWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/updateWorkspace.json new file mode 100644 index 000000000000..8b097ee2aeda --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/updateWorkspace.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-03-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/preview/2020-04-01-preview/examples/workspaceDeletePrivateEndpointConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/workspaceDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..5d42b9f60f62 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-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-03-01", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/workspaceGetPrivateEndpointConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/workspaceGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..f7c835a59cdb --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-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-03-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/preview/2020-04-01-preview/examples/workspaceListPrivateLinkResources.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/workspaceListPrivateLinkResources.json new file mode 100644 index 000000000000..4ea136739207 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/workspaceListPrivateLinkResources.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg-1234", + "workspaceName": "testworkspace", + "api-version": "2020-03-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/preview/2020-04-01-preview/examples/workspacePutPrivateEndpointConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/workspacePutPrivateEndpointConnection.json new file mode 100644 index 000000000000..0f56bfbef7c8 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-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-03-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/preview/2020-04-01-preview/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/machineLearningServices.json new file mode 100644 index 000000000000..0b6a2b9f8378 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/machineLearningServices.json @@ -0,0 +1,3592 @@ +{ + "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-03-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "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}/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}/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" + } + } + } + } + } + }, + "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" + } + }, + "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", + "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" + }, + "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", + "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", + "properties": { + "id": { + "type": "string", + "description": "ResourceId of the link of the linked workspace." + }, + "name": { + "type": "string", + "description": "Friendly name of the linked workspace." + }, + "type": { + "type": "string", + "description": "Resource type of linked workspace." + }, + "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" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-01/examples/createWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-01/examples/createWorkspace.json index 6f1de6f5b9f2..27dc8af675eb 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-01/examples/createWorkspace.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-01/examples/createWorkspace.json @@ -88,7 +88,15 @@ "status": "Approved" } } - ] + ], + "notebookInfo": { + "resourceId": "aabbccddee112233445566778899", + "fqdn": "testnotebook.notebooks.azure.com", + "notebookPreparationError": { + "statusCode": 500, + "errorMessage": "general error" + } + } } } }, @@ -131,7 +139,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-03-01/examples/getWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-01/examples/getWorkspace.json index 045fd3332604..3a1b341bbc29 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-01/examples/getWorkspace.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-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-03-01/examples/listWorkspaceKeys.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-01/examples/listWorkspaceKeys.json index 298a3d18e5ce..d9c8f8f08b61 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-01/examples/listWorkspaceKeys.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-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-03-01/examples/updateAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-01/examples/updateAKSCompute.json index bdd7cdb26f09..a303aed3d81d 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-01/examples/updateAKSCompute.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-01/examples/updateAKSCompute.json @@ -6,7 +6,6 @@ "computeName": "compute123", "api-version": "2020-03-01", "parameters": { - "id": "compute123", "location": "eastus", "properties": { "description": "some compute", diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-01/examples/updateAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-01/examples/updateAmlCompute.json index 33fc388db6d9..dc33cf5fcc4a 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-01/examples/updateAmlCompute.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-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-03-01/examples/workspacePrepareNotebook.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-01/examples/workspacePrepareNotebook.json new file mode 100644 index 000000000000..8193b014b8a8 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-01/examples/workspacePrepareNotebook.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-03-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-03-01/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-01/machineLearningServices.json index b5dede913fa4..d4c9ffc24905 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 @@ -300,6 +300,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 +1416,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 +1587,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." } } }, @@ -2025,6 +2117,9 @@ "containerRegistryCredentials": { "readOnly": true, "$ref": "#/definitions/RegistryListCredentialsResult" + }, + "notebookAccessKeys": { + "$ref": "#/definitions/NotebookListCredentialsResult" } } }, diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/createBasicAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/createBasicAmlCompute.json index 8b852df15fce..eb2d99ff150d 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/createBasicAmlCompute.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/createBasicAmlCompute.json @@ -21,7 +21,7 @@ } }, "identity": { - "type": "SystemAssigned, UserAssigned", + "type": "SystemAssigned,UserAssigned", "userAssignedIdentities": { "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity-name": {} } 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/getAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/getAmlCompute.json index 6560c277ae76..f147f3668488 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/getAmlCompute.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/getAmlCompute.json @@ -46,7 +46,7 @@ "identity": { "principalId": "00000000-0000-0000-0000-000000000000", "tenantId": "00000000-0000-0000-0000-000000000000", - "type": "SystemAssigned, UserAssigned", + "type": "SystemAssigned,UserAssigned", "userAssignedIdentities": { "/subscriptions/f9d7ebed-adbd-4cb4-b973-aaf82c136138/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": { "clientId": "00000000-0000-0000-0000-000000000000", 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/updateAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/updateAmlCompute.json index 382f1b97334e..1aae9348e524 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/updateAmlCompute.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/updateAmlCompute.json @@ -18,7 +18,7 @@ } }, "identity": { - "type": "SystemAssigned, UserAssigned", + "type": "SystemAssigned,UserAssigned", "userAssignedIdentities": { "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity-name": {} } 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 3e1faf470e29..2ce9a0fb59f7 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 @@ -300,6 +300,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 +1416,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 +1587,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." } } }, @@ -1946,7 +2038,7 @@ "enum": [ "SystemAssigned", "UserAssigned", - "SystemAssigned, UserAssigned", + "SystemAssigned,UserAssigned", "None" ], "x-ms-enum": { @@ -2050,6 +2142,9 @@ "containerRegistryCredentials": { "readOnly": true, "$ref": "#/definitions/RegistryListCredentialsResult" + }, + "notebookAccessKeys": { + "$ref": "#/definitions/NotebookListCredentialsResult" } } }, diff --git a/specification/machinelearningservices/resource-manager/readme.md b/specification/machinelearningservices/resource-manager/readme.md index 63cc7203fe1f..04e81a82b676 100644 --- a/specification/machinelearningservices/resource-manager/readme.md +++ b/specification/machinelearningservices/resource-manager/readme.md @@ -92,6 +92,15 @@ input-file: - Microsoft.MachineLearningServices/stable/2018-11-19/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. + +``` yaml $(tag) == 'package-2020-04-01-preview' +input-file: +- Microsoft.MachineLearningServices/preview/2020-04-01-preview/machineLearningServices.json +``` + ### Tag: package-2020-02-18-preview These settings apply only when `--tag=package-2020-02-18-preview` is specified on the command line. @@ -172,6 +181,7 @@ batch: - tag: package-2019-06-01 - tag: package-2019-05-01 - tag: package-2018-11-19 + - tag: package-2020-04-01-preview - tag: package-2020-02-18-preview - tag: package-2018-03-preview ``` @@ -266,6 +276,19 @@ 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. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-04-01-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.machinelearningservices.v2020_04_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/machinelearningservices/mgmt-v2020_04_01_preview +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2018-03-preview and java These settings apply only when `--tag=package-2018-03-preview --java` is specified on the command line. @@ -298,6 +321,7 @@ 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-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/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/DeleteRegistrationAssignment.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/DeleteRegistrationAssignment.json new file mode 100644 index 000000000000..02d3c023e459 --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/DeleteRegistrationAssignment.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea", + "registrationAssignmentId": "26c128c2-fefa-4340-9bb1-6e081c90ada2", + "api-version": "2020-02-01-preview" + }, + "responses": { + "200": {}, + "204": {}, + "202": {} + } +} diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/DeleteRegistrationDefinition.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/DeleteRegistrationDefinition.json new file mode 100644 index 000000000000..e7831c2f9b58 --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/DeleteRegistrationDefinition.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea", + "registrationDefinitionId": "26c128c2-fefa-4340-9bb1-6e081c90ada2", + "api-version": "2020-02-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} 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 new file mode 100644 index 000000000000..d85e52a4f545 --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetMarketplaceRegistrationDefinition.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea", + "marketplaceIdentifier": "publisher.product.planName.version", + "api-version": "2020-02-01-preview" + }, + "responses": { + "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" + }, + "plan": { + "name": "addesai-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" + } + } + } +} 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 new file mode 100644 index 000000000000..59623715d529 --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetMarketplaceRegistrationDefinitions.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea", + "$filter": "planIdentifier eq 'publisher.offerIdentifier.planName.version'", + "api-version": "2020-02-01-preview" + }, + "responses": { + "200": { + "body": { + "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" + }, + "plan": { + "name": "addesai-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" + } + ] + } + } + } +} diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetOperations.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetOperations.json new file mode 100644 index 000000000000..38e936efc87d --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetOperations.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-02-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.ManagedServices/registrationDefinitions/read", + "display": { + "provider": "Microsoft Managed Services", + "resource": "Managed Services Registration Definition", + "operation": "List Managed Services Registration Definitions", + "description": "Retrieves a list of Managed Services registration definitions." + } + } + ] + } + } + } +} diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationAssignment.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationAssignment.json new file mode 100644 index 000000000000..415424960bf8 --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationAssignment.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea", + "registrationAssignmentId": "26c128c2-fefa-4340-9bb1-6e081c90ada2", + "api-version": "2020-02-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "registrationDefinitionId": "/subscriptions/0afefe50-734e-4610-8c82-a144aff49dea/providers/Microsoft.ManagedServices/registrationDefinitions/26c128c2-fefa-4340-9bb1-8e081c90ada2", + "provisioningState": "Succeeded", + "registrationDefinition": { + "properties": { + "description": "Test", + "managedByTenantId": "83abe5cd-bcc3-441a-bd86-e6a75360cecc", + "registrationDefinitionName": "DefinitionName", + "authorizations": [ + { + "principalId": "f98d86a2-4cc4-4e9d-ad47-b3e80a1bcdfc", + "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7" + } + ], + "eligibleAuthorizations": [ + { + "justInTimeAccessPolicy": { + "multiFactorAuthProvider": "Azure", + "maximumActivationDuration": "PT8H" + }, + "principalId": "3e0ed8c6-e902-4fc5-863c-e3ddbb2ae2a2", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "ae349356-3a1b-4a5e-921d-050484c6347e" + } + ], + "provisioningState": "Succeeded", + "manageeTenantId": "01c0bcd5-4f47-4e4b-b492-418b7e2a8854", + "manageeTenantName": "test_test_aad_SbtFhyGiLHPFm", + "managedByTenantName": "Contoso Corp." + }, + "plan": { + "name": "addesai-plan", + "product": "test", + "publisher": "marketplace-test", + "version": "1.0.0" + }, + "id": "/subscriptions/0afefe50-734e-4610-8c82-a144aff49dea/providers/Microsoft.ManagedServices/registrationDefinitions/26c128c2-fefa-4340-9bb1-8e081c90ada2", + "type": "Microsoft.ManagedServices/registrationDefinitions", + "name": "26c128c2-fefa-4340-9bb1-8e081c90ada2" + } + }, + "id": "/subscriptions/0afefe50-734e-4610-8c82-a144aff49dea/providers/Microsoft.ManagedServices/registrationAssignments/484a7d5f-9729-4b87-bc9b-26610985a013", + "type": "Microsoft.ManagedServices/registrationAssignments", + "name": "484a7d5f-9729-4b87-bc9b-26610985a013" + } + } + } +} diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationAssignments.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationAssignments.json new file mode 100644 index 000000000000..83d264d3de1c --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationAssignments.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea", + "api-version": "2020-02-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "registrationDefinitionId": "/subscriptions/0afefe50-734e-4610-8c82-a144aff49dea/providers/Microsoft.ManagedServices/registrationDefinitions/26c128c2-fefa-4340-9bb1-8e081c90ada2", + "provisioningState": "Succeeded", + "registrationDefinition": { + "properties": { + "description": "Test", + "registrationDefinitionName": "DefinitionName", + "authorizations": [ + { + "principalId": "f98d86a2-4cc4-4e9d-ad47-b3e80a1bcdfc", + "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7" + } + ], + "eligibleAuthorizations": [ + { + "principalId": "700bddf4-2c3b-4cd1-bb02-6a2c622524f4", + "roleDefinitionId": "8e3af657-a8ff-443c-a75c-2fe8c4bcb635", + "justInTimeAccessPolicy": { + "multiFactorAuthProvider": "Azure", + "maximumActivationDuration": "PT8H" + } + } + ], + "provisioningState": "Succeeded", + "manageeTenantId": "01c0bcd5-4f47-4e4b-b492-418b7e2a8854", + "manageeTenantName": "test_test_aad_SbtFhyGiLHPFm", + "managedByTenantId": "83abe5cd-bcc3-441a-bd86-e6a75360cecc", + "managedByTenantName": "Contoso Corp." + }, + "plan": { + "name": "addesai-plan", + "product": "test", + "publisher": "marketplace-test", + "version": "1.0.0" + }, + "id": "/subscriptions/0afefe50-734e-4610-8c82-a144aff49dea/providers/Microsoft.ManagedServices/registrationDefinitions/26c128c2-fefa-4340-9bb1-8e081c90ada2", + "type": "Microsoft.ManagedServices/registrationDefinitions", + "name": "26c128c2-fefa-4340-9bb1-8e081c90ada2" + } + }, + "id": "/subscriptions/0afefe50-734e-4610-8c82-a144aff49dea/providers/Microsoft.ManagedServices/registrationAssignments/484a7d5f-9729-4b87-bc9b-26610985a013", + "type": "Microsoft.ManagedServices/registrationAssignments", + "name": "484a7d5f-9729-4b87-bc9b-26610985a013" + } + ] + } + } + } +} diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationDefinition.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationDefinition.json new file mode 100644 index 000000000000..d44d61718a6d --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationDefinition.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea", + "registrationDefinitionId": "26c128c2-fefa-4340-9bb1-6e081c90ada2", + "api-version": "2020-02-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "Test", + "registrationDefinitionName": "DefinitionName", + "managedByTenantId": "83ace5cd-bcc3-441a-hd86-e6a75360cecc", + "authorizations": [ + { + "principalId": "f98g86a2-4cc4-4e6d-ad47-b3e80a1bcdfc", + "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7" + } + ], + "eligibleAuthorizations": [ + { + "justInTimeAccessPolicy": { + "multiFactorAuthProvider": "Azure", + "maximumActivationDuration": "PT8H" + }, + "principalId": "3e0ed8c6-e902-4fc5-863c-e3ddbb2ae2a2", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "ae349356-3a1b-4a5e-921d-050484c6347e" + } + ], + "provisioningState": "Succeeded", + "managedByTenantName": "Test Tenant" + }, + "plan": { + "name": "addesai-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" + } + } + } +} diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationDefinitions.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationDefinitions.json new file mode 100644 index 000000000000..d8b63c6d0417 --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationDefinitions.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea", + "api-version": "2020-02-01-preview" + }, + "responses": { + "200": { + "body": { + "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" + } + ], + "eligibleAuthorizations": [ + { + "justInTimeAccessPolicy": { + "multiFactorAuthProvider": "Azure", + "maximumActivationDuration": "PT8H" + }, + "principalId": "3e0ed8c6-e902-4fc5-863c-e3ddbb2ae2a2", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "ae349356-3a1b-4a5e-921d-050484c6347e" + } + ], + "provisioningState": "Succeeded", + "managedByTenantName": "Test Tenant" + }, + "plan": { + "name": "addesai-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" + } + ] + } + } + } +} diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/PutRegistrationAssignment.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/PutRegistrationAssignment.json new file mode 100644 index 000000000000..3f47187f397a --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/PutRegistrationAssignment.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea", + "registrationAssignmentId": "26c128c2-fefa-4340-9bb1-6e081c90ada2", + "api-version": "2020-02-01-preview", + "requestBody": { + "properties": { + "registrationDefinitionId": "/subscriptions/0afefe50-734e-4610-8a82-a144ahf49dea/providers/Microsoft.ManagedServices/registrationDefinitions/26c128c2-fefa-4340-9bb1-6e081c90ada2" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "registrationDefinitionId": "/subscriptions/0afefe50-734e-4610-8c82-a144aff49dea/providers/Microsoft.ManagedServices/registrationDefinitions/26c128c2-fefa-4340-9bb1-8e081c90ada2", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/0afefe50-734e-4610-8c82-a144aff49dea/providers/Microsoft.ManagedServices/registrationAssignments/484a7d5f-9729-4b87-bc9b-26610985a013", + "type": "Microsoft.ManagedServices/registrationAssignments", + "name": "484a7d5f-9729-4b87-bc9b-26610985a013" + } + }, + "201": { + "body": { + "properties": { + "registrationDefinitionId": "/subscriptions/0afefe50-734e-4610-8c82-a144aff49dea/providers/Microsoft.ManagedServices/registrationDefinitions/26c128c2-fefa-4340-9bb1-8e081c90ada2", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/0afefe50-734e-4610-8c82-a144aff49dea/providers/Microsoft.ManagedServices/registrationAssignments/484a7d5f-9729-4b87-bc9b-26610985a013", + "type": "Microsoft.ManagedServices/registrationAssignments", + "name": "484a7d5f-9729-4b87-bc9b-26610985a013" + } + } + } +} diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/PutRegistrationDefinition.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/PutRegistrationDefinition.json new file mode 100644 index 000000000000..3f38948f3565 --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/PutRegistrationDefinition.json @@ -0,0 +1,113 @@ +{ + "parameters": { + "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea", + "registrationDefinitionId": "26c128c2-fefa-4340-9bb1-6e081c90ada2", + "api-version": "2020-02-01-preview", + "requestBody": { + "properties": { + "registrationDefinitionName": "DefinitionName", + "description": "Tes1t", + "managedByTenantId": "83abe5cd-bcc3-441a-bd86-e6a75360cecc", + "authorizations": [ + { + "principalId": "f98d86a2-4cc4-4e9d-ad47-b3e80a1bcdfc", + "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7" + } + ], + "eligibleAuthorizations": [ + { + "principalId": "3e0ed8c6-e902-4fc5-863c-e3ddbb2ae2a2", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "ae349356-3a1b-4a5e-921d-050484c6347e", + "justInTimeAccessPolicy": { + "multiFactorAuthProvider": "Azure", + "maximumActivationDuration": "PT8H" + } + } + ] + }, + "plan": { + "name": "addesai-plan", + "product": "test", + "publisher": "marketplace-test", + "version": "1.0.0" + } + } + }, + "responses": { + "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" + } + ], + "eligibleAuthorizations": [ + { + "justInTimeAccessPolicy": { + "multiFactorAuthProvider": "Azure", + "maximumActivationDuration": "PT8H" + }, + "principalId": "3e0ed8c6-e902-4fc5-863c-e3ddbb2ae2a2", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "ae349356-3a1b-4a5e-921d-050484c6347e" + } + ], + "provisioningState": "Succeeded", + "managedByTenantName": "Test Tenant" + }, + "plan": { + "name": "addesai-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" + } + }, + "201": { + "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" + } + ], + "eligibleAuthorizations": [ + { + "justInTimeAccessPolicy": { + "multiFactorAuthProvider": "Azure", + "maximumActivationDuration": "PT8H" + }, + "principalId": "3e0ed8c6-e902-4fc5-863c-e3ddbb2ae2a2", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "ae349356-3a1b-4a5e-921d-050484c6347e" + } + ], + "provisioningState": "Succeeded", + "managedByTenantName": "Test Tenant" + }, + "plan": { + "name": "addesai-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" + } + } + } +} 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 new file mode 100644 index 000000000000..b3a19710450b --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/managedservices.json @@ -0,0 +1,1038 @@ +{ + "swagger": "2.0", + "info": { + "title": "ManagedServicesClient", + "version": "2020-02-01-preview", + "description": "Specification for ManagedServices." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "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.ManagedServices/registrationDefinitions/{registrationDefinitionId}": { + "get": { + "tags": [ + "RegistrationDefinitions" + ], + "operationId": "RegistrationDefinitions_Get", + "description": "Gets the registration definition details.", + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/RegistrationDefinitionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the complete registration definition with plan details.", + "schema": { + "$ref": "#/definitions/RegistrationDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Registration Definition": { + "$ref": "./examples/GetRegistrationDefinition.json" + } + } + }, + "delete": { + "tags": [ + "RegistrationDefinitions" + ], + "operationId": "RegistrationDefinitions_Delete", + "description": "Deletes the registration definition.", + "parameters": [ + { + "$ref": "#/parameters/RegistrationDefinitionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ScopeParameter" + } + ], + "responses": { + "200": { + "description": "OK - The registration definition is deleted." + }, + "204": { + "description": "No Content- The registration definition does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Registration Definition": { + "$ref": "./examples/DeleteRegistrationDefinition.json" + } + } + }, + "put": { + "tags": [ + "RegistrationDefinitions" + ], + "operationId": "RegistrationDefinitions_CreateOrUpdate", + "x-ms-long-running-operation": true, + "description": "Creates or updates a registration definition.", + "parameters": [ + { + "$ref": "#/parameters/RegistrationDefinitionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "name": "requestBody", + "in": "body", + "required": true, + "description": "The parameters required to create new registration definition.", + "schema": { + "$ref": "#/definitions/RegistrationDefinition" + } + } + ], + "responses": { + "200": { + "description": "Ok - Returns information about the updated registration definition.", + "schema": { + "$ref": "#/definitions/RegistrationDefinition" + } + }, + "201": { + "description": "Created - Returns information about the created registration definition.", + "schema": { + "$ref": "#/definitions/RegistrationDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Put Registration Definition": { + "$ref": "./examples/PutRegistrationDefinition.json" + } + } + } + }, + "/{scope}/providers/Microsoft.ManagedServices/registrationAssignments/{registrationAssignmentId}": { + "get": { + "tags": [ + "RegistrationAssignments" + ], + "operationId": "RegistrationAssignments_Get", + "description": "Gets the details of specified registration assignment.", + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/RegistrationAssignmentIdParameter" + }, + { + "$ref": "#/parameters/ExpandRegistrationDefinition" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the registration assignment.", + "schema": { + "$ref": "#/definitions/RegistrationAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Registration Assignment": { + "$ref": "./examples/GetRegistrationAssignment.json" + } + } + }, + "delete": { + "tags": [ + "RegistrationAssignments" + ], + "operationId": "RegistrationAssignments_Delete", + "x-ms-long-running-operation": true, + "description": "Deletes the specified registration assignment.", + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/RegistrationAssignmentIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - The registration assignment is deleted." + }, + "202": { + "description": "Accepted - The registration assignment deletion operation is accepted." + }, + "204": { + "description": "No Content- The registration assignment does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Registration Assignment": { + "$ref": "./examples/DeleteRegistrationAssignment.json" + } + } + }, + "put": { + "tags": [ + "RegistrationAssignments" + ], + "operationId": "RegistrationAssignments_CreateOrUpdate", + "x-ms-long-running-operation": true, + "description": "Creates or updates a registration assignment.", + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/RegistrationAssignmentIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "requestBody", + "in": "body", + "required": true, + "description": "The parameters required to create new registration assignment.", + "schema": { + "$ref": "#/definitions/RegistrationAssignment" + } + } + ], + "responses": { + "200": { + "description": "Ok - Returns information about the updated registration assignment.", + "schema": { + "$ref": "#/definitions/RegistrationAssignment" + } + }, + "201": { + "description": "Created - Returns information about the created registration assignment.", + "schema": { + "$ref": "#/definitions/RegistrationAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Put Registration Assignment": { + "$ref": "./examples/PutRegistrationAssignment.json" + } + } + } + }, + "/{scope}/providers/Microsoft.ManagedServices/registrationDefinitions": { + "get": { + "tags": [ + "RegistrationDefinitions" + ], + "operationId": "RegistrationDefinitions_List", + "description": "Gets a list of the registration definitions.", + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns a list of the registration definitions.", + "schema": { + "$ref": "#/definitions/RegistrationDefinitionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Registration Definitions": { + "$ref": "./examples/GetRegistrationDefinitions.json" + } + } + } + }, + "/{scope}/providers/Microsoft.ManagedServices/registrationAssignments": { + "get": { + "tags": [ + "RegistrationAssignments" + ], + "operationId": "RegistrationAssignments_List", + "description": "Gets a list of the registration assignments.", + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/ExpandRegistrationDefinition" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns a list of the registration assignments.", + "schema": { + "$ref": "#/definitions/RegistrationAssignmentList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Registration Assignments": { + "$ref": "./examples/GetRegistrationAssignments.json" + } + } + } + }, + "/{scope}/providers/Microsoft.ManagedServices/marketplaceRegistrationDefinitions": { + "get": { + "tags": [ + "MarketplaceRegistrationDefinitions" + ], + "operationId": "MarketplaceRegistrationDefinitions_List", + "description": "Gets a list of the marketplace registration definitions for the marketplace identifier.", + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/Filter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns a list of the marketplace registration definitions.", + "schema": { + "$ref": "#/definitions/MarketplaceRegistrationDefinitionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Registration Definitions": { + "$ref": "./examples/GetMarketplaceRegistrationDefinitions.json" + } + } + } + }, + "/{scope}/providers/Microsoft.ManagedServices/marketplaceRegistrationDefinitions/{marketplaceIdentifier}": { + "get": { + "tags": [ + "MarketplaceRegistrationDefinitions" + ], + "operationId": "MarketplaceRegistrationDefinitions_Get", + "description": "Get the marketplace registration definition for the marketplace identifier.", + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/MarketplaceIdentifier" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the details of the marketplace registration definition.", + "schema": { + "$ref": "#/definitions/RegistrationDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Registration Definitions": { + "$ref": "./examples/GetMarketplaceRegistrationDefinition.json" + } + } + } + }, + "/providers/Microsoft.ManagedServices/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Gets a list of the operations.", + "parameters": [ + { + "$ref": "#/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": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Registration Operations": { + "$ref": "./examples/GetOperations.json" + } + } + } + } + }, + "definitions": { + "RegistrationDefinition": { + "properties": { + "properties": { + "description": "Properties of a registration definition.", + "$ref": "#/definitions/RegistrationDefinitionProperties" + }, + "plan": { + "description": "Plan details for the managed services.", + "$ref": "#/definitions/Plan" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "Fully qualified path of the registration definition." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the registration definition." + } + }, + "x-ms-azure-resource": true, + "type": "object", + "description": "Registration definition." + }, + "RegistrationDefinitionProperties": { + "properties": { + "description": { + "type": "string", + "description": "Description of the registration definition." + }, + "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" + }, + "registrationDefinitionName": { + "type": "string", + "description": "Name of the registration definition." + }, + "managedByTenantId": { + "type": "string", + "description": "Id of the managedBy tenant." + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Current state of the registration definition.", + "enum": [ + "NotSpecified", + "Accepted", + "Running", + "Ready", + "Creating", + "Created", + "Deleting", + "Deleted", + "Canceled", + "Failed", + "Succeeded", + "Updating" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "managedByTenantName": { + "readOnly": true, + "type": "string", + "description": "Name of the managedBy tenant." + } + }, + "required": [ + "managedByTenantId", + "authorizations" + ], + "type": "object", + "description": "Properties of a registration definition." + }, + "RegistrationDefinitionList": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/RegistrationDefinition" + }, + "description": "List of registration definitions." + }, + "nextLink": { + "description": "Link to next page of registration definitions.", + "type": "string", + "readOnly": true + } + }, + "description": "List of registration definitions." + }, + "RegistrationAssignment": { + "properties": { + "properties": { + "description": "Properties of a registration assignment.", + "$ref": "#/definitions/RegistrationAssignmentProperties" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The fully qualified path of the registration assignment." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the registration assignment." + } + }, + "x-ms-azure-resource": true, + "type": "object", + "description": "Registration assignment." + }, + "RegistrationAssignmentProperties": { + "properties": { + "registrationDefinitionId": { + "type": "string", + "description": "Fully qualified path of the registration definition." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Current state of the registration assignment.", + "enum": [ + "NotSpecified", + "Accepted", + "Running", + "Ready", + "Creating", + "Created", + "Deleting", + "Deleted", + "Canceled", + "Failed", + "Succeeded", + "Updating" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "registrationDefinition": { + "readOnly": true, + "properties": { + "properties": { + "properties": { + "description": { + "type": "string", + "description": "Description of the registration definition." + }, + "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" + }, + "registrationDefinitionName": { + "type": "string", + "description": "Name of the registration definition." + }, + "provisioningState": { + "type": "string", + "description": "Current state of the registration definition.", + "enum": [ + "NotSpecified", + "Accepted", + "Running", + "Ready", + "Creating", + "Created", + "Deleting", + "Deleted", + "Canceled", + "Failed", + "Succeeded", + "Updating" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "manageeTenantId": { + "type": "string", + "description": "Id of the home tenant." + }, + "manageeTenantName": { + "type": "string", + "description": "Name of the home tenant." + }, + "managedByTenantId": { + "type": "string", + "description": "Id of the managedBy tenant." + }, + "managedByTenantName": { + "type": "string", + "description": "Name of the managedBy tenant." + } + }, + "description": "Properties of registration definition inside registration assignment." + }, + "plan": { + "description": "Plan details for the managed services.", + "$ref": "#/definitions/Plan" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "Fully qualified path of the registration definition." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource (Microsoft.ManagedServices/registrationDefinitions)." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the registration definition." + } + }, + "type": "object", + "description": "Registration definition inside registration assignment." + } + }, + "required": [ + "registrationDefinitionId" + ], + "type": "object", + "description": "Properties of a registration assignment." + }, + "RegistrationAssignmentList": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RegistrationAssignment" + }, + "description": "List of registration assignments." + }, + "nextLink": { + "description": "Link to next page of registration assignments.", + "type": "string", + "readOnly": true + } + }, + "description": "List of registration assignments." + }, + "MarketplaceRegistrationDefinitionList": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/RegistrationDefinition" + }, + "description": "List of marketplace registration definitions." + }, + "nextLink": { + "description": "Link to next page of marketplace registration definitions.", + "type": "string", + "readOnly": true + } + }, + "description": "List of marketplace registration definitions." + }, + "Plan": { + "properties": { + "name": { + "type": "string", + "description": "The plan name." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + }, + "product": { + "type": "string", + "description": "The product code." + }, + "version": { + "type": "string", + "description": "The plan's version." + } + }, + "required": [ + "name", + "publisher", + "product", + "version" + ], + "type": "object", + "description": "Plan details for the managed services." + }, + "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.ManagedServices" + }, + "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.ManagedServices operation." + }, + "OperationList": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of Microsoft.ManagedServices operations." + } + }, + "type": "object", + "description": "List of the operations." + }, + "Authorization": { + "properties": { + "principalId": { + "type": "string", + "description": "Principal Id of the security group/service principal/user that would be assigned permissions to the projected subscription" + }, + "principalIdDisplayName": { + "type": "string", + "description": "Display name of the principal Id." + }, + "roleDefinitionId": { + "type": "string", + "description": "The role definition identifier. This role will define all the permissions that the security group/service principal/user must have on the projected subscription. This role cannot be an owner role." + }, + "delegatedRoleDefinitionIds": { + "type": "array", + "description": "The delegatedRoleDefinitionIds field is required when the roleDefinitionId refers to the User Access Administrator Role. It is the list of role definition ids which define all the permissions that the user in the authorization can assign to other security groups/service principals/users.", + "items": { + "format": "uuid", + "type": "string" + } + } + }, + "required": [ + "principalId", + "roleDefinitionId" + ], + "type": "object", + "description": "Authorization tuple containing principal Id (of user/service principal/security group) and role definition id." + }, + "EligibleAuthorization": { + "properties": { + "principalId": { + "type": "string", + "description": "Principal Id of the security group/service principal/user that would be delegated permissions to the projected subscription" + }, + "principalIdDisplayName": { + "type": "string", + "description": "Display name of the principal Id." + }, + "roleDefinitionId": { + "type": "string", + "description": "The role definition identifier. This role will delegate all the permissions that the security group/service principal/user must have on the projected subscription. This role cannot be an owner role." + }, + "justInTimeAccessPolicy": { + "description": "Just-in-time access policy setting.", + "$ref": "#/definitions/JustInTimeAccessPolicy" + } + }, + "required": [ + "principalId", + "roleDefinitionId" + ], + "type": "object", + "description": "Eligible authorization tuple containing principle Id (of user/service principal/security group), role definition id, and the just-in-time access setting." + }, + "JustInTimeAccessPolicy": { + "properties": { + "multiFactorAuthProvider": { + "type": "string", + "description": "MFA provider.", + "enum": [ + "Azure", + "None" + ], + "x-ms-enum": { + "name": "MultiFactorAuthProvider", + "modelAsString": true + } + }, + "maximumActivationDuration": { + "type": "string", + "format": "duration", + "description": "Maximum access duration in ISO 8601 format. The default value is \"PT8H\"." + } + }, + "required": [ + "multiFactorAuthProvider" + ], + "type": "object", + "description": "Just-in-time access policy setting." + }, + "ErrorResponse": { + "properties": { + "error": { + "readOnly": true, + "properties": { + "code": { + "type": "string", + "description": "Error code." + }, + "message": { + "type": "string", + "description": "Error message indicating why the operation failed." + } + }, + "required": [ + "code", + "message" + ], + "type": "object", + "description": "Error response indicates Azure Resource Manager is not able to process the incoming request. The reason is provided in the error message." + } + }, + "description": "Error response." + } + }, + "parameters": { + "ScopeParameter": { + "name": "scope", + "in": "path", + "required": true, + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "description": "Scope of the resource." + }, + "MarketplaceIdentifier": { + "name": "marketplaceIdentifier", + "in": "path", + "required": true, + "x-ms-parameter-location": "method", + "type": "string", + "description": "Market place identifer. Expected Formats - {publisher}.{product[-preview]}.{planName}.{version} or {publisher}.{product[-preview]}.{planName} or {publisher}.{product[-preview]} or {publisher})." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for this operation." + }, + "RegistrationAssignmentIdParameter": { + "name": "registrationAssignmentId", + "in": "path", + "required": true, + "x-ms-parameter-location": "method", + "type": "string", + "description": "Guid of the registration assignment." + }, + "RegistrationDefinitionIdParameter": { + "name": "registrationDefinitionId", + "in": "path", + "required": true, + "x-ms-parameter-location": "method", + "type": "string", + "description": "Guid of the registration definition." + }, + "ExpandRegistrationDefinition": { + "name": "$expandRegistrationDefinition", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "description": "Tells whether to return registration definition details also along with registration assignment details." + }, + "Filter": { + "name": "$filter", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "description": "The filter query parameter. Might be used to filter marketplace registration definition by plan identifier, publisher, version etc." + } + } +} diff --git a/specification/managedservices/resource-manager/readme.md b/specification/managedservices/resource-manager/readme.md index c2f452c2dade..5273c2568abc 100644 --- a/specification/managedservices/resource-manager/readme.md +++ b/specification/managedservices/resource-manager/readme.md @@ -26,18 +26,27 @@ These are the global settings for the ManagedServices API. ``` yaml openapi-type: arm -tag: package-2019-09 +tag: package-2020-02-preview ``` +### Tag: package-2020-02-preview + +These settings apply only when `--tag=package-2020-02-preview` is specified on the command line. + +```yaml $(tag) == 'package-2020-02-preview' +input-file: + - Microsoft.ManagedServices/preview/2020-02-01-preview/managedservices.json +``` ### Tag: package-2019-09 These settings apply only when `--tag=package-2019-09` is specified on the command line. -```yaml $(tag) == 'package-2019-09' +``` yaml $(tag) == 'package-2019-09' input-file: - Microsoft.ManagedServices/stable/2019-09-01/managedservices.json ``` + ### Tag: package-2019-06 These settings apply only when `--tag=package-2019-06` is specified on the command line. @@ -117,6 +126,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.ManagedServices/preview/2020-02-01-preview/managedservices.json - $(this-folder)/Microsoft.ManagedServices/stable/2019-09-01/managedservices.json - $(this-folder)/Microsoft.ManagedServices/stable/2019-06-01/managedservices.json - $(this-folder)/Microsoft.ManagedServices/preview/2019-04-01-preview/managedservices.json diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2018-07-01/Accounts.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2018-07-01/Accounts.json index 6400418515d4..73832b50b692 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2018-07-01/Accounts.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2018-07-01/Accounts.json @@ -334,6 +334,61 @@ }, "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" + }, "SubscriptionMediaService": { "description": "A Media Services account.", "allOf": [ @@ -767,6 +822,59 @@ } } }, + "/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": "#/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}/providers/Microsoft.Media/locations/{locationName}/checkNameAvailability": { "post": { "summary": "Check Name Availability", diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2018-07-01/examples/accounts-list-media-edge-policies.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2018-07-01/examples/accounts-list-media-edge-policies.json new file mode 100644 index 000000000000..f4635b5811db --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2018-07-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": "2018-07-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/migrate/resource-manager/Microsoft.OffAzure/stable/2020-01-01/examples/Operations_List.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-01-01/examples/Operations_List.json new file mode 100644 index 000000000000..19218677c5d7 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-01-01/examples/Operations_List.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2020-01-01" + }, + "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-01-01/migrate.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-01-01/migrate.json index 64709a3876c5..6811e6ce707d 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 @@ -1,8 +1,13 @@ { "swagger": "2.0", "info": { - "version": "v1", - "title": "Microsoft.Azure.FDS.WebRole" + "version": "2020-01-01", + "title": "Azure Migrate V2", + "description": "Discover your workloads for Azure.", + "contact": { + "name": "Microsoft", + "email": "azuremigrate@microsoft.com" + } }, "host": "localhost", "schemes": [ @@ -2584,6 +2589,41 @@ }, "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": { @@ -4905,6 +4945,72 @@ "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/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/Get.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/Get.json index 1d3600b3776b..c18ffeb4fd5f 100644 --- a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/Get.json +++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/Get.json @@ -13,6 +13,9 @@ "accountDomain": "mixedreality.azure.com" }, "tags": {}, + "identity": { + "type": "SystemAssigned" + }, "location": "eastus2euap", "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.MixedReality/remoteRenderingAccounts/MyAccount", "name": "MyAccount", diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/GetByResourceGroup.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/GetByResourceGroup.json index 54e3bc2fcd2f..2ea846f35b47 100644 --- a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/GetByResourceGroup.json +++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/GetByResourceGroup.json @@ -14,6 +14,9 @@ "accountDomain": "mixedreality.azure.com" }, "tags": {}, + "identity": { + "type": "SystemAssigned" + }, "location": "eastus2euap", "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.MixedReality/remoteRenderingAccounts/alpha", "name": "alpha", @@ -25,6 +28,9 @@ "accountDomain": "mixedreality.azure.com" }, "tags": {}, + "identity": { + "type": "SystemAssigned" + }, "location": "eastus2euap", "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.MixedReality/remoteRenderingAccounts/omega", "name": "omega", diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/GetBySubscription.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/GetBySubscription.json index 8b5ae83f59ef..421cb759c41f 100644 --- a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/GetBySubscription.json +++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/GetBySubscription.json @@ -13,6 +13,9 @@ "accountDomain": "mixedreality.azure.com" }, "tags": {}, + "identity": { + "type": "SystemAssigned" + }, "location": "eastus2euap", "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.MixedReality/remoteRenderingAccounts/alpha", "name": "alpha", @@ -24,6 +27,9 @@ "accountDomain": "mixedreality.azure.com" }, "tags": {}, + "identity": { + "type": "SystemAssigned" + }, "location": "eastus2euap", "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.MixedReality/remoteRenderingAccounts/omega", "name": "omega", diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/Patch.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/Patch.json index 1d785cefa9b6..43d46c058028 100644 --- a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/Patch.json +++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/Patch.json @@ -5,6 +5,9 @@ "accountName": "MyAccount", "api-version": "2020-04-06-preview", "remoteRenderingAccount": { + "identity": { + "type": "SystemAssigned" + }, "location": "eastus2euap", "tags": { "heroine": "juliet", @@ -23,6 +26,9 @@ "heroine": "juliet", "hero": "romeo" }, + "identity": { + "type": "SystemAssigned" + }, "location": "eastus2euap", "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.MixedReality/remoteRenderingAccounts/MyAccount", "name": "MyAccount", diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/Put.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/Put.json index a45bba86e6cf..1510036ebcc0 100644 --- a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/Put.json +++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/Put.json @@ -5,6 +5,9 @@ "accountName": "MyAccount", "api-version": "2020-04-06-preview", "remoteRenderingAccount": { + "identity": { + "type": "SystemAssigned" + }, "location": "eastus2euap" } }, @@ -16,6 +19,9 @@ "accountDomain": "mixedreality.azure.com" }, "tags": {}, + "identity": { + "type": "SystemAssigned" + }, "location": "eastus2euap", "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.MixedReality/remoteRenderingAccounts/MyAccount", "name": "MyAccount", @@ -29,6 +35,9 @@ "accountDomain": "mixedreality.azure.com" }, "tags": {}, + "identity": { + "type": "SystemAssigned" + }, "location": "eastus2euap", "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.MixedReality/remoteRenderingAccounts/MyAccount", "name": "MyAccount", diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/remote-rendering.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/remote-rendering.json index aea8901583cf..06252e3239b5 100644 --- a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/remote-rendering.json +++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/remote-rendering.json @@ -388,6 +388,13 @@ "description": "RemoteRenderingAccount Response.", "type": "object", "properties": { + "identity": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Identity" + } + ] + }, "properties": { "x-ms-client-flatten": true, "description": "Property bag.", diff --git a/specification/mixedreality/resource-manager/readme.go.md b/specification/mixedreality/resource-manager/readme.go.md index 0bbc755d27b0..98daa667ecfb 100644 --- a/specification/mixedreality/resource-manager/readme.go.md +++ b/specification/mixedreality/resource-manager/readme.go.md @@ -13,9 +13,19 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-05 - tag: package-2019-02-preview ``` +### 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/preview/$(namespace)/mgmt/2020-05-01-preview/$(namespace) +``` + ### Tag: package-2019-02-preview and go These settings apply only when `--tag=package-2019-02-preview --go` is specified on the command line. diff --git a/specification/mixedreality/resource-manager/readme.java.md b/specification/mixedreality/resource-manager/readme.java.md new file mode 100644 index 000000000000..fd0ea54e7f58 --- /dev/null +++ b/specification/mixedreality/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.mixedreality +license-header: MICROSOFT_MIT_NO_CODEGEN +payload-flattening-threshold: 1 +output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-mixedreality +``` + +### Java multi-api + +``` yaml $(java) && $(multiapi) +batch: + - tag: package-2020-05 +``` + +### 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.mixedreality.v2020_05_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/mixedreality/mgmt-v2020_05_01 +regenerate-manager: true +generate-interface: true +``` diff --git a/specification/mixedreality/resource-manager/readme.md b/specification/mixedreality/resource-manager/readme.md index 1ec26ef0bb53..ccd310b211e6 100644 --- a/specification/mixedreality/resource-manager/readme.md +++ b/specification/mixedreality/resource-manager/readme.md @@ -92,6 +92,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python - repo: azure-sdk-for-js - repo: azure-sdk-for-go + - repo: azure-sdk-for-java ``` ## C# @@ -141,6 +142,10 @@ python: See configuration in [readme.go.md](./readme.go.md) +## Java + +See configuration in [readme.java.md](./readme.java.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/readme.md b/specification/monitor/resource-manager/readme.md index 044ae1e3b1ec..aa10b3d13604 100644 --- a/specification/monitor/resource-manager/readme.md +++ b/specification/monitor/resource-manager/readme.md @@ -446,6 +446,7 @@ input-file: - Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettings_API.json - Microsoft.Insights/preview/2017-05-01-preview/metricDefinitions_API.json - Microsoft.Insights/preview/2017-05-01-preview/metrics_API.json +- Microsoft.Insights/preview/2017-05-01-preview/subscriptionDiagnosticsSettings_API.json ``` @@ -532,6 +533,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python after_scripts: - python ./scripts/multiapi_init_gen.py azure-mgmt-monitor + - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go - repo: azure-sdk-for-js diff --git a/specification/monitor/resource-manager/readme.python.md b/specification/monitor/resource-manager/readme.python.md index b2c18e532fda..6d84860e3278 100644 --- a/specification/monitor/resource-manager/readme.python.md +++ b/specification/monitor/resource-manager/readme.python.md @@ -74,6 +74,12 @@ batch: - multiapiscript: true ``` +``` yaml $(multiapiscript) +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/ +clear-output-folder: false +perform-load: false +``` + ### 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/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 7f9bebd28eab..355fccb1b110 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 @@ -1524,14 +1524,24 @@ }, "InfrastructureEncryption": { "type": "string", - "description": "Status showing whether the server enabled infrastructure encryption.", + "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": "InfrastructureEncryption", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "Default value for single layer of encryption for data at rest." + }, + { + "value": "Disabled", + "description": "Additional (2nd) layer of encryption for data at rest" + } + ] } }, "PublicNetworkAccess": { 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 1fc7d526fa52..01905101e2e3 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 @@ -549,9 +549,6 @@ "x-ms-examples": { "Update load balancer backend pool with backend addresses containing virtual network and IP address.": { "$ref": "./examples/LBBackendAddressPoolWithBackendAddressesPut.json" - }, - "Update load balancer backend pool with backend addresses containing virtual network and IP address defined in network interfaces.": { - "$ref": "./examples/LBBackendAddressPoolWithBackendAddressesPutWithNICIPConfiguration.json" } }, "x-ms-long-running-operation": true, @@ -1495,7 +1492,7 @@ "LoadBalancerBackendAddressPropertiesFormat": { "properties": { "virtualNetwork": { - "$ref": "./virtualNetwork.json#/definitions/VirtualNetwork", + "$ref": "./network.json#/definitions/SubResource", "description": "Reference to an existing virtual network." }, "ipAddress": { @@ -1504,7 +1501,8 @@ "x-ms-azure-resource": false }, "networkInterfaceIPConfiguration": { - "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration", + "readOnly": true, + "$ref": "./network.json#/definitions/SubResource", "description": "Reference to IP address defined in network interfaces." } }, 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/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/applicationGateway.json new file mode 100644 index 000000000000..0294f1d0ead6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/applicationGateway.json @@ -0,0 +1,3402 @@ +{ + "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-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.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." + }, + "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." + }, + "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." + }, + "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." + }, + "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)." + }, + "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)." + }, + "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-05-01/applicationSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/applicationSecurityGroup.json new file mode 100644 index 000000000000..87dc42b4e92a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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.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-05-01/availableDelegations.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/availableDelegations.json new file mode 100644 index 000000000000..85b58a28536e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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}/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-05-01/availableServiceAliases.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/availableServiceAliases.json new file mode 100644 index 000000000000..3e61635a9541 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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}/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-05-01/azureFirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/azureFirewall.json new file mode 100644 index 000000000000..c9ca5b08e37c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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.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 number of Public IP addresses associated with azure firewall.", + "items": { + "$ref": "#/definitions/AzureFirewallPublicIPAddress" + } + }, + "count": { + "type": "integer", + "format": "int32", + "description": "Private IP Address 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-05-01/azureFirewallFqdnTag.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/azureFirewallFqdnTag.json new file mode 100644 index 000000000000..9c0c0d2db671 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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}/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-05-01/bastionHost.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/bastionHost.json new file mode 100644 index 000000000000..87fc9f0ecc65 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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.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-05-01/checkDnsAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/checkDnsAvailability.json new file mode 100644 index 000000000000..0c0b4a7113cc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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}/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-05-01/ddosCustomPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/ddosCustomPolicy.json new file mode 100644 index 000000000000..29514b35370c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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.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-05-01/ddosProtectionPlan.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/ddosProtectionPlan.json new file mode 100644 index 000000000000..e789716acb4b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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.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-05-01/endpointService.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/endpointService.json new file mode 100644 index 000000000000..5165886a880f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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}/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-05-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json new file mode 100644 index 000000000000..32fb57e48a9a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4" + }, + "responses": { + "200": { + "body": [ + "Accept-Charset" + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json new file mode 100644 index 000000000000..a385b26bc967 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ApplicationGatewayAvailableServerVariablesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayAvailableServerVariablesGet.json new file mode 100644 index 000000000000..09f100379cc2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayAvailableServerVariablesGet.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4" + }, + "responses": { + "200": { + "body": [ + "request_query" + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayAvailableSslOptionsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayAvailableSslOptionsGet.json new file mode 100644 index 000000000000..e66d9214d17e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayAvailableSslOptionsGet.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json new file mode 100644 index 000000000000..7d71ebbd36d9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json new file mode 100644 index 000000000000..05c421d3fccf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json new file mode 100644 index 000000000000..e2211bb4100d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ApplicationGatewayBackendHealthGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayBackendHealthGet.json new file mode 100644 index 000000000000..6002e7ace8fa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayBackendHealthGet.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ApplicationGatewayBackendHealthTest.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayBackendHealthTest.json new file mode 100644 index 000000000000..cdf304399485 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayBackendHealthTest.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ApplicationGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayCreate.json new file mode 100644 index 000000000000..ae3e81d68173 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayCreate.json @@ -0,0 +1,771 @@ +{ + "parameters": { + "api-version": "2020-05-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" + } + } + ], + "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 + } + } + ], + "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 + } + }, + { + "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": "*****" + } + } + ], + "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 + } + } + ], + "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" + }, + "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": "*****" + } + } + ], + "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 + } + } + ], + "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" + }, + "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-05-01/examples/ApplicationGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayDelete.json new file mode 100644 index 000000000000..7fd928b77d5b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw" + }, + "responses": { + "202": {}, + "204": {}, + "200": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayGet.json new file mode 100644 index 000000000000..ab63f6d37d85 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayGet.json @@ -0,0 +1,294 @@ +{ + "parameters": { + "api-version": "2020-05-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": "*****" + } + } + ], + "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 + } + } + ], + "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" + }, + "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-05-01/examples/ApplicationGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayList.json new file mode 100644 index 000000000000..5fd6c52da529 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayList.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ApplicationGatewayListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayListAll.json new file mode 100644 index 000000000000..8164ed6b71e4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayListAll.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ApplicationGatewayPrivateEndpointConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayPrivateEndpointConnectionDelete.json new file mode 100644 index 000000000000..d4a1fde0f818 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayPrivateEndpointConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw", + "connectionName": "connection1" + }, + "responses": { + "202": {}, + "204": {}, + "200": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayPrivateEndpointConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayPrivateEndpointConnectionGet.json new file mode 100644 index 000000000000..8050a44736a8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayPrivateEndpointConnectionGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ApplicationGatewayPrivateEndpointConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayPrivateEndpointConnectionList.json new file mode 100644 index 000000000000..8d8a67e89a94 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayPrivateEndpointConnectionList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ApplicationGatewayPrivateEndpointConnectionUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayPrivateEndpointConnectionUpdate.json new file mode 100644 index 000000000000..14af12cd9540 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayPrivateEndpointConnectionUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ApplicationGatewayPrivateLinkResourceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayPrivateLinkResourceList.json new file mode 100644 index 000000000000..1dc3afec7b9a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayPrivateLinkResourceList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ApplicationGatewayStart.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayStart.json new file mode 100644 index 000000000000..459cfbca2283 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayStart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayStop.json new file mode 100644 index 000000000000..459cfbca2283 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayStop.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayUpdateTags.json new file mode 100644 index 000000000000..813ce7051bca --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationGatewayUpdateTags.json @@ -0,0 +1,148 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ApplicationSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationSecurityGroupCreate.json new file mode 100644 index 000000000000..c85ab5617ab9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationSecurityGroupCreate.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ApplicationSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationSecurityGroupDelete.json new file mode 100644 index 000000000000..f789808ee057 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationSecurityGroupDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationSecurityGroupName": "test-asg" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationSecurityGroupGet.json new file mode 100644 index 000000000000..7216a0ef880f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationSecurityGroupGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ApplicationSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationSecurityGroupList.json new file mode 100644 index 000000000000..55162ce81127 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationSecurityGroupList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ApplicationSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationSecurityGroupListAll.json new file mode 100644 index 000000000000..3d370a770056 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationSecurityGroupListAll.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ApplicationSecurityGroupUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationSecurityGroupUpdateTags.json new file mode 100644 index 000000000000..605de299a759 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ApplicationSecurityGroupUpdateTags.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/AutoApprovedPrivateLinkServicesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AutoApprovedPrivateLinkServicesGet.json new file mode 100644 index 000000000000..3b46079a0e9a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AutoApprovedPrivateLinkServicesGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json new file mode 100644 index 000000000000..e6bab235a153 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/AvailableDelegationsResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AvailableDelegationsResourceGroupGet.json new file mode 100644 index 000000000000..20a6026b42a9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AvailableDelegationsResourceGroupGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/AvailableDelegationsSubscriptionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AvailableDelegationsSubscriptionGet.json new file mode 100644 index 000000000000..9454f2aafaf7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AvailableDelegationsSubscriptionGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/AvailablePrivateEndpointTypesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AvailablePrivateEndpointTypesGet.json new file mode 100644 index 000000000000..4d0387658986 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AvailablePrivateEndpointTypesGet.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json new file mode 100644 index 000000000000..d30df0e455d4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/AvailableServiceAliasesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AvailableServiceAliasesList.json new file mode 100644 index 000000000000..9f79af94cfd6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AvailableServiceAliasesList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/AvailableServiceAliasesListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AvailableServiceAliasesListByResourceGroup.json new file mode 100644 index 000000000000..274ca173ca39 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AvailableServiceAliasesListByResourceGroup.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/AzureFirewallDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallDelete.json new file mode 100644 index 000000000000..f49a332cb79c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallFqdnTagsListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallFqdnTagsListBySubscription.json new file mode 100644 index 000000000000..a38fd17f89c4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallFqdnTagsListBySubscription.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/AzureFirewallGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallGet.json new file mode 100644 index 000000000000..6769e23be355 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallGet.json @@ -0,0 +1,177 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/AzureFirewallGetWithAdditionalProperties.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallGetWithAdditionalProperties.json new file mode 100644 index 000000000000..aad199ca2520 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallGetWithAdditionalProperties.json @@ -0,0 +1,179 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/AzureFirewallGetWithIpGroups.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallGetWithIpGroups.json new file mode 100644 index 000000000000..ccf78baecce6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallGetWithIpGroups.json @@ -0,0 +1,189 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/AzureFirewallGetWithMgmtSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallGetWithMgmtSubnet.json new file mode 100644 index 000000000000..fb5dcf8eb7e7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallGetWithMgmtSubnet.json @@ -0,0 +1,190 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/AzureFirewallGetWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallGetWithZones.json new file mode 100644 index 000000000000..8b51895be2ee --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallGetWithZones.json @@ -0,0 +1,181 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/AzureFirewallListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallListByResourceGroup.json new file mode 100644 index 000000000000..f1aaf75212f9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallListByResourceGroup.json @@ -0,0 +1,193 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/AzureFirewallListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallListBySubscription.json new file mode 100644 index 000000000000..25a3612601ff --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallListBySubscription.json @@ -0,0 +1,192 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/AzureFirewallPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallPut.json new file mode 100644 index 000000000000..ec517caa08d8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallPut.json @@ -0,0 +1,497 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/AzureFirewallPutInHub.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallPutInHub.json new file mode 100644 index 000000000000..afb86ae26c94 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallPutInHub.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/AzureFirewallPutWithAdditionalProperties.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallPutWithAdditionalProperties.json new file mode 100644 index 000000000000..8a6f988eaf1a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallPutWithAdditionalProperties.json @@ -0,0 +1,507 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/AzureFirewallPutWithIpGroups.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallPutWithIpGroups.json new file mode 100644 index 000000000000..b150e6a1b9c8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallPutWithIpGroups.json @@ -0,0 +1,505 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/AzureFirewallPutWithMgmtSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallPutWithMgmtSubnet.json new file mode 100644 index 000000000000..d2654c5ad5e4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallPutWithMgmtSubnet.json @@ -0,0 +1,507 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/AzureFirewallPutWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallPutWithZones.json new file mode 100644 index 000000000000..5eedc2cdb1a0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallPutWithZones.json @@ -0,0 +1,509 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/AzureFirewallUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallUpdateTags.json new file mode 100644 index 000000000000..13851342a491 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/AzureFirewallUpdateTags.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/BastionHostDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/BastionHostDelete.json new file mode 100644 index 000000000000..8ee66c76baad --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/BastionHostDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/BastionHostGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/BastionHostGet.json new file mode 100644 index 000000000000..7a3250f8aaa5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/BastionHostGet.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/BastionHostListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/BastionHostListByResourceGroup.json new file mode 100644 index 000000000000..72a113d311ec --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/BastionHostListByResourceGroup.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/BastionHostListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/BastionHostListBySubscription.json new file mode 100644 index 000000000000..24547e97ef8e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/BastionHostListBySubscription.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/BastionHostPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/BastionHostPut.json new file mode 100644 index 000000000000..5ea5e56dd4ad --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/BastionHostPut.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/BastionSessionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/BastionSessionDelete.json new file mode 100644 index 000000000000..8480e242f24c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/BastionSessionDelete.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/BastionSessionsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/BastionSessionsList.json new file mode 100644 index 000000000000..ddd9548be167 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/BastionSessionsList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/BastionShareableLinkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/BastionShareableLinkCreate.json new file mode 100644 index 000000000000..ac47bcd31759 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/BastionShareableLinkCreate.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/BastionShareableLinkDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/BastionShareableLinkDelete.json new file mode 100644 index 000000000000..7e607e8bef72 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/BastionShareableLinkDelete.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/BastionShareableLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/BastionShareableLinkGet.json new file mode 100644 index 000000000000..b479471c17d3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/BastionShareableLinkGet.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/CheckDnsNameAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/CheckDnsNameAvailability.json new file mode 100644 index 000000000000..7bdf07511610 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/CheckDnsNameAvailability.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "location": "westus", + "domainNameLabel": "testdns" + }, + "responses": { + "200": { + "body": { + "available": false + } + } + } +} 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 new file mode 100644 index 000000000000..90eae91deb38 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/CheckPrivateLinkServiceVisibility.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "location": "westus", + "parameters": { + "privateLinkServiceAlias": "mypls.00000000-0000-0000-0000-000000000000.azure.privatelinkservice" + } + }, + "responses": { + "200": { + "body": { + "visible": true + } + } + } +} 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 new file mode 100644 index 000000000000..db32cdcb2184 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "location": "westus", + "resourceGroupName": "rg1", + "parameters": { + "privateLinkServiceAlias": "mypls.00000000-0000-0000-0000-000000000000.azure.privatelinkservice" + } + }, + "responses": { + "200": { + "body": { + "visible": true + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/DdosCustomPolicyCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/DdosCustomPolicyCreate.json new file mode 100644 index 000000000000..52b54d34e1c6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/DdosCustomPolicyCreate.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/DdosCustomPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/DdosCustomPolicyDelete.json new file mode 100644 index 000000000000..c176ebc8b503 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/DdosCustomPolicyDelete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/DdosCustomPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/DdosCustomPolicyGet.json new file mode 100644 index 000000000000..9789716598c1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/DdosCustomPolicyGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/DdosCustomPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/DdosCustomPolicyUpdateTags.json new file mode 100644 index 000000000000..f64bfe740555 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/DdosCustomPolicyUpdateTags.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/DdosProtectionPlanCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/DdosProtectionPlanCreate.json new file mode 100644 index 000000000000..538098674a91 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/DdosProtectionPlanCreate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/DdosProtectionPlanDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/DdosProtectionPlanDelete.json new file mode 100644 index 000000000000..d487a82fc923 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/DdosProtectionPlanDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ddosProtectionPlanName": "test-plan" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/DdosProtectionPlanGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/DdosProtectionPlanGet.json new file mode 100644 index 000000000000..1699a56e1acf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/DdosProtectionPlanGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/DdosProtectionPlanList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/DdosProtectionPlanList.json new file mode 100644 index 000000000000..cb30ffda3736 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/DdosProtectionPlanList.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/DdosProtectionPlanListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/DdosProtectionPlanListAll.json new file mode 100644 index 000000000000..9e5a21f6457a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/DdosProtectionPlanListAll.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/DdosProtectionPlanUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/DdosProtectionPlanUpdateTags.json new file mode 100644 index 000000000000..7c1d08774490 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/DdosProtectionPlanUpdateTags.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/DefaultSecurityRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/DefaultSecurityRuleGet.json new file mode 100644 index 000000000000..cd4c45079a99 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/DefaultSecurityRuleGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2020-05-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-05-01/examples/DefaultSecurityRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/DefaultSecurityRuleList.json new file mode 100644 index 000000000000..907d84c91ecd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/DefaultSecurityRuleList.json @@ -0,0 +1,136 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2020-05-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-05-01/examples/EffectiveRoutesListForConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/EffectiveRoutesListForConnection.json new file mode 100644 index 000000000000..b279686ffaec --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/EffectiveRoutesListForConnection.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2020-05-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-05-01/examples/EffectiveRoutesListForRouteTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/EffectiveRoutesListForRouteTable.json new file mode 100644 index 000000000000..2ba6b6e83e6b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/EffectiveRoutesListForRouteTable.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2020-05-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-05-01/examples/EffectiveRoutesListForVirtualHub.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/EffectiveRoutesListForVirtualHub.json new file mode 100644 index 000000000000..4b9d8a96389e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/EffectiveRoutesListForVirtualHub.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2020-05-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-05-01/examples/EndpointServicesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/EndpointServicesList.json new file mode 100644 index 000000000000..8f3cf62d5d7a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/EndpointServicesList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "location": "westus", + "api-version": "2020-05-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-05-01/examples/ExpressRouteCircuitARPTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitARPTableList.json new file mode 100644 index 000000000000..e2b7e84bae25 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitARPTableList.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/ExpressRouteCircuitAuthorizationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitAuthorizationCreate.json new file mode 100644 index 000000000000..7f1122c0729b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitAuthorizationCreate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "authorizationName": "authorizatinName", + "api-version": "2020-05-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-05-01/examples/ExpressRouteCircuitAuthorizationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitAuthorizationDelete.json new file mode 100644 index 000000000000..70c3664e188a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitAuthorizationDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-05-01", + "subscriptionId": "subid", + "authorizationName": "authorizationName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitAuthorizationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitAuthorizationGet.json new file mode 100644 index 000000000000..6ea4c392d0b8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitAuthorizationGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/ExpressRouteCircuitAuthorizationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitAuthorizationList.json new file mode 100644 index 000000000000..a68bbea0f5ca --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitAuthorizationList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/ExpressRouteCircuitConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitConnectionCreate.json new file mode 100644 index 000000000000..de3bdbe29b74 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitConnectionCreate.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "connectionName": "circuitConnectionUSAUS", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/ExpressRouteCircuitConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitConnectionDelete.json new file mode 100644 index 000000000000..2febfeeb30d5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitConnectionDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "circuitName": "ExpressRouteARMCircuitA", + "peeringName": "AzurePrivatePeering", + "connectionName": "circuitConnectionUSAUS", + "resourceGroupName": "rg1", + "api-version": "2020-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitConnectionGet.json new file mode 100644 index 000000000000..30d9ee4fb700 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitConnectionGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "connectionName": "circuitConnectionUSAUS", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/ExpressRouteCircuitConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitConnectionList.json new file mode 100644 index 000000000000..41a7434f98c1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitConnectionList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/ExpressRouteCircuitCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitCreate.json new file mode 100644 index 000000000000..8a0f2ba4374f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitCreate.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json new file mode 100644 index 000000000000..dcec2c7159a7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-05-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-05-01/examples/ExpressRouteCircuitDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitDelete.json new file mode 100644 index 000000000000..6ec2429eada6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitGet.json new file mode 100644 index 000000000000..7060f3a3d72d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/ExpressRouteCircuitListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitListByResourceGroup.json new file mode 100644 index 000000000000..09672d5988d8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitListByResourceGroup.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/ExpressRouteCircuitListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitListBySubscription.json new file mode 100644 index 000000000000..a969719774ac --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitListBySubscription.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ExpressRouteCircuitPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitPeeringCreate.json new file mode 100644 index 000000000000..ec3200598801 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitPeeringCreate.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/ExpressRouteCircuitPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitPeeringDelete.json new file mode 100644 index 000000000000..b81cbc458413 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitPeeringDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-05-01", + "subscriptionId": "subid", + "peeringName": "peeringName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitPeeringGet.json new file mode 100644 index 000000000000..ed47ea25dfeb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitPeeringGet.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/ExpressRouteCircuitPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitPeeringList.json new file mode 100644 index 000000000000..fe27bfcfaeff --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitPeeringList.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/ExpressRouteCircuitPeeringStats.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitPeeringStats.json new file mode 100644 index 000000000000..23f8d8d884d3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitPeeringStats.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/ExpressRouteCircuitRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitRouteTableList.json new file mode 100644 index 000000000000..699515de6639 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitRouteTableList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/ExpressRouteCircuitRouteTableSummaryList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitRouteTableSummaryList.json new file mode 100644 index 000000000000..145adedec159 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitRouteTableSummaryList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/ExpressRouteCircuitStats.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitStats.json new file mode 100644 index 000000000000..877a351fccb9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitStats.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/ExpressRouteCircuitUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitUpdateTags.json new file mode 100644 index 000000000000..095feb4e6fa6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCircuitUpdateTags.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ExpressRouteConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteConnectionCreate.json new file mode 100644 index 000000000000..b73d7f946c3e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteConnectionCreate.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "expressRouteGatewayName": "gateway-2", + "resourceGroupName": "resourceGroupName", + "api-version": "2020-05-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-05-01/examples/ExpressRouteConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteConnectionDelete.json new file mode 100644 index 000000000000..4cf7614048a6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "connectionName": "connectionName", + "api-version": "2020-05-01", + "subscriptionId": "subid" + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteConnectionGet.json new file mode 100644 index 000000000000..1573a23873e4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteConnectionGet.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "api-version": "2020-05-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-05-01/examples/ExpressRouteConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteConnectionList.json new file mode 100644 index 000000000000..8b809fb9589b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteConnectionList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json new file mode 100644 index 000000000000..9ec8f96e55bb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "api-version": "2020-05-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-05-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json new file mode 100644 index 000000000000..acadde9c69c7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "api-version": "2020-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json new file mode 100644 index 000000000000..5d8253212129 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "api-version": "2020-05-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-05-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json new file mode 100644 index 000000000000..661c0f014126 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "api-version": "2020-05-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-05-01/examples/ExpressRouteCrossConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCrossConnectionGet.json new file mode 100644 index 000000000000..21f526730989 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCrossConnectionGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ExpressRouteCrossConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCrossConnectionList.json new file mode 100644 index 000000000000..41b117dfe4e1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCrossConnectionList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json new file mode 100644 index 000000000000..6d7ff10f344e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ExpressRouteCrossConnectionUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCrossConnectionUpdate.json new file mode 100644 index 000000000000..2dcb8cba695c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCrossConnectionUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ExpressRouteCrossConnectionUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCrossConnectionUpdateTags.json new file mode 100644 index 000000000000..cece90a7d84f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCrossConnectionUpdateTags.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ExpressRouteCrossConnectionsArpTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCrossConnectionsArpTable.json new file mode 100644 index 000000000000..acc5f6a2608f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCrossConnectionsArpTable.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "devicePath": "primary", + "api-version": "2020-05-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-05-01/examples/ExpressRouteCrossConnectionsRouteTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCrossConnectionsRouteTable.json new file mode 100644 index 000000000000..83b44c63b2e1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCrossConnectionsRouteTable.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "devicePath": "primary", + "api-version": "2020-05-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-05-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json new file mode 100644 index 000000000000..a1eae83620a9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "devicePath": "primary", + "api-version": "2020-05-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-05-01/examples/ExpressRouteGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteGatewayCreate.json new file mode 100644 index 000000000000..a7bc4f9ea2a7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteGatewayCreate.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "expressRouteGatewayName": "gateway-2", + "subscriptionId": "subid", + "resourceGroupName": "resourceGroupName", + "api-version": "2020-05-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-05-01/examples/ExpressRouteGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteGatewayDelete.json new file mode 100644 index 000000000000..3942fe402592 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "api-version": "2020-05-01", + "subscriptionId": "subid" + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteGatewayGet.json new file mode 100644 index 000000000000..afb526f51869 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteGatewayGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "api-version": "2020-05-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-05-01/examples/ExpressRouteGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteGatewayListByResourceGroup.json new file mode 100644 index 000000000000..b74ae45e0009 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteGatewayListByResourceGroup.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ExpressRouteGatewayListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteGatewayListBySubscription.json new file mode 100644 index 000000000000..e5f7efcb206c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteGatewayListBySubscription.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ExpressRouteLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteLinkGet.json new file mode 100644 index 000000000000..ca05ee99a18c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteLinkGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-05-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-05-01/examples/ExpressRouteLinkList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteLinkList.json new file mode 100644 index 000000000000..66d6b4d70dfb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteLinkList.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-05-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-05-01/examples/ExpressRoutePortCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRoutePortCreate.json new file mode 100644 index 000000000000..000c313da50c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRoutePortCreate.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-05-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-05-01/examples/ExpressRoutePortDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRoutePortDelete.json new file mode 100644 index 000000000000..db0e7cff4fb4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRoutePortDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-05-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRoutePortGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRoutePortGet.json new file mode 100644 index 000000000000..2d2a094043e3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRoutePortGet.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-05-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-05-01/examples/ExpressRoutePortList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRoutePortList.json new file mode 100644 index 000000000000..cf88de0558f3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRoutePortList.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-05-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-05-01/examples/ExpressRoutePortListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRoutePortListByResourceGroup.json new file mode 100644 index 000000000000..541a8709c9bd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRoutePortListByResourceGroup.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-05-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-05-01/examples/ExpressRoutePortUpdateLink.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRoutePortUpdateLink.json new file mode 100644 index 000000000000..8348dd0b9630 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRoutePortUpdateLink.json @@ -0,0 +1,120 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-05-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-05-01/examples/ExpressRoutePortUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRoutePortUpdateTags.json new file mode 100644 index 000000000000..f3a61a0bee63 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRoutePortUpdateTags.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-05-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-05-01/examples/ExpressRoutePortsLocationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRoutePortsLocationGet.json new file mode 100644 index 000000000000..57facc82fd66 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRoutePortsLocationGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-05-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-05-01/examples/ExpressRoutePortsLocationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRoutePortsLocationList.json new file mode 100644 index 000000000000..1fec90102c8c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRoutePortsLocationList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-05-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-05-01/examples/ExpressRouteProviderList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteProviderList.json new file mode 100644 index 000000000000..f131b787a5b1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ExpressRouteProviderList.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/FirewallPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FirewallPolicyDelete.json new file mode 100644 index 000000000000..3f8b5f687643 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FirewallPolicyDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FirewallPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FirewallPolicyGet.json new file mode 100644 index 000000000000..e29677f2e32d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FirewallPolicyGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/FirewallPolicyListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FirewallPolicyListByResourceGroup.json new file mode 100644 index 000000000000..fb198f806851 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FirewallPolicyListByResourceGroup.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/FirewallPolicyListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FirewallPolicyListBySubscription.json new file mode 100644 index 000000000000..a9d84e0a50cb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FirewallPolicyListBySubscription.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/FirewallPolicyPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FirewallPolicyPut.json new file mode 100644 index 000000000000..8e4febe1cb29 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FirewallPolicyPut.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/FirewallPolicyRuleCollectionGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FirewallPolicyRuleCollectionGroupDelete.json new file mode 100644 index 000000000000..87663c53603b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FirewallPolicyRuleCollectionGroupDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "ruleCollectionGroupName": "ruleCollectionGroup1", + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2020-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FirewallPolicyRuleCollectionGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FirewallPolicyRuleCollectionGroupGet.json new file mode 100644 index 000000000000..8f1118730047 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FirewallPolicyRuleCollectionGroupGet.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "ruleCollectionGroupName": "ruleCollectionGroup1", + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/FirewallPolicyRuleCollectionGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FirewallPolicyRuleCollectionGroupList.json new file mode 100644 index 000000000000..4947622e4f88 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FirewallPolicyRuleCollectionGroupList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/FirewallPolicyRuleCollectionGroupPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FirewallPolicyRuleCollectionGroupPut.json new file mode 100644 index 000000000000..1d458ceb2a22 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FirewallPolicyRuleCollectionGroupPut.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsGet.json new file mode 100644 index 000000000000..f46a42fb45c5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsGet.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "ruleCollectionGroupName": "ruleGroup1", + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsList.json new file mode 100644 index 000000000000..a57ae20aa2b0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsPut.json new file mode 100644 index 000000000000..0e7ea965c4df --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsPut.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json new file mode 100644 index 000000000000..db99179749ee --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/GetVirtualWanVpnServerConfigurations.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/GetVirtualWanVpnServerConfigurations.json new file mode 100644 index 000000000000..2b68f3ca4b6e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/GetVirtualWanVpnServerConfigurations.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/HubRouteTableDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/HubRouteTableDelete.json new file mode 100644 index 000000000000..a6e43aea0d1e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/HubRouteTableDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "routeTableName": "hubRouteTable1", + "resourceGroupName": "rg1", + "api-version": "2020-05-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/HubRouteTableGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/HubRouteTableGet.json new file mode 100644 index 000000000000..19ca08f432b4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/HubRouteTableGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "routeTableName": "hubRouteTable1", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/HubRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/HubRouteTableList.json new file mode 100644 index 000000000000..0c382ffed9a2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/HubRouteTableList.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/HubRouteTablePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/HubRouteTablePut.json new file mode 100644 index 000000000000..54c93fcd3003 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/HubRouteTablePut.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "routeTableName": "hubRouteTable1", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/HubVirtualNetworkConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/HubVirtualNetworkConnectionDelete.json new file mode 100644 index 000000000000..e3be839f0547 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/HubVirtualNetworkConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "connectionName": "connection1", + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2020-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/HubVirtualNetworkConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/HubVirtualNetworkConnectionGet.json new file mode 100644 index 000000000000..7af6355d981d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/HubVirtualNetworkConnectionGet.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "connectionName": "connection1", + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/HubVirtualNetworkConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/HubVirtualNetworkConnectionList.json new file mode 100644 index 000000000000..acfd275743f4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/HubVirtualNetworkConnectionList.json @@ -0,0 +1,123 @@ +{ + "parameters": { + "connectionName": "connection1", + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/HubVirtualNetworkConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/HubVirtualNetworkConnectionPut.json new file mode 100644 index 000000000000..23f40ba0ba35 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/HubVirtualNetworkConnectionPut.json @@ -0,0 +1,155 @@ +{ + "parameters": { + "connectionName": "connection1", + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/InboundNatRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/InboundNatRuleCreate.json new file mode 100644 index 000000000000..70cbae5d018f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/InboundNatRuleCreate.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2020-05-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-05-01/examples/InboundNatRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/InboundNatRuleDelete.json new file mode 100644 index 000000000000..344545ff5c18 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/InboundNatRuleDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2020-05-01", + "subscriptionId": "subid", + "loadBalancerName": "lb1", + "inboundNatRuleName": "natRule1.1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/InboundNatRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/InboundNatRuleGet.json new file mode 100644 index 000000000000..aaef72801468 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/InboundNatRuleGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2020-05-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-05-01/examples/InboundNatRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/InboundNatRuleList.json new file mode 100644 index 000000000000..4d00c465255b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/InboundNatRuleList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2020-05-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-05-01/examples/IpAllocationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/IpAllocationCreate.json new file mode 100644 index 000000000000..dc81cf7d7f98 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/IpAllocationCreate.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/IpAllocationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/IpAllocationDelete.json new file mode 100644 index 000000000000..e286a1dd32b7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/IpAllocationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ipAllocationName": "test-ipallocation" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/IpAllocationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/IpAllocationGet.json new file mode 100644 index 000000000000..8bed1f0443cf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/IpAllocationGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/IpAllocationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/IpAllocationList.json new file mode 100644 index 000000000000..cddae724430f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/IpAllocationList.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/IpAllocationListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/IpAllocationListByResourceGroup.json new file mode 100644 index 000000000000..8ab689756303 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/IpAllocationListByResourceGroup.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/IpAllocationUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/IpAllocationUpdateTags.json new file mode 100644 index 000000000000..be171b9efff0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/IpAllocationUpdateTags.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/IpGroupsCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/IpGroupsCreate.json new file mode 100644 index 000000000000..f876f172497a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/IpGroupsCreate.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/IpGroupsDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/IpGroupsDelete.json new file mode 100644 index 000000000000..30ca2d5327df --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/IpGroupsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subId", + "resourceGroupName": "myResourceGroup", + "ipGroupsName": "ipGroups1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/IpGroupsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/IpGroupsGet.json new file mode 100644 index 000000000000..0a1402c1162a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/IpGroupsGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/IpGroupsListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/IpGroupsListByResourceGroup.json new file mode 100644 index 000000000000..3d679637a225 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/IpGroupsListByResourceGroup.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/IpGroupsListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/IpGroupsListBySubscription.json new file mode 100644 index 000000000000..67f24c18f030 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/IpGroupsListBySubscription.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/IpGroupsUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/IpGroupsUpdateTags.json new file mode 100644 index 000000000000..04ad419ad979 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/IpGroupsUpdateTags.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "ipGroupsName": "ipGroups1", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-05-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-05-01/examples/LBBackendAddressPoolListWithBackendAddressesPoolType.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LBBackendAddressPoolListWithBackendAddressesPoolType.json new file mode 100644 index 000000000000..eebaff0df484 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LBBackendAddressPoolListWithBackendAddressesPoolType.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2020-05-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-05-01/examples/LBBackendAddressPoolWithBackendAddressesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LBBackendAddressPoolWithBackendAddressesGet.json new file mode 100644 index 000000000000..e8177866cca6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LBBackendAddressPoolWithBackendAddressesGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "backendAddressPoolName": "backend", + "api-version": "2020-05-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-04-01/examples/LBBackendAddressPoolWithBackendAddressesPutWithNICIPConfiguration.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LBBackendAddressPoolWithBackendAddressesPut.json similarity index 54% rename from specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/LBBackendAddressPoolWithBackendAddressesPutWithNICIPConfiguration.json rename to specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LBBackendAddressPoolWithBackendAddressesPut.json index a4adbda522a1..117a96a2a85a 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/LBBackendAddressPoolWithBackendAddressesPutWithNICIPConfiguration.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LBBackendAddressPoolWithBackendAddressesPut.json @@ -1,27 +1,29 @@ { "parameters": { "subscriptionId": "subid", - "resourceGroupName": "rg1", + "resourceGroupName": "testrg", "loadBalancerName": "lb", "backendAddressPoolName": "backend", - "api-version": "2020-04-01", + "api-version": "2020-05-01", "parameters": { "properties": { "loadBalancerBackendAddresses": [ { "name": "address1", "properties": { - "networkInterfaceIPConfiguration": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/vnetlb/ipConfigurations/ipconfig1" - } + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.4" } }, { "name": "address2", "properties": { - "networkInterfaceIPConfiguration": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/vnetlb/ipConfigurations/ipconfig2" - } + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.5" } } ] @@ -32,7 +34,7 @@ "200": { "body": { "name": "backend", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/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": { @@ -41,19 +43,26 @@ { "name": "address1", "properties": { - "networkInterfaceIPConfiguration": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/vnetlb/ipConfigurations/ipconfig1" - } + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.4" } }, { "name": "address2", "properties": { - "networkInterfaceIPConfiguration": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/vnetlb/ipConfigurations/ipconfig2" - } + "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" + } ] } } @@ -61,7 +70,7 @@ "201": { "body": { "name": "backend", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/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": { @@ -70,19 +79,26 @@ { "name": "address1", "properties": { - "networkInterfaceIPConfiguration": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/vnetlb/ipConfigurations/ipconfig1" - } + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.4" } }, { "name": "address2", "properties": { - "networkInterfaceIPConfiguration": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/vnetlb/ipConfigurations/ipconfig2" - } + "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-05-01/examples/LoadBalancerBackendAddressPoolDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerBackendAddressPoolDelete.json new file mode 100644 index 000000000000..8500be41293c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerBackendAddressPoolDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "backendAddressPoolName": "backend", + "api-version": "2020-05-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerBackendAddressPoolGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerBackendAddressPoolGet.json new file mode 100644 index 000000000000..2ba843add064 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerBackendAddressPoolGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "backendAddressPoolName": "backend", + "api-version": "2020-05-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-05-01/examples/LoadBalancerBackendAddressPoolList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerBackendAddressPoolList.json new file mode 100644 index 000000000000..11a307515e48 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerBackendAddressPoolList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2020-05-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-05-01/examples/LoadBalancerCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerCreate.json new file mode 100644 index 000000000000..7ad17ae05b6e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerCreate.json @@ -0,0 +1,339 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/LoadBalancerCreateStandardSku.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerCreateStandardSku.json new file mode 100644 index 000000000000..c7bfa2baf5f5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerCreateStandardSku.json @@ -0,0 +1,339 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/LoadBalancerCreateWithInboundNatPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerCreateWithInboundNatPool.json new file mode 100644 index 000000000000..f641f599b94e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerCreateWithInboundNatPool.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/LoadBalancerCreateWithOutboundRules.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerCreateWithOutboundRules.json new file mode 100644 index 000000000000..8a9148f174e5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerCreateWithOutboundRules.json @@ -0,0 +1,423 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/LoadBalancerCreateWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerCreateWithZones.json new file mode 100644 index 000000000000..864f4c85935a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerCreateWithZones.json @@ -0,0 +1,348 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/LoadBalancerDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerDelete.json new file mode 100644 index 000000000000..cbe319222cb4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerFrontendIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerFrontendIPConfigurationGet.json new file mode 100644 index 000000000000..3da6354f55c9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerFrontendIPConfigurationGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "frontendIPConfigurationName": "frontend", + "api-version": "2020-05-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-05-01/examples/LoadBalancerFrontendIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerFrontendIPConfigurationList.json new file mode 100644 index 000000000000..efdf788817fd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerFrontendIPConfigurationList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2020-05-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-05-01/examples/LoadBalancerGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerGet.json new file mode 100644 index 000000000000..bd2884509529 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerGet.json @@ -0,0 +1,139 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/LoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerList.json new file mode 100644 index 000000000000..734390646d09 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerList.json @@ -0,0 +1,161 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/LoadBalancerListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerListAll.json new file mode 100644 index 000000000000..cd9c60e695a7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerListAll.json @@ -0,0 +1,160 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/LoadBalancerLoadBalancingRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerLoadBalancingRuleGet.json new file mode 100644 index 000000000000..79c78c059aab --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerLoadBalancingRuleGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb1", + "loadBalancingRuleName": "rule1", + "api-version": "2020-05-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-05-01/examples/LoadBalancerLoadBalancingRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerLoadBalancingRuleList.json new file mode 100644 index 000000000000..5400b5bcc6ca --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerLoadBalancingRuleList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb1", + "api-version": "2020-05-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-05-01/examples/LoadBalancerNetworkInterfaceListSimple.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerNetworkInterfaceListSimple.json new file mode 100644 index 000000000000..7aad2d7a6930 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerNetworkInterfaceListSimple.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2020-05-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-05-01/examples/LoadBalancerNetworkInterfaceListVmss.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerNetworkInterfaceListVmss.json new file mode 100644 index 000000000000..ac67c290ee34 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerNetworkInterfaceListVmss.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2020-05-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-05-01/examples/LoadBalancerOutboundRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerOutboundRuleGet.json new file mode 100644 index 000000000000..56c68daaae5b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerOutboundRuleGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb1", + "outboundRuleName": "rule1", + "api-version": "2020-05-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-05-01/examples/LoadBalancerOutboundRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerOutboundRuleList.json new file mode 100644 index 000000000000..a2332c983668 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerOutboundRuleList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb1", + "api-version": "2020-05-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-05-01/examples/LoadBalancerProbeGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerProbeGet.json new file mode 100644 index 000000000000..729b233f5261 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerProbeGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "probeName": "probe1", + "api-version": "2020-05-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-05-01/examples/LoadBalancerProbeList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerProbeList.json new file mode 100644 index 000000000000..a3c1cce9d1b8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerProbeList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2020-05-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-05-01/examples/LoadBalancerUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerUpdateTags.json new file mode 100644 index 000000000000..cd0ebe5282c6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LoadBalancerUpdateTags.json @@ -0,0 +1,132 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/LocalNetworkGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LocalNetworkGatewayCreate.json new file mode 100644 index 000000000000..f03b7221f804 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LocalNetworkGatewayCreate.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/LocalNetworkGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LocalNetworkGatewayDelete.json new file mode 100644 index 000000000000..1cdbf0176cf3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LocalNetworkGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "localNetworkGatewayName": "localgw" + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LocalNetworkGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LocalNetworkGatewayGet.json new file mode 100644 index 000000000000..4eeba28998a4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LocalNetworkGatewayGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/LocalNetworkGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LocalNetworkGatewayList.json new file mode 100644 index 000000000000..009db6c93313 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LocalNetworkGatewayList.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/LocalNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LocalNetworkGatewayUpdateTags.json new file mode 100644 index 000000000000..bc81c26d9201 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/LocalNetworkGatewayUpdateTags.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NatGatewayCreateOrUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NatGatewayCreateOrUpdate.json new file mode 100644 index 000000000000..99beabf8007e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NatGatewayCreateOrUpdate.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NatGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NatGatewayDelete.json new file mode 100644 index 000000000000..f86c7d0273f3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NatGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "natGatewayName": "test-natGateway" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NatGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NatGatewayGet.json new file mode 100644 index 000000000000..ffb22a280bf4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NatGatewayGet.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NatGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NatGatewayList.json new file mode 100644 index 000000000000..23c6a4506b02 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NatGatewayList.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NatGatewayListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NatGatewayListAll.json new file mode 100644 index 000000000000..5388e98bef31 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NatGatewayListAll.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NatGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NatGatewayUpdateTags.json new file mode 100644 index 000000000000..44cf2b98f324 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NatGatewayUpdateTags.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkInterfaceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceCreate.json new file mode 100644 index 000000000000..6539628ba932 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceCreate.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkInterfaceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceDelete.json new file mode 100644 index 000000000000..1b0bf4b69b12 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "test-nic" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceEffectiveNSGList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceEffectiveNSGList.json new file mode 100644 index 000000000000..9dba27acb8a8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceEffectiveNSGList.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkInterfaceEffectiveRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceEffectiveRouteTableList.json new file mode 100644 index 000000000000..e0e055a9e914 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceEffectiveRouteTableList.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceGet.json new file mode 100644 index 000000000000..1acc4720a046 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceGet.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2020-05-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" + } + }, + "type": "Microsoft.Network/networkInterfaces" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceIPConfigurationGet.json new file mode 100644 index 000000000000..9edd7228778c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceIPConfigurationGet.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "mynic", + "ipConfigurationName": "ipconfig1", + "api-version": "2020-05-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-05-01/examples/NetworkInterfaceIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceIPConfigurationList.json new file mode 100644 index 000000000000..576715e50cb1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceIPConfigurationList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "nic1", + "api-version": "2020-05-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-05-01/examples/NetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceList.json new file mode 100644 index 000000000000..b0ff91a26b8d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceList.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkInterfaceListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceListAll.json new file mode 100644 index 000000000000..88748466eb9e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceListAll.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkInterfaceLoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceLoadBalancerList.json new file mode 100644 index 000000000000..1bbf4047e3c3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceLoadBalancerList.json @@ -0,0 +1,139 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "nic1", + "api-version": "2020-05-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-05-01/examples/NetworkInterfaceTapConfigurationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceTapConfigurationCreate.json new file mode 100644 index 000000000000..d8b546cf662f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceTapConfigurationCreate.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "mynic", + "tapConfigurationName": "tapconfiguration1", + "api-version": "2020-05-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-05-01/examples/NetworkInterfaceTapConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceTapConfigurationDelete.json new file mode 100644 index 000000000000..758daea7175f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceTapConfigurationDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkInterfaceTapConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceTapConfigurationGet.json new file mode 100644 index 000000000000..97feb155abc8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceTapConfigurationGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "mynic", + "tapConfigurationName": "tapconfiguration1", + "api-version": "2020-05-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-05-01/examples/NetworkInterfaceTapConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceTapConfigurationList.json new file mode 100644 index 000000000000..74086f97dab0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceTapConfigurationList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkInterfaceUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceUpdateTags.json new file mode 100644 index 000000000000..adb7b6d63270 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkInterfaceUpdateTags.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkProfileCreateConfigOnly.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkProfileCreateConfigOnly.json new file mode 100644 index 000000000000..1709a606af75 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkProfileCreateConfigOnly.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkProfileDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkProfileDelete.json new file mode 100644 index 000000000000..9919812b31ab --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkProfileDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkProfileName": "networkProfile1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkProfileGetConfigOnly.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkProfileGetConfigOnly.json new file mode 100644 index 000000000000..162663ceafdd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkProfileGetConfigOnly.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkProfileGetWithContainerNic.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkProfileGetWithContainerNic.json new file mode 100644 index 000000000000..7772fa6d2525 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkProfileGetWithContainerNic.json @@ -0,0 +1,203 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkProfileList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkProfileList.json new file mode 100644 index 000000000000..3a5d39b88a7b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkProfileList.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkProfileListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkProfileListAll.json new file mode 100644 index 000000000000..427f3a4f7ece --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkProfileListAll.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkProfileUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkProfileUpdateTags.json new file mode 100644 index 000000000000..6e8ad0326944 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkProfileUpdateTags.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkSecurityGroupCreate.json new file mode 100644 index 000000000000..40e3bbb4eb18 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkSecurityGroupCreate.json @@ -0,0 +1,233 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkSecurityGroupCreateWithRule.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkSecurityGroupCreateWithRule.json new file mode 100644 index 000000000000..744271dd6caa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkSecurityGroupCreateWithRule.json @@ -0,0 +1,282 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkSecurityGroupDelete.json new file mode 100644 index 000000000000..a11f83e54ae4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkSecurityGroupDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkSecurityGroupName": "testnsg" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkSecurityGroupGet.json new file mode 100644 index 000000000000..6d044f756515 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkSecurityGroupGet.json @@ -0,0 +1,136 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkSecurityGroupList.json new file mode 100644 index 000000000000..6db88c5c73d3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkSecurityGroupList.json @@ -0,0 +1,231 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkSecurityGroupListAll.json new file mode 100644 index 000000000000..45bd8a80dd18 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkSecurityGroupListAll.json @@ -0,0 +1,230 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkSecurityGroupRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkSecurityGroupRuleCreate.json new file mode 100644 index 000000000000..d5f1ec2eb48d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkSecurityGroupRuleCreate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkSecurityGroupRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkSecurityGroupRuleDelete.json new file mode 100644 index 000000000000..2537a3521104 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkSecurityGroupRuleDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkSecurityGroupName": "testnsg", + "securityRuleName": "rule1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkSecurityGroupRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkSecurityGroupRuleGet.json new file mode 100644 index 000000000000..605c350764cc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkSecurityGroupRuleGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkSecurityGroupRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkSecurityGroupRuleList.json new file mode 100644 index 000000000000..83fcdd31e240 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkSecurityGroupRuleList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkSecurityGroupUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkSecurityGroupUpdateTags.json new file mode 100644 index 000000000000..baab9365e944 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkSecurityGroupUpdateTags.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkVirtualApplianceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkVirtualApplianceDelete.json new file mode 100644 index 000000000000..3c7456aa808d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkVirtualApplianceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkVirtualApplianceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkVirtualApplianceGet.json new file mode 100644 index 000000000000..2b85ebcb976e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkVirtualApplianceGet.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2020-05-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" + }, + "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-05-01/examples/NetworkVirtualApplianceListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkVirtualApplianceListByResourceGroup.json new file mode 100644 index 000000000000..1130edb38cc1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkVirtualApplianceListByResourceGroup.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2020-05-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" + }, + "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-05-01/examples/NetworkVirtualApplianceListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkVirtualApplianceListBySubscription.json new file mode 100644 index 000000000000..b950a32535db --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkVirtualApplianceListBySubscription.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2020-05-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" + }, + "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-05-01/examples/NetworkVirtualAppliancePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkVirtualAppliancePut.json new file mode 100644 index 000000000000..9954c35baad4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkVirtualAppliancePut.json @@ -0,0 +1,143 @@ +{ + "parameters": { + "api-version": "2020-05-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" + }, + "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" + } + ] + } + } + }, + "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" + }, + "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-05-01/examples/NetworkVirtualApplianceSiteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkVirtualApplianceSiteDelete.json new file mode 100644 index 000000000000..bb408aa94fe7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkVirtualApplianceSiteDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "siteName": "site1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkVirtualApplianceSiteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkVirtualApplianceSiteGet.json new file mode 100644 index 000000000000..be46142ea4ca --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkVirtualApplianceSiteGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkVirtualApplianceSiteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkVirtualApplianceSiteList.json new file mode 100644 index 000000000000..a42afca04295 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkVirtualApplianceSiteList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkVirtualApplianceSitePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkVirtualApplianceSitePut.json new file mode 100644 index 000000000000..3d2f6f86b0fe --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkVirtualApplianceSitePut.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkVirtualApplianceSkuGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkVirtualApplianceSkuGet.json new file mode 100644 index 000000000000..06d0b52142b0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkVirtualApplianceSkuGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkVirtualApplianceSkuList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkVirtualApplianceSkuList.json new file mode 100644 index 000000000000..9ecf12b4f0cf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkVirtualApplianceSkuList.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkVirtualApplianceUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkVirtualApplianceUpdateTags.json new file mode 100644 index 000000000000..9f7db9998f6a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkVirtualApplianceUpdateTags.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2020-05-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" + }, + "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-05-01/examples/NetworkWatcherAvailableProvidersListGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherAvailableProvidersListGet.json new file mode 100644 index 000000000000..20823da95998 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherAvailableProvidersListGet.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherAzureReachabilityReportGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherAzureReachabilityReportGet.json new file mode 100644 index 000000000000..1ed2005b7cd4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherAzureReachabilityReportGet.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherConnectionMonitorCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherConnectionMonitorCreate.json new file mode 100644 index 000000000000..c179bd13d88b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherConnectionMonitorCreate.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherConnectionMonitorDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherConnectionMonitorDelete.json new file mode 100644 index 000000000000..18fdbee8f05c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherConnectionMonitorDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherConnectionMonitorGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherConnectionMonitorGet.json new file mode 100644 index 000000000000..9d21c687fcd2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherConnectionMonitorGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherConnectionMonitorList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherConnectionMonitorList.json new file mode 100644 index 000000000000..94d86e8c650b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherConnectionMonitorList.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherConnectionMonitorQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherConnectionMonitorQuery.json new file mode 100644 index 000000000000..a79872b1f571 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherConnectionMonitorQuery.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherConnectionMonitorStart.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherConnectionMonitorStart.json new file mode 100644 index 000000000000..27c5440d58db --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherConnectionMonitorStart.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherConnectionMonitorStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherConnectionMonitorStop.json new file mode 100644 index 000000000000..27c5440d58db --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherConnectionMonitorStop.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherConnectionMonitorUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherConnectionMonitorUpdateTags.json new file mode 100644 index 000000000000..4bd3b9c4166c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherConnectionMonitorUpdateTags.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherConnectionMonitorV2Create.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherConnectionMonitorV2Create.json new file mode 100644 index 000000000000..9a709780b9b8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherConnectionMonitorV2Create.json @@ -0,0 +1,206 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherConnectivityCheck.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherConnectivityCheck.json new file mode 100644 index 000000000000..21d6a0ae1870 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherConnectivityCheck.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherCreate.json new file mode 100644 index 000000000000..6c89de946222 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherCreate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherDelete.json new file mode 100644 index 000000000000..d19a05fb8285 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherFlowLogConfigure.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherFlowLogConfigure.json new file mode 100644 index 000000000000..cbc525d272d7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherFlowLogConfigure.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherFlowLogCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherFlowLogCreate.json new file mode 100644 index 000000000000..c79242816274 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherFlowLogCreate.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherFlowLogDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherFlowLogDelete.json new file mode 100644 index 000000000000..87815417a1e5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherFlowLogDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "flowLogName": "fl" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherFlowLogGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherFlowLogGet.json new file mode 100644 index 000000000000..22b8675fc832 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherFlowLogGet.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherFlowLogList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherFlowLogList.json new file mode 100644 index 000000000000..780d3ae8a213 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherFlowLogList.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherFlowLogStatusQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherFlowLogStatusQuery.json new file mode 100644 index 000000000000..930f8d0f1665 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherFlowLogStatusQuery.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherGet.json new file mode 100644 index 000000000000..1a1d63c099df --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherIpFlowVerify.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherIpFlowVerify.json new file mode 100644 index 000000000000..d6cede702275 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherIpFlowVerify.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherList.json new file mode 100644 index 000000000000..fbf8d5ae828d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherListAll.json new file mode 100644 index 000000000000..90a558cfeb17 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherListAll.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json new file mode 100644 index 000000000000..86a063fa6c79 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json @@ -0,0 +1,198 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherNextHopGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherNextHopGet.json new file mode 100644 index 000000000000..400b222506f1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherNextHopGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherPacketCaptureCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherPacketCaptureCreate.json new file mode 100644 index 000000000000..00f30368fc87 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherPacketCaptureCreate.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherPacketCaptureDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherPacketCaptureDelete.json new file mode 100644 index 000000000000..f359375349b1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherPacketCaptureDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "packetCaptureName": "pc1" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherPacketCaptureGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherPacketCaptureGet.json new file mode 100644 index 000000000000..41ff109d05b5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherPacketCaptureGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherPacketCaptureQueryStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherPacketCaptureQueryStatus.json new file mode 100644 index 000000000000..4d00c282bd1f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherPacketCaptureQueryStatus.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherPacketCaptureStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherPacketCaptureStop.json new file mode 100644 index 000000000000..ac37cf5aaa04 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherPacketCaptureStop.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "packetCaptureName": "pc1" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherPacketCapturesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherPacketCapturesList.json new file mode 100644 index 000000000000..5119d9cb53a2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherPacketCapturesList.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherSecurityGroupViewGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherSecurityGroupViewGet.json new file mode 100644 index 000000000000..d65a9b81b49f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherSecurityGroupViewGet.json @@ -0,0 +1,141 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherTopologyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherTopologyGet.json new file mode 100644 index 000000000000..44b399b85a4f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherTopologyGet.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherTroubleshootGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherTroubleshootGet.json new file mode 100644 index 000000000000..d6cb768f0d58 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherTroubleshootGet.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherTroubleshootResultQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherTroubleshootResultQuery.json new file mode 100644 index 000000000000..48d281e3ba16 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherTroubleshootResultQuery.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/NetworkWatcherUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherUpdateTags.json new file mode 100644 index 000000000000..4739c5f140a3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/NetworkWatcherUpdateTags.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/OperationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/OperationList.json new file mode 100644 index 000000000000..bfd7ac8c3ab6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/OperationList.json @@ -0,0 +1,137 @@ +{ + "parameters": { + "location": "westus", + "api-version": "2020-05-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-05-01/examples/P2SVpnGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/P2SVpnGatewayDelete.json new file mode 100644 index 000000000000..f111a55fe7a7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/P2SVpnGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2020-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/P2SVpnGatewayGenerateVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/P2SVpnGatewayGenerateVpnProfile.json new file mode 100644 index 000000000000..6d2b662ea009 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/P2SVpnGatewayGenerateVpnProfile.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/P2SVpnGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/P2SVpnGatewayGet.json new file mode 100644 index 000000000000..b629a16ea26f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/P2SVpnGatewayGet.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2020-05-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" + ] + } + } + } + ], + "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-05-01/examples/P2SVpnGatewayGetConnectionHealth.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/P2SVpnGatewayGetConnectionHealth.json new file mode 100644 index 000000000000..828f61f639a0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/P2SVpnGatewayGetConnectionHealth.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2020-05-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" + ] + } + } + } + ], + "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-05-01/examples/P2SVpnGatewayGetConnectionHealthDetailed.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/P2SVpnGatewayGetConnectionHealthDetailed.json new file mode 100644 index 000000000000..9ffe068b8227 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/P2SVpnGatewayGetConnectionHealthDetailed.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "p2s-vpn-gateway-test", + "gatewayName": "p2svpngateway", + "api-version": "2020-05-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-05-01/examples/P2SVpnGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/P2SVpnGatewayList.json new file mode 100644 index 000000000000..15452a793508 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/P2SVpnGatewayList.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "api-version": "2020-05-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" + ] + } + } + } + ], + "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" + ] + } + } + } + ], + "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-05-01/examples/P2SVpnGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/P2SVpnGatewayListByResourceGroup.json new file mode 100644 index 000000000000..b697e300f02f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/P2SVpnGatewayListByResourceGroup.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "api-version": "2020-05-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" + ] + } + } + } + ], + "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" + ] + } + } + } + ], + "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-05-01/examples/P2SVpnGatewayPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/P2SVpnGatewayPut.json new file mode 100644 index 000000000000..cd85626cf577 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/P2SVpnGatewayPut.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2020-05-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" + ] + } + } + } + ], + "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" + ] + } + } + } + ], + "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-05-01/examples/P2SVpnGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/P2SVpnGatewayUpdateTags.json new file mode 100644 index 000000000000..3886b46480ff --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/P2SVpnGatewayUpdateTags.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2020-05-01", + "subscriptionId": "subid", + "p2SVpnGatewayParameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "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", + "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" + ] + } + } + } + ], + "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-05-01/examples/P2sVpnGatewaysDisconnectP2sVpnConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/P2sVpnGatewaysDisconnectP2sVpnConnections.json new file mode 100644 index 000000000000..01c7951601b8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/P2sVpnGatewaysDisconnectP2sVpnConnections.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "p2s-vpn-gateway-test", + "p2sVpnGatewayName": "p2svpngateway", + "api-version": "2020-05-01", + "request": { + "vpnConnectionIds": [ + "vpnconnId1", + "vpnconnId2" + ] + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PeerExpressRouteCircuitConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PeerExpressRouteCircuitConnectionGet.json new file mode 100644 index 000000000000..252169e5a784 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PeerExpressRouteCircuitConnectionGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "connectionName": "60aee347-e889-4a42-8c1b-0aae8b1e4013", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/PeerExpressRouteCircuitConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PeerExpressRouteCircuitConnectionList.json new file mode 100644 index 000000000000..358b9caf9470 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PeerExpressRouteCircuitConnectionList.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/PrivateEndpointCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateEndpointCreate.json new file mode 100644 index 000000000000..39ef52e2e27d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateEndpointCreate.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PrivateEndpointCreateForManualApproval.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateEndpointCreateForManualApproval.json new file mode 100644 index 000000000000..441f483c3750 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateEndpointCreateForManualApproval.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PrivateEndpointDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateEndpointDelete.json new file mode 100644 index 000000000000..c7ca1aca4ffe --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateEndpointDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateEndpointDnsZoneGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateEndpointDnsZoneGroupCreate.json new file mode 100644 index 000000000000..cae145e95d27 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateEndpointDnsZoneGroupCreate.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PrivateEndpointDnsZoneGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateEndpointDnsZoneGroupDelete.json new file mode 100644 index 000000000000..22268fc9ee35 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateEndpointDnsZoneGroupDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe", + "privateDnsZoneGroupName": "testPdnsgroup" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateEndpointDnsZoneGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateEndpointDnsZoneGroupGet.json new file mode 100644 index 000000000000..a8ad98013e19 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateEndpointDnsZoneGroupGet.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PrivateEndpointDnsZoneGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateEndpointDnsZoneGroupList.json new file mode 100644 index 000000000000..c737c03e6d19 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateEndpointDnsZoneGroupList.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PrivateEndpointGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateEndpointGet.json new file mode 100644 index 000000000000..3526918c0227 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateEndpointGet.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PrivateEndpointGetForManualApproval.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateEndpointGetForManualApproval.json new file mode 100644 index 000000000000..2d20a46d3899 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateEndpointGetForManualApproval.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PrivateEndpointList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateEndpointList.json new file mode 100644 index 000000000000..21208347dd46 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateEndpointList.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PrivateEndpointListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateEndpointListAll.json new file mode 100644 index 000000000000..0182a0824dfa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateEndpointListAll.json @@ -0,0 +1,156 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PrivateLinkServiceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateLinkServiceCreate.json new file mode 100644 index 000000000000..a42ff2ee8256 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateLinkServiceCreate.json @@ -0,0 +1,155 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PrivateLinkServiceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateLinkServiceDelete.json new file mode 100644 index 000000000000..4c3fb1f375c7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateLinkServiceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..d0d86d85052d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls", + "peConnectionName": "testPlePeConnection" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateLinkServiceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateLinkServiceGet.json new file mode 100644 index 000000000000..e4c7252eba49 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateLinkServiceGet.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PrivateLinkServiceGetPrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateLinkServiceGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..07a447b34806 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateLinkServiceGetPrivateEndpointConnection.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PrivateLinkServiceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateLinkServiceList.json new file mode 100644 index 000000000000..f620c958dfff --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateLinkServiceList.json @@ -0,0 +1,141 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PrivateLinkServiceListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateLinkServiceListAll.json new file mode 100644 index 000000000000..82e4e3adca6a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateLinkServiceListAll.json @@ -0,0 +1,142 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PrivateLinkServiceListPrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateLinkServiceListPrivateEndpointConnection.json new file mode 100644 index 000000000000..3e5e12598603 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateLinkServiceListPrivateEndpointConnection.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json new file mode 100644 index 000000000000..d4c5ba4e6b15 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PublicIpAddressCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpAddressCreateCustomizedValues.json new file mode 100644 index 000000000000..16312085e115 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpAddressCreateCustomizedValues.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PublicIpAddressCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpAddressCreateDefaults.json new file mode 100644 index 000000000000..f350d53490f8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpAddressCreateDefaults.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PublicIpAddressCreateDns.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpAddressCreateDns.json new file mode 100644 index 000000000000..9f1c5c3b8967 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpAddressCreateDns.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PublicIpAddressDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpAddressDelete.json new file mode 100644 index 000000000000..2c3b29ebfe3a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpAddressDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpAddressName": "test-ip" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpAddressGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpAddressGet.json new file mode 100644 index 000000000000..96e97833274e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpAddressGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PublicIpAddressList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpAddressList.json new file mode 100644 index 000000000000..09051b9aa093 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpAddressList.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PublicIpAddressListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpAddressListAll.json new file mode 100644 index 000000000000..d91c92e4175b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpAddressListAll.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PublicIpAddressUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpAddressUpdateTags.json new file mode 100644 index 000000000000..6dbf4fe08443 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpAddressUpdateTags.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PublicIpPrefixCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpPrefixCreateCustomizedValues.json new file mode 100644 index 000000000000..538c1f659933 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpPrefixCreateCustomizedValues.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PublicIpPrefixCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpPrefixCreateDefaults.json new file mode 100644 index 000000000000..6f278d6f8be7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpPrefixCreateDefaults.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PublicIpPrefixDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpPrefixDelete.json new file mode 100644 index 000000000000..122a464b27e6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpPrefixDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpPrefixName": "test-ipprefix" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpPrefixGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpPrefixGet.json new file mode 100644 index 000000000000..cec0625f2de4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpPrefixGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PublicIpPrefixList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpPrefixList.json new file mode 100644 index 000000000000..7b8db88158c5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpPrefixList.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PublicIpPrefixListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpPrefixListAll.json new file mode 100644 index 000000000000..49a40be2b32c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpPrefixListAll.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/PublicIpPrefixUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpPrefixUpdateTags.json new file mode 100644 index 000000000000..47ca5d005b9a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/PublicIpPrefixUpdateTags.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/RouteFilterCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteFilterCreate.json new file mode 100644 index 000000000000..996ea0db2611 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteFilterCreate.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/RouteFilterDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteFilterDelete.json new file mode 100644 index 000000000000..5f3c99802cb6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteFilterDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2020-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteFilterGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteFilterGet.json new file mode 100644 index 000000000000..e08f4a5ad0b1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteFilterGet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/RouteFilterList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteFilterList.json new file mode 100644 index 000000000000..20ab386f07ce --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteFilterList.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/RouteFilterListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteFilterListByResourceGroup.json new file mode 100644 index 000000000000..a68218c39406 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteFilterListByResourceGroup.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/RouteFilterRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteFilterRuleCreate.json new file mode 100644 index 000000000000..7ead45178944 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteFilterRuleCreate.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "ruleName": "ruleName", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/RouteFilterRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteFilterRuleDelete.json new file mode 100644 index 000000000000..638dbb7ce658 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteFilterRuleDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "ruleName": "ruleName", + "resourceGroupName": "rg1", + "api-version": "2020-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteFilterRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteFilterRuleGet.json new file mode 100644 index 000000000000..45355069f1a4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteFilterRuleGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "ruleName": "filterName", + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/RouteFilterRuleListByRouteFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteFilterRuleListByRouteFilter.json new file mode 100644 index 000000000000..65fcfc060384 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteFilterRuleListByRouteFilter.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/RouteFilterUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteFilterUpdateTags.json new file mode 100644 index 000000000000..3c6d28aa4216 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteFilterUpdateTags.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/RouteTableCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteTableCreate.json new file mode 100644 index 000000000000..961b1aef5e3f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteTableCreate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/RouteTableCreateWithRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteTableCreateWithRoute.json new file mode 100644 index 000000000000..9ac7e6e54583 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteTableCreateWithRoute.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/RouteTableDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteTableDelete.json new file mode 100644 index 000000000000..b72e6d6bc177 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteTableDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "routeTableName": "testrt" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteTableGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteTableGet.json new file mode 100644 index 000000000000..1d178cc0d384 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteTableGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/RouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteTableList.json new file mode 100644 index 000000000000..2be2cff72f14 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteTableList.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/RouteTableListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteTableListAll.json new file mode 100644 index 000000000000..fd8775d702f7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteTableListAll.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/RouteTableRouteCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteTableRouteCreate.json new file mode 100644 index 000000000000..274d607c85fd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteTableRouteCreate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/RouteTableRouteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteTableRouteDelete.json new file mode 100644 index 000000000000..2869de543100 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteTableRouteDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "routeTableName": "testrt", + "routeName": "route1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteTableRouteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteTableRouteGet.json new file mode 100644 index 000000000000..659f2c08dc4e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteTableRouteGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/RouteTableRouteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteTableRouteList.json new file mode 100644 index 000000000000..65ad078fb356 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteTableRouteList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/RouteTableUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteTableUpdateTags.json new file mode 100644 index 000000000000..ea1b0524f3ad --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/RouteTableUpdateTags.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/SecurityPartnerProviderDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SecurityPartnerProviderDelete.json new file mode 100644 index 000000000000..e6eb47dadbb6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SecurityPartnerProviderDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "securityPartnerProviderName": "securityPartnerProvider" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SecurityPartnerProviderGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SecurityPartnerProviderGet.json new file mode 100644 index 000000000000..9aa35b6ab1f6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SecurityPartnerProviderGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/SecurityPartnerProviderListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SecurityPartnerProviderListByResourceGroup.json new file mode 100644 index 000000000000..b6233d5575a7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SecurityPartnerProviderListByResourceGroup.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/SecurityPartnerProviderListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SecurityPartnerProviderListBySubscription.json new file mode 100644 index 000000000000..67e9f2d659be --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SecurityPartnerProviderListBySubscription.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/SecurityPartnerProviderPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SecurityPartnerProviderPut.json new file mode 100644 index 000000000000..410274f8bf31 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SecurityPartnerProviderPut.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/SecurityPartnerProviderUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SecurityPartnerProviderUpdateTags.json new file mode 100644 index 000000000000..10316e09642b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SecurityPartnerProviderUpdateTags.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ServiceCommunityList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceCommunityList.json new file mode 100644 index 000000000000..eea3a1c58726 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceCommunityList.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ServiceEndpointPolicyCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceEndpointPolicyCreate.json new file mode 100644 index 000000000000..f32251e5cdb9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceEndpointPolicyCreate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ServiceEndpointPolicyCreateWithDefinition.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceEndpointPolicyCreateWithDefinition.json new file mode 100644 index 000000000000..9666a141fef4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceEndpointPolicyCreateWithDefinition.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ServiceEndpointPolicyDefinitionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceEndpointPolicyDefinitionCreate.json new file mode 100644 index 000000000000..9dcbf839f5f5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceEndpointPolicyDefinitionCreate.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ServiceEndpointPolicyDefinitionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceEndpointPolicyDefinitionDelete.json new file mode 100644 index 000000000000..32c20c947a55 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceEndpointPolicyDefinitionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "serviceEndpointPolicyName": "testPolicy", + "serviceEndpointPolicyDefinitionName": "testDefinition" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceEndpointPolicyDefinitionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceEndpointPolicyDefinitionGet.json new file mode 100644 index 000000000000..1bf128424757 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceEndpointPolicyDefinitionGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ServiceEndpointPolicyDefinitionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceEndpointPolicyDefinitionList.json new file mode 100644 index 000000000000..5b5d859628cb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceEndpointPolicyDefinitionList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ServiceEndpointPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceEndpointPolicyDelete.json new file mode 100644 index 000000000000..6b4465ec70a3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceEndpointPolicyDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "serviceEndpointPolicyName": "serviceEndpointPolicy1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceEndpointPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceEndpointPolicyGet.json new file mode 100644 index 000000000000..3fd273a2daba --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceEndpointPolicyGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ServiceEndpointPolicyList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceEndpointPolicyList.json new file mode 100644 index 000000000000..e84480205644 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceEndpointPolicyList.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ServiceEndpointPolicyListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceEndpointPolicyListAll.json new file mode 100644 index 000000000000..a4f90a94ce3a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceEndpointPolicyListAll.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ServiceEndpointPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceEndpointPolicyUpdateTags.json new file mode 100644 index 000000000000..57529ae19064 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceEndpointPolicyUpdateTags.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/ServiceTagsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceTagsList.json new file mode 100644 index 000000000000..bfced3013a16 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/ServiceTagsList.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/SubnetCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SubnetCreate.json new file mode 100644 index 000000000000..afabbf864264 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SubnetCreate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2020-05-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-05-01/examples/SubnetCreateServiceEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SubnetCreateServiceEndpoint.json new file mode 100644 index 000000000000..e9f98d46697a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SubnetCreateServiceEndpoint.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2020-05-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-05-01/examples/SubnetCreateWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SubnetCreateWithDelegation.json new file mode 100644 index 000000000000..8f6702136693 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SubnetCreateWithDelegation.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2020-05-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-05-01/examples/SubnetDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SubnetDelete.json new file mode 100644 index 000000000000..b34fa404daf9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SubnetDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2020-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SubnetGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SubnetGet.json new file mode 100644 index 000000000000..cf4439bcf578 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SubnetGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2020-05-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-05-01/examples/SubnetGetWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SubnetGetWithDelegation.json new file mode 100644 index 000000000000..d657cd002eae --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SubnetGetWithDelegation.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2020-05-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-05-01/examples/SubnetList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SubnetList.json new file mode 100644 index 000000000000..714b9de07ead --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SubnetList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2020-05-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-05-01/examples/SubnetPrepareNetworkPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SubnetPrepareNetworkPolicies.json new file mode 100644 index 000000000000..df50d4649b8b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SubnetPrepareNetworkPolicies.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/SubnetUnprepareNetworkPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SubnetUnprepareNetworkPolicies.json new file mode 100644 index 000000000000..26ce5cf24993 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/SubnetUnprepareNetworkPolicies.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/UsageList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/UsageList.json new file mode 100644 index 000000000000..1b8eecdb0d4c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/UsageList.json @@ -0,0 +1,265 @@ +{ + "parameters": { + "location": "westus", + "api-version": "2020-05-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-05-01/examples/UsageListSpacedLocation.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/UsageListSpacedLocation.json new file mode 100644 index 000000000000..c532d31fa4bb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/UsageListSpacedLocation.json @@ -0,0 +1,335 @@ +{ + "parameters": { + "location": "West US", + "api-version": "2020-05-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-05-01/examples/VirtualHubBgpConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubBgpConnectionDelete.json new file mode 100644 index 000000000000..a56c207b73b6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubBgpConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "connectionName": "conn1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "hub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubBgpConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubBgpConnectionGet.json new file mode 100644 index 000000000000..4c7376e78ea8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubBgpConnectionGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualHubBgpConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubBgpConnectionList.json new file mode 100644 index 000000000000..11b6200399f4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubBgpConnectionList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualHubBgpConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubBgpConnectionPut.json new file mode 100644 index 000000000000..977a6ea53a9c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubBgpConnectionPut.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualHubDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubDelete.json new file mode 100644 index 000000000000..39372222539c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2020-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubGet.json new file mode 100644 index 000000000000..1b6e7f1f9996 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2020-05-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" + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubIpConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubIpConfigurationDelete.json new file mode 100644 index 000000000000..f8bb5ad29ce3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubIpConfigurationDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "ipConfigName": "ipconfig1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "hub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubIpConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubIpConfigurationGet.json new file mode 100644 index 000000000000..453bd31142f3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubIpConfigurationGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualHubIpConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubIpConfigurationList.json new file mode 100644 index 000000000000..96ac9c19ba94 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubIpConfigurationList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualHubIpConfigurationPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubIpConfigurationPut.json new file mode 100644 index 000000000000..6f8312ac3bb0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubIpConfigurationPut.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualHubList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubList.json new file mode 100644 index 000000000000..cc70f0ad9c14 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubList.json @@ -0,0 +1,128 @@ +{ + "parameters": { + "api-version": "2020-05-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" + ] + } + }, + { + "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-05-01/examples/VirtualHubListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubListByResourceGroup.json new file mode 100644 index 000000000000..463ebef48942 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubListByResourceGroup.json @@ -0,0 +1,129 @@ +{ + "parameters": { + "api-version": "2020-05-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" + ] + } + }, + { + "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-05-01/examples/VirtualHubPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubPut.json new file mode 100644 index 000000000000..31c37a35ab10 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubPut.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "virtualHubName": "virtualHub2", + "resourceGroupName": "rg1", + "api-version": "2020-05-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" + ] + } + } + }, + "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" + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubRouteTableV2Delete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubRouteTableV2Delete.json new file mode 100644 index 000000000000..9d9870240eb9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubRouteTableV2Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "routeTableName": "virtualHubRouteTable1a", + "resourceGroupName": "rg1", + "api-version": "2020-05-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubRouteTableV2Get.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubRouteTableV2Get.json new file mode 100644 index 000000000000..cfd32a10eeb4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubRouteTableV2Get.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "routeTableName": "virtualHubRouteTable1a", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/VirtualHubRouteTableV2List.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubRouteTableV2List.json new file mode 100644 index 000000000000..b7cf16db18c7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubRouteTableV2List.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/VirtualHubRouteTableV2Put.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubRouteTableV2Put.json new file mode 100644 index 000000000000..06124c7290c8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubRouteTableV2Put.json @@ -0,0 +1,113 @@ +{ + "parameters": { + "routeTableName": "virtualHubRouteTable1a", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/VirtualHubUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubUpdateTags.json new file mode 100644 index 000000000000..72a7db146924 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualHubUpdateTags.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "virtualHubName": "virtualHub2", + "resourceGroupName": "rg1", + "api-version": "2020-05-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" + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkCheckIPAddressAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkCheckIPAddressAvailability.json new file mode 100644 index 000000000000..d89101271f1f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkCheckIPAddressAvailability.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkCreate.json new file mode 100644 index 000000000000..be97d876f576 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkCreate.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json new file mode 100644 index 000000000000..9b12ba956514 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkCreateServiceEndpoints.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkCreateServiceEndpoints.json new file mode 100644 index 000000000000..476c4ca14910 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkCreateServiceEndpoints.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkCreateSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkCreateSubnet.json new file mode 100644 index 000000000000..148049a18f46 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkCreateSubnet.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json new file mode 100644 index 000000000000..2fa784d6cfd1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkCreateSubnetWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkCreateSubnetWithDelegation.json new file mode 100644 index 000000000000..c3a61b25aa0f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkCreateSubnetWithDelegation.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkCreateWithBgpCommunities.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkCreateWithBgpCommunities.json new file mode 100644 index 000000000000..5e396f22f25e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkCreateWithBgpCommunities.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "api-version": "2020-05-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:60000" + } + }, + "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:60000", + "regionalCommunity": "12076:51004" + }, + "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:60000", + "regionalCommunity": "12076:51004" + }, + "virtualNetworkPeerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkDelete.json new file mode 100644 index 000000000000..ce2bbadd62bc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayConnectionCreate.json new file mode 100644 index 000000000000..587e9b40d99e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayConnectionCreate.json @@ -0,0 +1,136 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkGatewayConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayConnectionDelete.json new file mode 100644 index 000000000000..bb8f57ec60e2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayConnectionDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "conn1" + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayConnectionGet.json new file mode 100644 index 000000000000..383005693dff --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayConnectionGet.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json new file mode 100644 index 000000000000..f226f60f1626 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "connS2S" + }, + "responses": { + "200": { + "body": { + "value": "AzureAbc123" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json new file mode 100644 index 000000000000..d97aae22dd0f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json new file mode 100644 index 000000000000..a5b706e0302e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json new file mode 100644 index 000000000000..10c680865274 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json new file mode 100644 index 000000000000..ac8a3ce10530 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json new file mode 100644 index 000000000000..8e2346611f9c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json new file mode 100644 index 000000000000..e447ba65493e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkGatewayConnectionsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayConnectionsList.json new file mode 100644 index 000000000000..b514713ba102 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayConnectionsList.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayDelete.json new file mode 100644 index 000000000000..184c7a109c56 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json new file mode 100644 index 000000000000..713f40b9f589 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw", + "parameters": {} + }, + "responses": { + "200": { + "body": "" + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json new file mode 100644 index 000000000000..ce6e26d1a501 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw", + "parameters": {} + }, + "responses": { + "202": {}, + "200": { + "body": "" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayGet.json new file mode 100644 index 000000000000..22f878ab6687 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayGet.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json new file mode 100644 index 000000000000..fd5a5ef47ae2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw", + "peer": "test" + }, + "responses": { + "202": {}, + "200": { + "body": {} + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json new file mode 100644 index 000000000000..87081aacbbdf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "202": {}, + "200": { + "body": {} + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json new file mode 100644 index 000000000000..44401cadd45e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json new file mode 100644 index 000000000000..4f317fe2fdf0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "202": {}, + "200": { + "body": "" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json new file mode 100644 index 000000000000..74c3781c361c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "resourceGroupName": "p2s-vnet-test", + "api-version": "2020-05-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-05-01/examples/VirtualNetworkGatewayLearnedRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayLearnedRoutes.json new file mode 100644 index 000000000000..87081aacbbdf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayLearnedRoutes.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "202": {}, + "200": { + "body": {} + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayList.json new file mode 100644 index 000000000000..8bd1534edc44 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayList.json @@ -0,0 +1,132 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkGatewayReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayReset.json new file mode 100644 index 000000000000..1f11142e04fa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayReset.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json new file mode 100644 index 000000000000..97b036546e24 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "202": {}, + "200": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json new file mode 100644 index 000000000000..c9b68ff2c411 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkGatewayStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayStartPacketCapture.json new file mode 100644 index 000000000000..666f521f9f99 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayStartPacketCapture.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json new file mode 100644 index 000000000000..936241c12e0f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkGatewayStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayStopPacketCapture.json new file mode 100644 index 000000000000..c508950ae837 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayStopPacketCapture.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json new file mode 100644 index 000000000000..035e321ba0fe --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "200": { + "body": "" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayUpdate.json new file mode 100644 index 000000000000..1f8fc3ce63e3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayUpdate.json @@ -0,0 +1,220 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayUpdateTags.json new file mode 100644 index 000000000000..13f93e14c43b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayUpdateTags.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json new file mode 100644 index 000000000000..67ccd1c2e3e2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkGatewaysDisconnectP2sVpnConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewaysDisconnectP2sVpnConnections.json new file mode 100644 index 000000000000..6f9f669e83b8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewaysDisconnectP2sVpnConnections.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "vpn-gateway-test", + "virtualNetworkGatewayName": "vpngateway", + "api-version": "2020-05-01", + "request": { + "vpnConnectionIds": [ + "vpnconnId1", + "vpnconnId2" + ] + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewaysListConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewaysListConnections.json new file mode 100644 index 000000000000..f4d14545f011 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGatewaysListConnections.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "virtualNetworkGatewayName": "test-vpn-gateway-1", + "api-version": "2020-05-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-05-01/examples/VirtualNetworkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGet.json new file mode 100644 index 000000000000..add9d2aa19ab --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkGetResourceNavigationLinks.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGetResourceNavigationLinks.json new file mode 100644 index 000000000000..78c77964215c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGetResourceNavigationLinks.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkGetServiceAssociationLinks.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGetServiceAssociationLinks.json new file mode 100644 index 000000000000..357b79b92cd8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGetServiceAssociationLinks.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkGetWithServiceAssociationLink.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGetWithServiceAssociationLink.json new file mode 100644 index 000000000000..7f71984c32cb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGetWithServiceAssociationLink.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkGetWithSubnetDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGetWithSubnetDelegation.json new file mode 100644 index 000000000000..340c3753885c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGetWithSubnetDelegation.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkList.json new file mode 100644 index 000000000000..7817f88541c2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkList.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkListAll.json new file mode 100644 index 000000000000..323e279bc67d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkListAll.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkListUsage.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkListUsage.json new file mode 100644 index 000000000000..87b5e67289d6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkListUsage.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "virtualNetworkName": "vnetName", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/VirtualNetworkPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkPeeringCreate.json new file mode 100644 index 000000000000..b877579ac1e7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkPeeringCreate.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2020-05-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" + ] + }, + "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" + ] + }, + "peeringState": "Initiated", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkPeeringDelete.json new file mode 100644 index 000000000000..2b27464bf9d9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkPeeringDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2020-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkPeeringGet.json new file mode 100644 index 000000000000..6cce10d5f23e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkPeeringGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2020-05-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" + ] + }, + "peeringState": "Initiated", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkPeeringList.json new file mode 100644 index 000000000000..72ef23a871a2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkPeeringList.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2020-05-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" + ] + }, + "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" + ] + }, + "peeringState": "Initiated", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkTapCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkTapCreate.json new file mode 100644 index 000000000000..930094b792b1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkTapCreate.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkTapDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkTapDelete.json new file mode 100644 index 000000000000..ca1475bea030 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkTapDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "tapName": "test-vtap" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkTapGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkTapGet.json new file mode 100644 index 000000000000..bfac277570eb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkTapGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkTapList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkTapList.json new file mode 100644 index 000000000000..a64c0efbddc1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkTapList.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkTapListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkTapListAll.json new file mode 100644 index 000000000000..a59c6188378d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkTapListAll.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkTapUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkTapUpdateTags.json new file mode 100644 index 000000000000..a1d3b32bfdb1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkTapUpdateTags.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualNetworkUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkUpdateTags.json new file mode 100644 index 000000000000..cdfe547f2f19 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkUpdateTags.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualRouterDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualRouterDelete.json new file mode 100644 index 000000000000..81d225e49a5f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualRouterDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualRouterGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualRouterGet.json new file mode 100644 index 000000000000..ec65131fd9b3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualRouterGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualRouterListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualRouterListByResourceGroup.json new file mode 100644 index 000000000000..672df08f4c6b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualRouterListByResourceGroup.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualRouterListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualRouterListBySubscription.json new file mode 100644 index 000000000000..5b3012d99c36 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualRouterListBySubscription.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualRouterPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualRouterPeeringDelete.json new file mode 100644 index 000000000000..cd752a64b7cd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualRouterPeeringDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "peeringName": "peering1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualRouterPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualRouterPeeringGet.json new file mode 100644 index 000000000000..effc5a1ef804 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualRouterPeeringGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualRouterPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualRouterPeeringList.json new file mode 100644 index 000000000000..4a58a391647b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualRouterPeeringList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualRouterPeeringPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualRouterPeeringPut.json new file mode 100644 index 000000000000..a8da4bd2fadc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualRouterPeeringPut.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualRouterPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualRouterPut.json new file mode 100644 index 000000000000..3ee6e28e4b0a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualRouterPut.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualWANDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualWANDelete.json new file mode 100644 index 000000000000..83bc6505c745 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualWANDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "VirtualWANName": "virtualWan1", + "resourceGroupName": "rg1", + "api-version": "2020-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualWANGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualWANGet.json new file mode 100644 index 000000000000..8245aca06416 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualWANGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "VirtualWANName": "wan1", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/VirtualWANList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualWANList.json new file mode 100644 index 000000000000..54cb1d00e497 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualWANList.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualWANListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualWANListByResourceGroup.json new file mode 100644 index 000000000000..d53975e668da --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualWANListByResourceGroup.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VirtualWANPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualWANPut.json new file mode 100644 index 000000000000..115bdaecedcc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualWANPut.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "VirtualWANName": "wan1", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/VirtualWANUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualWANUpdateTags.json new file mode 100644 index 000000000000..e2960c92b9ed --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualWANUpdateTags.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "VirtualWANName": "wan1", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/VirtualWanSupportedSecurityProviders.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualWanSupportedSecurityProviders.json new file mode 100644 index 000000000000..801958bb311c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualWanSupportedSecurityProviders.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/VmssNetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VmssNetworkInterfaceGet.json new file mode 100644 index 000000000000..146f80e3d7f4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-05-01/examples/VmssNetworkInterfaceIpConfigGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VmssNetworkInterfaceIpConfigGet.json new file mode 100644 index 000000000000..5b7c23b7b56b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-05-01/examples/VmssNetworkInterfaceIpConfigList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VmssNetworkInterfaceIpConfigList.json new file mode 100644 index 000000000000..e14de4e82a72 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-05-01/examples/VmssNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VmssNetworkInterfaceList.json new file mode 100644 index 000000000000..0ec937148391 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-05-01/examples/VmssPublicIpGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VmssPublicIpGet.json new file mode 100644 index 000000000000..229c15712a0d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-05-01/examples/VmssPublicIpListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VmssPublicIpListAll.json new file mode 100644 index 000000000000..605e0b831869 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-05-01/examples/VmssVmNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VmssVmNetworkInterfaceList.json new file mode 100644 index 000000000000..e4f1cbf14ebf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-05-01/examples/VmssVmPublicIpList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VmssVmPublicIpList.json new file mode 100644 index 000000000000..d21f5d40ed03 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-05-01/examples/VpnConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnConnectionDelete.json new file mode 100644 index 000000000000..f04ae3db84e0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "connectionName": "vpnConnection1", + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2020-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnConnectionGet.json new file mode 100644 index 000000000000..9b206e6a1c92 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnConnectionGet.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "connectionName": "vpnConnection1", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/VpnConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnConnectionList.json new file mode 100644 index 000000000000..d023c6599860 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnConnectionList.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "api-version": "2020-05-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-05-01/examples/VpnConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnConnectionPut.json new file mode 100644 index 000000000000..d2e355d71065 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnConnectionPut.json @@ -0,0 +1,162 @@ +{ + "parameters": { + "connectionName": "vpnConnection1", + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/VpnGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnGatewayDelete.json new file mode 100644 index 000000000000..255e421cc21d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2020-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnGatewayGet.json new file mode 100644 index 000000000000..e3ff7bf8a94e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnGatewayGet.json @@ -0,0 +1,145 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/VpnGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnGatewayList.json new file mode 100644 index 000000000000..2d5fcbc616d3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnGatewayList.json @@ -0,0 +1,239 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VpnGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnGatewayListByResourceGroup.json new file mode 100644 index 000000000000..2d5fcbc616d3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnGatewayListByResourceGroup.json @@ -0,0 +1,239 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VpnGatewayPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnGatewayPut.json new file mode 100644 index 000000000000..fc11c7e67b83 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnGatewayPut.json @@ -0,0 +1,286 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/VpnGatewayReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnGatewayReset.json new file mode 100644 index 000000000000..1bb0c69b57a5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnGatewayReset.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "gatewayName": "vpngw", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/VpnGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnGatewayUpdateTags.json new file mode 100644 index 000000000000..f303c2eafd10 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnGatewayUpdateTags.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2020-05-01", + "subscriptionId": "subid", + "vpnGatewayParameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "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", + "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-05-01/examples/VpnServerConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnServerConfigurationDelete.json new file mode 100644 index 000000000000..60e37a2bfad3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnServerConfigurationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2020-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnServerConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnServerConfigurationGet.json new file mode 100644 index 000000000000..ebc7b83a50ad --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnServerConfigurationGet.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/VpnServerConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnServerConfigurationList.json new file mode 100644 index 000000000000..c3121f3b87e1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnServerConfigurationList.json @@ -0,0 +1,132 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VpnServerConfigurationListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnServerConfigurationListByResourceGroup.json new file mode 100644 index 000000000000..a41538fdb156 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnServerConfigurationListByResourceGroup.json @@ -0,0 +1,129 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VpnServerConfigurationPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnServerConfigurationPut.json new file mode 100644 index 000000000000..a72811a22fe2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnServerConfigurationPut.json @@ -0,0 +1,190 @@ +{ + "parameters": { + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/VpnServerConfigurationUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnServerConfigurationUpdateTags.json new file mode 100644 index 000000000000..7518727d1860 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnServerConfigurationUpdateTags.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/VpnSiteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnSiteDelete.json new file mode 100644 index 000000000000..da6cc56687ea --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnSiteDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "resourceGroupName": "rg1", + "api-version": "2020-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnSiteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnSiteGet.json new file mode 100644 index 000000000000..35f1a5ed3285 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnSiteGet.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/VpnSiteLinkConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnSiteLinkConnectionGet.json new file mode 100644 index 000000000000..fe18798e50fd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnSiteLinkConnectionGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "connectionName": "vpnConnection1", + "linkConnectionName": "Connection-Link1", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/VpnSiteLinkConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnSiteLinkConnectionList.json new file mode 100644 index 000000000000..fd104881fea8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnSiteLinkConnectionList.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "api-version": "2020-05-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-05-01/examples/VpnSiteLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnSiteLinkGet.json new file mode 100644 index 000000000000..11b29a591a6b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnSiteLinkGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "vpnSiteLinkName": "vpnSiteLink1", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/VpnSiteLinkListByVpnSite.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnSiteLinkListByVpnSite.json new file mode 100644 index 000000000000..63ca1c559bdd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnSiteLinkListByVpnSite.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VpnSiteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnSiteList.json new file mode 100644 index 000000000000..2092c563468d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnSiteList.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VpnSiteListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnSiteListByResourceGroup.json new file mode 100644 index 000000000000..be543f99b569 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnSiteListByResourceGroup.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/VpnSitePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnSitePut.json new file mode 100644 index 000000000000..c9011c1a7754 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnSitePut.json @@ -0,0 +1,137 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "resourceGroupName": "rg1", + "api-version": "2020-05-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 + } + } + } + ] + } + } + }, + "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-05-01/examples/VpnSiteUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnSiteUpdateTags.json new file mode 100644 index 000000000000..9974e9d1e97b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnSiteUpdateTags.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/VpnSitesConfigurationDownload.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnSitesConfigurationDownload.json new file mode 100644 index 000000000000..fb556caab7a2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VpnSitesConfigurationDownload.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "api-version": "2020-05-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-05-01/examples/WafListAllPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafListAllPolicies.json new file mode 100644 index 000000000000..32158faaedfd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafListAllPolicies.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/WafListPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafListPolicies.json new file mode 100644 index 000000000000..0faa1a7f616f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafListPolicies.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "api-version": "2020-05-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-05-01/examples/WafPolicyCreateOrUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyCreateOrUpdate.json new file mode 100644 index 000000000000..63ec90cd9645 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyCreateOrUpdate.json @@ -0,0 +1,258 @@ +{ + "parameters": { + "api-version": "2020-05-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/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyDelete.json new file mode 100644 index 000000000000..c887714443bf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "policyName": "Policy1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyGet.json new file mode 100644 index 000000000000..50555ffcb9ad --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyGet.json @@ -0,0 +1,140 @@ +{ + "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/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-05-01/expressRouteCircuit.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/expressRouteCircuit.json new file mode 100644 index 000000000000..e07eae845e71 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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.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-05-01/expressRouteCrossConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/expressRouteCrossConnection.json new file mode 100644 index 000000000000..71382d2c3b09 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/expressRouteCrossConnection.json @@ -0,0 +1,1006 @@ +{ + "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-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}/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": { + "type": "string", + "description": "The peering location of the ExpressRoute circuit." + }, + "bandwidthInMbps": { + "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-05-01/expressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/expressRoutePort.json new file mode 100644 index 000000000000..ca0543ecd149 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/expressRoutePort.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-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}/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" + } + } + } + } + }, + "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": [ + "gcm-aes-128", + "gcm-aes-256" + ], + "x-ms-enum": { + "name": "ExpressRouteLinkMacSecCipher", + "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." + } + } + } + } +} 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 new file mode 100644 index 000000000000..f15fb1e7a7b2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/firewallPolicy.json @@ -0,0 +1,1224 @@ +{ + "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-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.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." + }, + "identity": { + "$ref": "./network.json#/definitions/ManagedServiceIdentity", + "description": "The identity of the firewall policy." + } + }, + "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" + }, + "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" + } + }, + "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": { + "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." + }, + "targetUrls": { + "type": "array", + "description": "List of Urls for this rule condition.", + "items": { + "type": "string" + } + }, + "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" + } + }, + "terminateTLS": { + "type": "boolean", + "description": "Terminate TLS connections for this rule." + } + }, + "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." + }, + "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", + "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-05-01/ipAllocation.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/ipAllocation.json new file mode 100644 index 000000000000..938cc24f0e22 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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.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-05-01/ipGroups.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/ipGroups.json new file mode 100644 index 000000000000..c2768451d884 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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.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-05-01/loadBalancer.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/loadBalancer.json new file mode 100644 index 000000000000..956b50a92d18 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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.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": { + "backendIPConfigurations": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration" + }, + "description": "An array of references to IP addresses defined in network interfaces." + }, + "loadBalancerBackendAddresses": { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancerBackendAddress" + }, + "description": "An array of backend addresses." + }, + "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-05-01/natGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/natGateway.json new file mode 100644 index 000000000000..cc76e7483881 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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.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-05-01/network.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/network.json new file mode 100644 index 000000000000..94c376106518 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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": {}, + "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-05-01/networkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/networkInterface.json new file mode 100644 index 000000000000..f7bb7836ec97 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/networkInterface.json @@ -0,0 +1,1522 @@ +{ + "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-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.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." + }, + "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-05-01/networkProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/networkProfile.json new file mode 100644 index 000000000000..253b1ed8594f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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.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-05-01/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/networkSecurityGroup.json new file mode 100644 index 000000000000..59af13aae54c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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.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-05-01/networkVirtualAppliance.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/networkVirtualAppliance.json new file mode 100644 index 000000000000..e18827f2f4fb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/networkVirtualAppliance.json @@ -0,0 +1,1009 @@ +{ + "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-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.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" + } + } + } + } + }, + "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" + }, + "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" + } + }, + "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." + } + } +} 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 new file mode 100644 index 000000000000..0166ba1b75e7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/networkWatcher.json @@ -0,0 +1,4531 @@ +{ + "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-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.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" + } + }, + "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." + }, + "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." + } + }, + "required": [ + "name" + ], + "description": "Describes the connection monitor endpoint." + }, + "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." + } + }, + "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-05-01/operation.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/operation.json new file mode 100644 index 000000000000..4838cfe73f10 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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": { + "/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-05-01/privateEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/privateEndpoint.json new file mode 100644 index 000000000000..cd4c2100ed66 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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.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-05-01/privateLinkService.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/privateLinkService.json new file mode 100644 index 000000000000..cdaf84b39ac3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/privateLinkService.json @@ -0,0 +1,1068 @@ +{ + "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-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.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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "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-05-01/publicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/publicIpAddress.json new file mode 100644 index 000000000000..6759277f77a5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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.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-05-01/publicIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/publicIpPrefix.json new file mode 100644 index 000000000000..f4eac7e6aaeb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/publicIpPrefix.json @@ -0,0 +1,485 @@ +{ + "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-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.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." + }, + "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-05-01/routeFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/routeFilter.json new file mode 100644 index 000000000000..6c559bb9cffe --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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.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-05-01/routeTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/routeTable.json new file mode 100644 index 000000000000..016cf78edff2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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.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-05-01/securityPartnerProvider.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/securityPartnerProvider.json new file mode 100644 index 000000000000..237ad04f81aa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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.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-05-01/serviceCommunity.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/serviceCommunity.json new file mode 100644 index 000000000000..525af7ae8bad --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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}/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-05-01/serviceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/serviceEndpointPolicy.json new file mode 100644 index 000000000000..623bbddffcb5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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.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-05-01/serviceTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/serviceTags.json new file mode 100644 index 000000000000..ac1b66147214 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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}/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-05-01/usage.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/usage.json new file mode 100644 index 000000000000..40ab24a9fdb6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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}/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-05-01/virtualNetwork.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/virtualNetwork.json new file mode 100644 index 000000000000..783bab0768f8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/virtualNetwork.json @@ -0,0 +1,1965 @@ +{ + "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-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.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." + }, + "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-05-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/virtualNetworkGateway.json new file mode 100644 index 000000000000..6a6a29585858 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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.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-05-01/virtualNetworkTap.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/virtualNetworkTap.json new file mode 100644 index 000000000000..fcbba0c35aa6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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.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-05-01/virtualRouter.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/virtualRouter.json new file mode 100644 index 000000000000..eb8b8964ec83 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-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.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-05-01/virtualWan.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/virtualWan.json new file mode 100644 index 000000000000..6b4190ba2e50 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/virtualWan.json @@ -0,0 +1,6647 @@ +{ + "swagger": "2.0", + "info": { + "title": "VirtualWANAsAServiceManagementClient", + "description": "REST API for Azure VirtualWAN As a Service.", + "version": "2020-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.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": { + "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" + } + } + } + }, + "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": { + "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": { + "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 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 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": { + "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" + } + } + } + }, + "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}/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/{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" + } + } + }, + "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" + } + } + }, + "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." + }, + "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." + } + }, + "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." + }, + "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": "The dead peer detection timeout for a vpn connection in seconds." + }, + "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." + } + } + }, + "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": { + "type": "string" + } + }, + "propagatingConnections": { + "type": "array", + "description": "List of all connections that advertise to this route table.", + "readOnly": true, + "items": { + "type": "string" + } + }, + "provisioningState": { + "$ref": "./network.json#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioning state of the RouteTable resource." + } + }, + "description": "Parameters for RouteTable." + }, + "HubRouteTable": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/HubRouteTableProperties", + "description": "Properties of the RouteTable resource." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "RouteTable resource in a virtual hub." + }, + "HubRoute": { + "required": [ + "name", + "destinationType", + "destinations", + "nextHopType", + "nextHop" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the Route that is unique within a RouteTable. This name can be used to access this route." + }, + "destinationType": { + "type": "string", + "description": "The type of destinations (eg: CIDR, ResourceId, Service)." + }, + "destinations": { + "type": "array", + "description": "List of all destinations.", + "items": { + "type": "string" + } + }, + "nextHopType": { + "type": "string", + "description": "The type of next hop (eg: ResourceId)." + }, + "nextHop": { + "type": "string", + "description": "NextHop resource ID." + } + }, + "description": "RouteTable route." + }, + "ListHubRouteTablesResult": { + "description": "List of RouteTables and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/HubRouteTable" + }, + "description": "List of RouteTables." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "VpnSiteId": { + "properties": { + "vpnSite": { + "type": "string", + "readOnly": true, + "description": "The resource-uri of the vpn-site for which config is to be fetched." + } + }, + "description": "VpnSite Resource." + }, + "DeviceProperties": { + "properties": { + "deviceVendor": { + "type": "string", + "description": "Name of the device Vendor." + }, + "deviceModel": { + "type": "string", + "description": "Model of the device." + }, + "linkSpeedInMbps": { + "type": "integer", + "format": "int32", + "description": "Link speed." + } + }, + "description": "List of properties of the device." + }, + "VirtualWanSecurityProviders": { + "properties": { + "supportedProviders": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualWanSecurityProvider" + }, + "description": "List of VirtualWAN security providers." + } + }, + "description": "Collection of SecurityProviders." + }, + "VirtualWanSecurityProvider": { + "properties": { + "name": { + "type": "string", + "description": "Name of the security provider." + }, + "url": { + "type": "string", + "description": "Url of the security provider." + }, + "type": { + "$ref": "#/definitions/VirtualWanSecurityProviderType", + "description": "Name of the security provider." + } + }, + "description": "Collection of SecurityProviders." + }, + "VpnConnectionStatus": { + "type": "string", + "description": "The current state of the vpn connection.", + "readOnly": true, + "enum": [ + "Unknown", + "Connecting", + "Connected", + "NotConnected" + ], + "x-ms-enum": { + "name": "VpnConnectionStatus", + "modelAsString": true + } + }, + "TunnelConnectionStatus": { + "type": "string", + "description": "The current state of the tunnel.", + "readOnly": true, + "enum": [ + "Unknown", + "Connecting", + "Connected", + "NotConnected" + ], + "x-ms-enum": { + "name": "TunnelConnectionStatus", + "modelAsString": true + } + }, + "HubVirtualNetworkConnectionStatus": { + "type": "string", + "description": "The current state of the VirtualHub to vnet connection.", + "readOnly": true, + "enum": [ + "Unknown", + "Connecting", + "Connected", + "NotConnected" + ], + "x-ms-enum": { + "name": "HubVirtualNetworkConnectionStatus", + "modelAsString": true + } + }, + "OfficeTrafficCategory": { + "type": "string", + "description": "The office traffic category.", + "readOnly": true, + "enum": [ + "Optimize", + "OptimizeAndAllow", + "All", + "None" + ], + "x-ms-enum": { + "name": "OfficeTrafficCategory", + "modelAsString": true + } + }, + "VirtualWanSecurityProviderType": { + "type": "string", + "description": "The virtual wan security provider type.", + "readOnly": true, + "enum": [ + "External", + "Native" + ], + "x-ms-enum": { + "name": "VirtualWanSecurityProviderType", + "modelAsString": true + } + }, + "VpnServerConfigVpnClientRootCertificate": { + "properties": { + "name": { + "type": "string", + "description": "The certificate name." + }, + "publicCertData": { + "type": "string", + "description": "The certificate public data." + } + }, + "description": "Properties of VPN client root certificate of VpnServerConfiguration." + }, + "VpnServerConfigRadiusServerRootCertificate": { + "properties": { + "name": { + "type": "string", + "description": "The certificate name." + }, + "publicCertData": { + "type": "string", + "description": "The certificate public data." + } + }, + "description": "Properties of Radius Server root certificate of VpnServerConfiguration." + }, + "VpnServerConfigVpnClientRevokedCertificate": { + "properties": { + "name": { + "type": "string", + "description": "The certificate name." + }, + "thumbprint": { + "type": "string", + "description": "The revoked VPN client certificate thumbprint." + } + }, + "description": "Properties of the revoked VPN client certificate of VpnServerConfiguration." + }, + "VpnServerConfigRadiusClientRootCertificate": { + "properties": { + "name": { + "type": "string", + "description": "The certificate name." + }, + "thumbprint": { + "type": "string", + "description": "The Radius client root certificate thumbprint." + } + }, + "description": "Properties of the Radius client root certificate of VpnServerConfiguration." + }, + "AadAuthenticationParameters": { + "properties": { + "aadTenant": { + "type": "string", + "description": "AAD Vpn authentication parameter AAD tenant." + }, + "aadAudience": { + "type": "string", + "description": "AAD Vpn authentication parameter AAD audience." + }, + "aadIssuer": { + "type": "string", + "description": "AAD Vpn authentication parameter AAD issuer." + } + }, + "description": "AAD Vpn authentication type related parameters." + }, + "VpnServerConfigurationProperties": { + "properties": { + "name": { + "type": "string", + "description": "The name of the VpnServerConfiguration that is unique within a resource group." + }, + "vpnProtocols": { + "type": "array", + "items": { + "type": "string", + "description": "VPN protocol enabled for the VpnServerConfiguration.", + "enum": [ + "IkeV2", + "OpenVPN" + ], + "x-ms-enum": { + "name": "VpnGatewayTunnelingProtocol", + "modelAsString": true + } + }, + "description": "VPN protocols for the VpnServerConfiguration." + }, + "vpnAuthenticationTypes": { + "type": "array", + "items": { + "type": "string", + "description": "VPN authentication types enabled for the VpnServerConfiguration.", + "enum": [ + "Certificate", + "Radius", + "AAD" + ], + "x-ms-enum": { + "name": "VpnAuthenticationType", + "modelAsString": true + } + }, + "description": "VPN authentication types for the VpnServerConfiguration." + }, + "vpnClientRootCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfigVpnClientRootCertificate" + }, + "description": "VPN client root certificate of VpnServerConfiguration." + }, + "vpnClientRevokedCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfigVpnClientRevokedCertificate" + }, + "description": "VPN client revoked certificate of VpnServerConfiguration." + }, + "radiusServerRootCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfigRadiusServerRootCertificate" + }, + "description": "Radius Server root certificate of VpnServerConfiguration." + }, + "radiusClientRootCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfigRadiusClientRootCertificate" + }, + "description": "Radius client root certificate of VpnServerConfiguration." + }, + "vpnClientIpsecPolicies": { + "type": "array", + "items": { + "$ref": "./virtualNetworkGateway.json#/definitions/IpsecPolicy" + }, + "description": "VpnClientIpsecPolicies for VpnServerConfiguration." + }, + "radiusServerAddress": { + "type": "string", + "description": "The radius server address property of the VpnServerConfiguration resource for point to site client connection." + }, + "radiusServerSecret": { + "type": "string", + "description": "The radius secret property of the VpnServerConfiguration resource for point to site client connection." + }, + "radiusServers": { + "type": "array", + "items": { + "$ref": "./virtualNetworkGateway.json#/definitions/RadiusServer" + }, + "description": "Multiple Radius Server configuration for VpnServerConfiguration." + }, + "aadAuthenticationParameters": { + "$ref": "#/definitions/AadAuthenticationParameters", + "description": "The set of aad vpn authentication parameters." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + }, + "p2SVpnGateways": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/P2SVpnGateway" + }, + "description": "List of references to P2SVpnGateways." + }, + "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." + }, + "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." + } + } + }, + "VirtualHubEffectiveRouteList": { + "description": "EffectiveRoutes List.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualHubEffectiveRoute" + }, + "description": "The list of effective routes configured on the virtual hub or the specified resource." + } + } + }, + "VirtualHubEffectiveRoute": { + "description": "The effective route configured on the virtual hub or specified resource.", + "properties": { + "addressPrefixes": { + "description": "The list of address prefixes.", + "type": "array", + "items": { + "type": "string" + } + }, + "nextHops": { + "description": "The list of next hops.", + "type": "array", + "items": { + "type": "string" + } + }, + "nextHopType": { + "description": "The type of the next hop.", + "type": "string" + }, + "asPath": { + "description": "The ASPath of this route.", + "type": "string" + }, + "routeOrigin": { + "description": "The origin of this route.", + "type": "string" + } + } + }, + "EffectiveRoutesParameters": { + "description": "The parameters specifying the resource whose effective routes are being requested.", + "properties": { + "resourceId": { + "$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." + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/vmssNetworkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/vmssNetworkInterface.json new file mode 100644 index 000000000000..89562aa3062c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-05-01/vmssPublicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/vmssPublicIpAddress.json new file mode 100644 index 000000000000..d100152e7711 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-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-05-01/webapplicationfirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/webapplicationfirewall.json new file mode 100644 index 000000000000..111927abcdca --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/webapplicationfirewall.json @@ -0,0 +1,743 @@ +{ + "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/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.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..c8c9e609a2d7 100644 --- a/specification/network/resource-manager/readme.go.md +++ b/specification/network/resource-manager/readme.go.md @@ -13,6 +13,8 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-05 + - tag: package-2020-04 - tag: package-2020-03 - tag: package-2019-12 - tag: package-2019-11 @@ -45,6 +47,15 @@ batch: - tag: package-2015-05-preview ``` +### 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..d2df4bb20159 100644 --- a/specification/network/resource-manager/readme.java.md +++ b/specification/network/resource-manager/readme.java.md @@ -10,12 +10,23 @@ 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 ``` ### Java multi-api ``` yaml $(java) && $(multiapi) batch: + - tag: package-2020-05 - tag: package-2020-04 - tag: package-2020-03 - tag: package-2019-09 @@ -26,6 +37,19 @@ batch: - tag: package-2019-02 ``` +### 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 d1b7dc95d0ab..9db19ff5ac47 100644 --- a/specification/network/resource-manager/readme.md +++ b/specification/network/resource-manager/readme.md @@ -28,15 +28,67 @@ These are the global settings for the Network API. title: NetworkManagementClient description: Network Client openapi-type: arm -tag: package-2020-04 +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.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 + - 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. -```yaml $(tag) == 'package-2020-04' +``` yaml $(tag) == 'package-2020-04' input-file: - Microsoft.Network/stable/2020-04-01/applicationGateway.json - Microsoft.Network/stable/2020-04-01/applicationSecurityGroup.json @@ -84,6 +136,7 @@ input-file: - Microsoft.Network/stable/2020-04-01/vmssPublicIpAddress.json - Microsoft.Network/stable/2020-04-01/webapplicationfirewall.json ``` + ### Tag: package-2020-03 These settings apply only when `--tag=package-2020-03` is specified on the command line. @@ -1515,6 +1568,7 @@ swagger-to-sdk: after_scripts: - python ./scripts/multiapi_init_gen.py azure-mgmt-network - python ./scripts/trim_aio.py ./sdk/network/azure-mgmt-network + - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go - repo: azure-sdk-for-js diff --git a/specification/network/resource-manager/readme.python.md b/specification/network/resource-manager/readme.python.md index b76eb2ba5ee4..454c5a571d86 100644 --- a/specification/network/resource-manager/readme.python.md +++ b/specification/network/resource-manager/readme.python.md @@ -27,6 +27,7 @@ Generate all API versions currently shipped for this package ```yaml $(multiapi) && !$(track2) batch: + - tag: package-2020-05 - tag: package-2020-04 - tag: package-2020-03 - tag: package-2019-12 @@ -60,6 +61,7 @@ batch: ```yaml $(multiapi) && $(track2) clear-output-folder: true batch: + - tag: package-2020-05 - tag: package-2020-04 - tag: package-2020-03 - tag: package-2019-12 @@ -97,6 +99,19 @@ clear-output-folder: false perform-load: false ``` +### 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/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/operationalinsights/data-plane/Microsoft.OperationalInsights/preview/2017-10-01/swagger.json b/specification/operationalinsights/data-plane/Microsoft.OperationalInsights/preview/2017-10-01/swagger.json index 462cffc53362..89bfd7e9c1a1 100644 --- a/specification/operationalinsights/data-plane/Microsoft.OperationalInsights/preview/2017-10-01/swagger.json +++ b/specification/operationalinsights/data-plane/Microsoft.OperationalInsights/preview/2017-10-01/swagger.json @@ -139,7 +139,7 @@ }, "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/metadata": { "get": { - "operationId": "Get_Metadata", + "operationId": "Metadata_Get", "summary": "Gets metadata information", "description": "Retrieve the metadata information for the workspace, including its schema, functions, workspace info, categories etc.", "x-ms-examples": { @@ -177,7 +177,7 @@ } }, "post": { - "operationId": "Post_Metadata", + "operationId": "Metadata_Post", "summary": "Gets metadata information", "description": "Retrieve the metadata information for the workspace, including its schema, functions, workspace info, categories etc.", "x-ms-examples": { diff --git a/specification/operationalinsights/data-plane/Microsoft.OperationalInsights/stable/v1/OperationalInsights.json b/specification/operationalinsights/data-plane/Microsoft.OperationalInsights/stable/v1/OperationalInsights.json index 120b693a23a2..c7a54b986d00 100644 --- a/specification/operationalinsights/data-plane/Microsoft.OperationalInsights/stable/v1/OperationalInsights.json +++ b/specification/operationalinsights/data-plane/Microsoft.OperationalInsights/stable/v1/OperationalInsights.json @@ -122,7 +122,7 @@ }, "/workspaces/{workspaceId}/metadata": { "get": { - "operationId": "Get_Metadata", + "operationId": "Metadata_Get", "summary": "Gets metadata information", "description": "Retrieve the metadata information for the workspace, including its schema, functions, workspace info, categories etc.", "x-ms-examples": { @@ -151,7 +151,7 @@ } }, "post": { - "operationId": "Post_Metadata", + "operationId": "Metadata_Post", "summary": "Gets metadata information", "description": "Retrieve the metadata information for the workspace, including its schema, functions, workspace info, categories etc.", "x-ms-examples": { diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/AvailableServiceTiers.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/AvailableServiceTiers.json index 5d5a288fc4ba..7605661754f4 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/AvailableServiceTiers.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/AvailableServiceTiers.json @@ -44,7 +44,7 @@ "$ref": "./examples/WorkspacesAvailableServiceTiers.json" } }, - "operationId": "Workspaces_AvailableServiceTiers", + "operationId": "AvailableServiceTiers_ListByWorkspace", "description": "Gets the available service tiers for the workspace.", "parameters": [ { @@ -128,7 +128,6 @@ "lastSkuUpdate": { "readOnly": true, "type": "string", - "format": "date-time", "description": "Time when the sku was last updated for the workspace. Returned for the Capacity Reservation Service Tier." } } 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/DataSources.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/DataSources.json index 7f2126d9ea7c..2a89a4078fea 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/DataSources.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/DataSources.json @@ -279,7 +279,7 @@ "$ref": "#/definitions/Object", "description": "The data source properties in raw json format, each kind of data source have it's own schema." }, - "eTag": { + "etag": { "type": "string", "description": "The ETag of the data source." }, diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/SavedSearches.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/SavedSearches.json index ed78f8a3c0a7..74e3b4fc630b 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/SavedSearches.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/SavedSearches.json @@ -232,7 +232,15 @@ }, "query": { "type": "string", - "description": "The query expression for the saved search. Please see https://docs.microsoft.com/en-us/azure/log-analytics/log-analytics-search-reference for reference." + "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", @@ -256,7 +264,7 @@ }, "SavedSearch": { "properties": { - "eTag": { + "etag": { "type": "string", "description": "The ETag of the saved search." }, diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/Tables.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/Tables.json new file mode 100644 index 000000000000..cf4e21a219ef --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/Tables.json @@ -0,0 +1,241 @@ +{ + "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}/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/preview/2020-03-01-preview/Workspaces.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/Workspaces.json index e59d71422c38..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 @@ -369,6 +369,22 @@ "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": [ @@ -376,6 +392,64 @@ ], "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. -1 means unlimited." + }, + "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": { @@ -411,6 +485,10 @@ "maximum": 730, "description": "The workspace data retention in days. -1 means Unlimited retention for the Unlimited Sku. 730 days is the maximum allowed for all other Skus. " }, + "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" 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/DataSourcesCreate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataSourcesCreate.json index f5163ab10916..aa37dbcd94ce 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataSourcesCreate.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataSourcesCreate.json @@ -20,7 +20,7 @@ "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'\"", + "etag": "W/\"datetime'2017-10-01T08%3A01%3A21.2351243Z'\"", "name": "AzTestDS774", "type": "Microsoft.OperationalInsights/workspaces/datasources" } @@ -32,7 +32,7 @@ "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'\"", + "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/preview/2020-03-01-preview/examples/DataSourcesGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataSourcesGet.json index df03a4b5687d..b487e0dc26b5 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataSourcesGet.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataSourcesGet.json @@ -14,7 +14,7 @@ "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'\"", + "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/preview/2020-03-01-preview/examples/DataSourcesListByWorkspace.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataSourcesListByWorkspace.json index b24fee05304c..9b8663bd8525 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataSourcesListByWorkspace.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataSourcesListByWorkspace.json @@ -22,7 +22,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A08.5629323Z'\"", "name": "AzTestDSWE1011", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -37,7 +37,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A22.2533211Z'\"", "name": "AzTestDSWE1013", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -52,7 +52,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A04.4645698Z'\"", "name": "AzTestDSWE1020", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -67,7 +67,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A12.5871672Z'\"", "name": "AzTestDSWE1074", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -82,7 +82,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A28.9325389Z'\"", "name": "AzTestDSWE1117", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -97,7 +97,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A13.2185735Z'\"", "name": "AzTestDSWE1128", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -112,7 +112,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A22.7779289Z'\"", "name": "AzTestDSWE1176", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -127,7 +127,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A03.5114136Z'\"", "name": "AzTestDSWE1293", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -142,7 +142,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A33.6788897Z'\"", "name": "AzTestDSWE134", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -157,7 +157,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A36.2312139Z'\"", "name": "AzTestDSWE1352", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -172,7 +172,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A13.4685716Z'\"", "name": "AzTestDSWE1360", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -187,7 +187,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A19.2840543Z'\"", "name": "AzTestDSWE1382", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -202,7 +202,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A42.7070374Z'\"", "name": "AzTestDSWE1410", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -217,7 +217,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A06.8922838Z'\"", "name": "AzTestDSWE1417", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -232,7 +232,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A26.6932412Z'\"", "name": "AzTestDSWE1560", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -247,7 +247,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A07.1422661Z'\"", "name": "AzTestDSWE1618", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -262,7 +262,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A09.5980265Z'\"", "name": "AzTestDSWE1662", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -277,7 +277,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A39.6167744Z'\"", "name": "AzTestDSWE1675", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -292,7 +292,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A50.1064668Z'\"", "name": "AzTestDSWE169", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -307,7 +307,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A02.4954752Z'\"", "name": "AzTestDSWE1735", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -322,7 +322,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A08.0452997Z'\"", "name": "AzTestDSWE1742", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -337,7 +337,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A46.5966089Z'\"", "name": "AzTestDSWE1815", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -352,7 +352,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A23.6529754Z'\"", "name": "AzTestDSWE1828", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -367,7 +367,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A20.7216320Z'\"", "name": "AzTestDSWE188", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -382,7 +382,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A17.9341560Z'\"", "name": "AzTestDSWE1962", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -397,7 +397,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A17.3081821Z'\"", "name": "AzTestDSWE1997", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -412,7 +412,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A49.2918213Z'\"", "name": "AzTestDSWE2046", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -427,7 +427,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A52.4111189Z'\"", "name": "AzTestDSWE2056", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -442,7 +442,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A54.7598026Z'\"", "name": "AzTestDSWE2116", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -457,7 +457,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A07.2711237Z'\"", "name": "AzTestDSWE2142", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -472,7 +472,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A48.2064500Z'\"", "name": "AzTestDSWE22", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -487,7 +487,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A08.7849248Z'\"", "name": "AzTestDSWE2208", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -502,7 +502,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A51.3306230Z'\"", "name": "AzTestDSWE2221", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -517,7 +517,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A25.5991266Z'\"", "name": "AzTestDSWE2226", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -532,7 +532,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A15.3592513Z'\"", "name": "AzTestDSWE2231", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -547,7 +547,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A06.0641077Z'\"", "name": "AzTestDSWE2242", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -562,7 +562,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A11.7829226Z'\"", "name": "AzTestDSWE2263", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -577,7 +577,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A21.5874093Z'\"", "name": "AzTestDSWE2369", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -592,7 +592,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A06.6266574Z'\"", "name": "AzTestDSWE240", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -607,7 +607,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A23.4752361Z'\"", "name": "AzTestDSWE2423", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -622,7 +622,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A36.5611370Z'\"", "name": "AzTestDSWE2463", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -637,7 +637,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A13.7187131Z'\"", "name": "AzTestDSWE2499", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -652,7 +652,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A09.3324224Z'\"", "name": "AzTestDSWE2509", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -667,7 +667,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A29.2312540Z'\"", "name": "AzTestDSWE2541", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -682,7 +682,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A05.3117461Z'\"", "name": "AzTestDSWE2578", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -697,7 +697,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A38.5379572Z'\"", "name": "AzTestDSWE2619", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -712,7 +712,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A05.0735592Z'\"", "name": "AzTestDSWE274", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -727,7 +727,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A30.6297451Z'\"", "name": "AzTestDSWE2754", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -742,7 +742,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A05.2972963Z'\"", "name": "AzTestDSWE281", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -757,7 +757,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A33.3820072Z'\"", "name": "AzTestDSWE2818", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -772,7 +772,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A14.0876077Z'\"", "name": "AzTestDSWE2860", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -787,7 +787,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A30.9266089Z'\"", "name": "AzTestDSWE2867", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -802,7 +802,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A27.9342580Z'\"", "name": "AzTestDSWE2923", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -817,7 +817,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A44.4311007Z'\"", "name": "AzTestDSWE2979", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -832,7 +832,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A08.5349323Z'\"", "name": "AzTestDSWE3009", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -847,7 +847,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A24.9696296Z'\"", "name": "AzTestDSWE3033", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -862,7 +862,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A18.2006423Z'\"", "name": "AzTestDSWE3095", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -877,7 +877,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A38.2879169Z'\"", "name": "AzTestDSWE3114", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -892,7 +892,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A37.6889867Z'\"", "name": "AzTestDSWE3132", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -907,7 +907,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A58.9331954Z'\"", "name": "AzTestDSWE3147", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -922,7 +922,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A35.6843083Z'\"", "name": "AzTestDSWE3159", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -937,7 +937,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A17.4118415Z'\"", "name": "AzTestDSWE317", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -952,7 +952,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A35.0592573Z'\"", "name": "AzTestDSWE3175", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -967,7 +967,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A12.6247906Z'\"", "name": "AzTestDSWE3183", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -982,7 +982,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A14.4938899Z'\"", "name": "AzTestDSWE3217", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -997,7 +997,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A21.7373059Z'\"", "name": "AzTestDSWE3220", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1012,7 +1012,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A18.7785353Z'\"", "name": "AzTestDSWE3228", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1027,7 +1027,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A54.4936956Z'\"", "name": "AzTestDSWE3395", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1042,7 +1042,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A22.0032694Z'\"", "name": "AzTestDSWE3416", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1057,7 +1057,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A28.8251658Z'\"", "name": "AzTestDSWE3506", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1072,7 +1072,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A11.2153209Z'\"", "name": "AzTestDSWE3517", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1087,7 +1087,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A12.0402565Z'\"", "name": "AzTestDSWE3528", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1102,7 +1102,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A43.8027590Z'\"", "name": "AzTestDSWE3530", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1117,7 +1117,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A01.9173304Z'\"", "name": "AzTestDSWE3594", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1132,7 +1132,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A00.8990889Z'\"", "name": "AzTestDSWE3615", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1147,7 +1147,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A16.0877829Z'\"", "name": "AzTestDSWE3645", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1162,7 +1162,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A07.8068460Z'\"", "name": "AzTestDSWE3676", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1177,7 +1177,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A49.5439700Z'\"", "name": "AzTestDSWE3700", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1192,7 +1192,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A38.0363694Z'\"", "name": "AzTestDSWE3738", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1207,7 +1207,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A50.6390339Z'\"", "name": "AzTestDSWE3740", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1222,7 +1222,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A31.5203823Z'\"", "name": "AzTestDSWE3754", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1237,7 +1237,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A31.7860159Z'\"", "name": "AzTestDSWE3761", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1252,7 +1252,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A20.0966078Z'\"", "name": "AzTestDSWE3787", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1267,7 +1267,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A57.8394298Z'\"", "name": "AzTestDSWE3880", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1282,7 +1282,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A51.0806178Z'\"", "name": "AzTestDSWE3887", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1297,7 +1297,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A16.6987634Z'\"", "name": "AzTestDSWE3899", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1312,7 +1312,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A41.4223363Z'\"", "name": "AzTestDSWE3928", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1327,7 +1327,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A59.1831854Z'\"", "name": "AzTestDSWE4005", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1342,7 +1342,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A31.5314824Z'\"", "name": "AzTestDSWE4021", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1357,7 +1357,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A01.6667691Z'\"", "name": "AzTestDSWE4054", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1372,7 +1372,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A42.9581303Z'\"", "name": "AzTestDSWE406", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1387,7 +1387,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A29.4890798Z'\"", "name": "AzTestDSWE4128", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1402,7 +1402,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A00.2051432Z'\"", "name": "AzTestDSWE4140", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1417,7 +1417,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A58.3706603Z'\"", "name": "AzTestDSWE4209", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1432,7 +1432,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A23.1240354Z'\"", "name": "AzTestDSWE4216", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1447,7 +1447,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A33.5368097Z'\"", "name": "AzTestDSWE4240", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1462,7 +1462,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A30.3641074Z'\"", "name": "AzTestDSWE4279", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1477,7 +1477,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A26.3963554Z'\"", "name": "AzTestDSWE4289", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1492,7 +1492,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A47.6751803Z'\"", "name": "AzTestDSWE4317", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1507,7 +1507,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A05.8120517Z'\"", "name": "AzTestDSWE4324", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1522,7 +1522,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A04.1208323Z'\"", "name": "AzTestDSWE4362", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1537,7 +1537,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A08.3109506Z'\"", "name": "AzTestDSWE4416", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1552,7 +1552,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A48.9744951Z'\"", "name": "AzTestDSWE4424", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1567,7 +1567,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A19.0457713Z'\"", "name": "AzTestDSWE4466", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1582,7 +1582,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A15.0936374Z'\"", "name": "AzTestDSWE4467", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1597,7 +1597,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A41.9399246Z'\"", "name": "AzTestDSWE4503", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1612,7 +1612,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A27.2714771Z'\"", "name": "AzTestDSWE4521", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1627,7 +1627,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A26.7419933Z'\"", "name": "AzTestDSWE4530", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1642,7 +1642,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A37.4227966Z'\"", "name": "AzTestDSWE4600", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1657,7 +1657,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A43.5519204Z'\"", "name": "AzTestDSWE4644", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1672,7 +1672,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A51.6431386Z'\"", "name": "AzTestDSWE4694", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1687,7 +1687,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A06.0530002Z'\"", "name": "AzTestDSWE4715", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1702,7 +1702,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A24.3989962Z'\"", "name": "AzTestDSWE472", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1717,7 +1717,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A16.3706498Z'\"", "name": "AzTestDSWE4721", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1732,7 +1732,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A33.8337155Z'\"", "name": "AzTestDSWE4734", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1747,7 +1747,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A25.2712759Z'\"", "name": "AzTestDSWE4755", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1762,7 +1762,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A27.5076680Z'\"", "name": "AzTestDSWE4779", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1777,7 +1777,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A04.6828938Z'\"", "name": "AzTestDSWE4791", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1792,7 +1792,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A54.0073520Z'\"", "name": "AzTestDSWE4798", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1807,7 +1807,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A22.9077505Z'\"", "name": "AzTestDSWE480", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1822,7 +1822,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A11.7028912Z'\"", "name": "AzTestDSWE4847", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1837,7 +1837,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A04.9847854Z'\"", "name": "AzTestDSWE4876", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1852,7 +1852,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A23.4029367Z'\"", "name": "AzTestDSWE4900", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1867,7 +1867,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A34.5280091Z'\"", "name": "AzTestDSWE4918", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1882,7 +1882,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A34.2882196Z'\"", "name": "AzTestDSWE4928", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1897,7 +1897,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A33.2381803Z'\"", "name": "AzTestDSWE4930", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1912,7 +1912,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A36.8423994Z'\"", "name": "AzTestDSWE4945", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1927,7 +1927,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A08.9379456Z'\"", "name": "AzTestDSWE4967", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1942,7 +1942,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A57.5893926Z'\"", "name": "AzTestDSWE4969", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1957,7 +1957,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A19.5497139Z'\"", "name": "AzTestDSWE4983", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1972,7 +1972,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A48.4588661Z'\"", "name": "AzTestDSWE5011", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -1987,7 +1987,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A32.2694295Z'\"", "name": "AzTestDSWE5082", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2002,7 +2002,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A17.8863220Z'\"", "name": "AzTestDSWE5136", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2017,7 +2017,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A05.5484906Z'\"", "name": "AzTestDSWE5141", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2032,7 +2032,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A23.9283342Z'\"", "name": "AzTestDSWE5166", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2047,7 +2047,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A29.4970655Z'\"", "name": "AzTestDSWE5207", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2062,7 +2062,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A04.7146038Z'\"", "name": "AzTestDSWE5223", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2077,7 +2077,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A10.3237629Z'\"", "name": "AzTestDSWE5233", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2092,7 +2092,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A18.1831872Z'\"", "name": "AzTestDSWE5253", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2107,7 +2107,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A30.9049829Z'\"", "name": "AzTestDSWE5255", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2122,7 +2122,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A12.8904269Z'\"", "name": "AzTestDSWE5263", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2137,7 +2137,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A20.4543884Z'\"", "name": "AzTestDSWE5351", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2152,7 +2152,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A19.7997319Z'\"", "name": "AzTestDSWE5385", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2167,7 +2167,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A29.7703365Z'\"", "name": "AzTestDSWE5394", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2182,7 +2182,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A09.4692151Z'\"", "name": "AzTestDSWE541", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2197,7 +2197,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A15.7994161Z'\"", "name": "AzTestDSWE5439", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2212,7 +2212,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A10.3032105Z'\"", "name": "AzTestDSWE5460", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2227,7 +2227,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A24.6802546Z'\"", "name": "AzTestDSWE5479", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2242,7 +2242,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A01.1670463Z'\"", "name": "AzTestDSWE5483", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2257,7 +2257,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A37.1393156Z'\"", "name": "AzTestDSWE5486", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2272,7 +2272,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A41.1205470Z'\"", "name": "AzTestDSWE5554", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2287,7 +2287,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A20.7200407Z'\"", "name": "AzTestDSWE5559", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2302,7 +2302,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A18.4534330Z'\"", "name": "AzTestDSWE5585", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2317,7 +2317,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A40.8861587Z'\"", "name": "AzTestDSWE568", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2332,7 +2332,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A12.3059271Z'\"", "name": "AzTestDSWE5741", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2347,7 +2347,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A39.0692471Z'\"", "name": "AzTestDSWE58", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2362,7 +2362,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A16.9117573Z'\"", "name": "AzTestDSWE5810", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2377,7 +2377,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A45.4055476Z'\"", "name": "AzTestDSWE5815", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2392,7 +2392,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A55.0097893Z'\"", "name": "AzTestDSWE5858", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2407,7 +2407,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A18.9931389Z'\"", "name": "AzTestDSWE5866", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2422,7 +2422,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A59.4332080Z'\"", "name": "AzTestDSWE5888", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2437,7 +2437,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A09.7599986Z'\"", "name": "AzTestDSWE5905", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2452,7 +2452,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A10.6395291Z'\"", "name": "AzTestDSWE6027", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2467,7 +2467,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A13.7282386Z'\"", "name": "AzTestDSWE607", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2482,7 +2482,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A33.1319662Z'\"", "name": "AzTestDSWE6099", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2497,7 +2497,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A06.3186640Z'\"", "name": "AzTestDSWE6122", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2512,7 +2512,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A11.4528829Z'\"", "name": "AzTestDSWE6218", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2527,7 +2527,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A47.9407875Z'\"", "name": "AzTestDSWE622", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2542,7 +2542,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A06.3453921Z'\"", "name": "AzTestDSWE6222", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2557,7 +2557,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A21.2372832Z'\"", "name": "AzTestDSWE6240", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2572,7 +2572,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A08.2849036Z'\"", "name": "AzTestDSWE6251", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2587,7 +2587,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A02.1829375Z'\"", "name": "AzTestDSWE6274", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2602,7 +2602,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A32.3491070Z'\"", "name": "AzTestDSWE6296", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2617,7 +2617,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A22.1811938Z'\"", "name": "AzTestDSWE6301", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2632,7 +2632,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A06.7093003Z'\"", "name": "AzTestDSWE6404", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2647,7 +2647,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A05.5617435Z'\"", "name": "AzTestDSWE6406", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2662,7 +2662,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A40.2886854Z'\"", "name": "AzTestDSWE6432", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2677,7 +2677,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A35.9811949Z'\"", "name": "AzTestDSWE6439", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2692,7 +2692,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A13.1344490Z'\"", "name": "AzTestDSWE6451", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2707,7 +2707,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A10.9653354Z'\"", "name": "AzTestDSWE6486", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2722,7 +2722,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A10.0582011Z'\"", "name": "AzTestDSWE6505", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2737,7 +2737,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A52.8955201Z'\"", "name": "AzTestDSWE6514", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2752,7 +2752,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A10.9395226Z'\"", "name": "AzTestDSWE6518", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2767,7 +2767,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A24.0123335Z'\"", "name": "AzTestDSWE6537", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2782,7 +2782,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A57.3394082Z'\"", "name": "AzTestDSWE6547", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2797,7 +2797,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A33.9457044Z'\"", "name": "AzTestDSWE6556", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2812,7 +2812,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A13.4313542Z'\"", "name": "AzTestDSWE6718", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2827,7 +2827,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A35.4186784Z'\"", "name": "AzTestDSWE6724", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2842,7 +2842,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A12.3279180Z'\"", "name": "AzTestDSWE6741", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2857,7 +2857,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A24.5764501Z'\"", "name": "AzTestDSWE6796", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2872,7 +2872,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A35.2579899Z'\"", "name": "AzTestDSWE6826", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2887,7 +2887,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A34.6319483Z'\"", "name": "AzTestDSWE6829", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2902,7 +2902,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A28.5887776Z'\"", "name": "AzTestDSWE6893", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2917,7 +2917,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A16.1249736Z'\"", "name": "AzTestDSWE6974", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2932,7 +2932,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A28.3876585Z'\"", "name": "AzTestDSWE7008", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2947,7 +2947,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A29.1220764Z'\"", "name": "AzTestDSWE7014", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2962,7 +2962,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A26.0213457Z'\"", "name": "AzTestDSWE7068", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2977,7 +2977,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A21.8686663Z'\"", "name": "AzTestDSWE7080", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -2992,7 +2992,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A40.5423724Z'\"", "name": "AzTestDSWE7166", "type": "Microsoft.OperationalInsights/workspaces/datasources" }, @@ -3007,7 +3007,7 @@ ] }, "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A16.3906307Z'\"", "name": "AzTestDSWE7178", "type": "Microsoft.OperationalInsights/workspaces/datasources" } diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/SavedSearchesListByWorkspace.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/SavedSearchesListByWorkspace.json index 25158ff857e8..9240ce652512 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/SavedSearchesListByWorkspace.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/SavedSearchesListByWorkspace.json @@ -10,7 +10,7 @@ "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A15%3A41.0709875Z'\"", "properties": { "Category": " Saved Search Test Category", "DisplayName": "Create or Update Saved Search Test", diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/TablesGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/TablesGet.json new file mode 100644 index 000000000000..917972b62b21 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/TablesGet.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "resourceGroupName": "oiautorest6685", + "workspaceName": "oiautorest6685", + "api-version": "2020-03-01-preview", + "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/preview/2020-03-01-preview/examples/TablesList.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/TablesList.json new file mode 100644 index 000000000000..3cce506d888d --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/TablesList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "resourceGroupName": "oiautorest6685", + "workspaceName": "oiautorest6685", + "api-version": "2020-03-01-preview", + "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/preview/2020-03-01-preview/examples/TablesUpdate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/TablesUpdate.json new file mode 100644 index 000000000000..4005ab95a59a --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/TablesUpdate.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "resourceGroupName": "oiautorest6685", + "workspaceName": "oiautorest6685", + "api-version": "2020-03-01-preview", + "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/preview/2020-03-01-preview/examples/WorkspacesSavedSearchesCreateOrUpdate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/WorkspacesSavedSearchesCreateOrUpdate.json index d9f102616395..e9bcba71fee5 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/WorkspacesSavedSearchesCreateOrUpdate.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/WorkspacesSavedSearchesCreateOrUpdate.json @@ -7,8 +7,10 @@ "properties": { "category": "Saved Search Test Category", "displayName": "Create or Update Saved Search Test", - "query": "Heartbeat | summarize Count() by Computer", "version": 2, + "functionAlias": "heartbeat_func", + "functionParameters": "a:int=1", + "query": "Heartbeat | summarize Count() by Computer | take a", "tags": [ { "name": "Group", @@ -25,11 +27,13 @@ "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'\"", + "etag": "W/\"datetime'2017-10-02T23%3A15%3A41.0709875Z'\"", "properties": { "category": "Saved Search Test Category", "displayName": "Create or Update Saved Search Test", - "query": "Heartbeat | summarize Count() by Computer", + "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/preview/2020-03-01-preview/examples/WorkspacesSavedSearchesGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/WorkspacesSavedSearchesGet.json index 2f612b2b05e1..77a69171831c 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/WorkspacesSavedSearchesGet.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/WorkspacesSavedSearchesGet.json @@ -11,11 +11,13 @@ "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'\"", + "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", + "functionAlias": "heartbeat_func", + "functionParameters": "a:int=1", + "query": "* | measure Count() by Computer | take a", "version": 1 } } diff --git a/specification/operationalinsights/resource-manager/readme.md b/specification/operationalinsights/resource-manager/readme.md index d05cc07729fb..738ae481fc00 100644 --- a/specification/operationalinsights/resource-manager/readme.md +++ b/specification/operationalinsights/resource-manager/readme.md @@ -87,6 +87,7 @@ input-file: - Microsoft.OperationalInsights/preview/2020-03-01-preview/Schema.json - Microsoft.OperationalInsights/preview/2020-03-01-preview/SharedKeys.json - Microsoft.OperationalInsights/preview/2020-03-01-preview/WorkspacePurge.json +- Microsoft.OperationalInsights/preview/2020-03-01-preview/Tables.json ``` --- @@ -216,6 +217,7 @@ input-file: - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/Gateways.json - $(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 ``` diff --git a/specification/operationsmanagement/resource-manager/readme.az.md b/specification/operationsmanagement/resource-manager/readme.az.md new file mode 100644 index 000000000000..f6bd8709068c --- /dev/null +++ b/specification/operationsmanagement/resource-manager/readme.az.md @@ -0,0 +1,25 @@ +## AZ + +These settings apply only when `--az` is specified on the command line. + +``` yaml $(az) +az: + extensions: operationsmanagement + namespace: azure.mgmt.operationsmanagement + package-name: azure-mgmt-operationsmanagement +az-output-folder: $(azure-cli-extension-folder)/src/operationsmanagement +python-sdk-output-folder: "$(az-output-folder)/azext_operationsmanagement/vendored_sdks/operationsmanagement" +directive: + - from: OperationsManagement.json + where: $.parameters.ProviderNameParameter + transform: $['x-ms-parameter-location'] = 'method' + - from: OperationsManagement.json + where: $.parameters.ResourceTypeParameter + transform: $['x-ms-parameter-location'] = 'method' + - from: OperationsManagement.json + where: $.parameters.ResourceNameParameter + transform: $['x-ms-parameter-location'] = 'method' + - from: OperationsManagement.json + where: $.definitions.CodeMessageError.properties.error + transform: $['x-ms-client-name'] = 'error' +``` diff --git a/specification/operationsmanagement/resource-manager/readme.cli.md b/specification/operationsmanagement/resource-manager/readme.cli.md new file mode 100644 index 000000000000..ddf103a9f926 --- /dev/null +++ b/specification/operationsmanagement/resource-manager/readme.cli.md @@ -0,0 +1,8 @@ +## CLI + +These settings apply only when `--cli` is specified on the command line. + +``` yaml $(cli) +cli: + cli-name: operationsmanagement +``` diff --git a/specification/operationsmanagement/resource-manager/readme.md b/specification/operationsmanagement/resource-manager/readme.md index 3ef18ce43b78..016569b64e0a 100644 --- a/specification/operationsmanagement/resource-manager/readme.md +++ b/specification/operationsmanagement/resource-manager/readme.md @@ -58,6 +58,7 @@ swagger-to-sdk: - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-python + - repo: azure-cli-extensions ``` diff --git a/specification/peering/resource-manager/readme.az.md b/specification/peering/resource-manager/readme.az.md new file mode 100644 index 000000000000..2972f1c879fc --- /dev/null +++ b/specification/peering/resource-manager/readme.az.md @@ -0,0 +1,45 @@ +## Azure CLI + +These settings apply only when `--az` is specified on the command line. + +``` yaml $(az) +az: + extensions: peering + package-name: azure-mgmt-peering + namespace: azure.mgmt.peering +az-output-folder: $(azure-cli-extension-folder)/src/peering +python-sdk-output-folder: "$(az-output-folder)/azext_peering/vendored_sdks/peering" +directive: + - where: + group: ^peering peering-service$ + set: + group: peering service + - where: + group: ^peering peering-service-location$ + set: + group: peering service location + - where: + group: ^peering peering-service-country$ + set: + group: peering service country + - where: + group: ^peering peering-service-provider$ + set: + group: peering service provider + - where: + group: ^peering peer-asn$ + set: + group: peering asn + - where: + group: ^peering prefix$ + set: + group: peering service prefix + - where: + group: ^peering legacy-peering$ + set: + group: peering legacy + - where: + group: ^peering peering-location$ + set: + group: peering location +``` diff --git a/specification/peering/resource-manager/readme.cli.md b/specification/peering/resource-manager/readme.cli.md index 94bc2011ae2d..46b104ea490a 100644 --- a/specification/peering/resource-manager/readme.cli.md +++ b/specification/peering/resource-manager/readme.cli.md @@ -24,7 +24,7 @@ cli: "/properties/direct": "Direct*/" "/properties/peercontactinfo": "*/" - test: + test-scenario: - name: /PeerAsns/put/Create a peer ASN disabled: true - name: /Peerings/put/Create an exchange peering diff --git a/specification/peering/resource-manager/readme.go.md b/specification/peering/resource-manager/readme.go.md index 74cd7447316f..27337b355f40 100644 --- a/specification/peering/resource-manager/readme.go.md +++ b/specification/peering/resource-manager/readme.go.md @@ -38,7 +38,7 @@ These settings apply only when `--tag=package-2020-04-01 --go` is specified on t Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'package-2020-04-01' && $(go) -output-folder: $(go-sdk-folder)/services/stable/$(namespace)/mgmt/2020-04-01/$(namespace) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-04-01/$(namespace) ``` ### Tag: package-2020-01-01-preview and go diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_FilterAndAggregateOnly.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_FilterAndAggregateOnly.json new file mode 100644 index 000000000000..603d7042ba9d --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_FilterAndAggregateOnly.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "policyEventsResource": "default", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "api-version": "2018-07-01-preview", + "$from": "2018-02-05T18:00:00Z", + "$filter": "PolicyDefinitionAction eq 'deny'", + "$apply": "aggregate($count as NumDenyEvents)" + }, + "responses": { + "200": { + "body": { + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 1, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "NumDenyEvents": 40 + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_FilterAndGroupByWithAggregate.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_FilterAndGroupByWithAggregate.json new file mode 100644 index 000000000000..b2ec80d19e1a --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_FilterAndGroupByWithAggregate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "policyEventsResource": "default", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "api-version": "2019-10-0", + "$from": "2018-02-05T18:00:00Z", + "$filter": "PolicyDefinitionAction eq 'audit' or PolicyDefinitionAction eq 'deny'", + "$apply": "groupby((PolicyAssignmentId, PolicyDefinitionId, PolicyDefinitionAction, ResourceId), aggregate($count as NumEvents))", + "$top": 2 + }, + "responses": { + "200": { + "body": { + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1", + "policyDefinitionAction": "audit", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/microsoft.servicefabric/clusters/myCluster/applications/resourcescachemonitor/services/myService", + "NumEvents": 1 + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/d6be6bb37e5f4333baa95c2a", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/5948d091-78b7-4d3b-a404-cc6a0329b0c6", + "policyDefinitionAction": "audit", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/microsoft.servicefabric/clusters/myCluster/applications/resourcescachemonitor/services/myService", + "NumEvents": 1 + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_FilterAndGroupByWithoutAggregate.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_FilterAndGroupByWithoutAggregate.json new file mode 100644 index 000000000000..eb9326035b10 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_FilterAndGroupByWithoutAggregate.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "policyEventsResource": "default", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "api-version": "2018-07-01-preview", + "$from": "2018-01-05T18:00:00Z", + "$filter": "PolicyDefinitionAction ne 'audit' and PolicyDefinitionAction ne 'append'", + "$apply": "groupby((PolicyAssignmentId, PolicyDefinitionId, PolicyDefinitionAction, ResourceId))", + "$top": 2 + }, + "responses": { + "200": { + "body": { + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/5bc427ca-0089-4d0d-85bd-e98d1e40b3bf/providers/microsoft.authorization/policyassignments/storageaccountsku", + "policyDefinitionId": "/providers/microsoft.authorization/policydefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionAction": "deny", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/5bc427ca-0089-4d0d-85bd-e98d1e40b3bf/providers/microsoft.storage/storageaccounts/7d528d3a" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/da43b50031bf4bce84584faa", + "policyDefinitionId": "/providers/microsoft.authorization/policydefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62", + "policyDefinitionAction": "deny", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/microsoft.storage/storageaccounts/mysa1" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_FilterAndMultipleGroups.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_FilterAndMultipleGroups.json new file mode 100644 index 000000000000..23aad777a2bd --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_FilterAndMultipleGroups.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "policyEventsResource": "default", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "api-version": "2018-07-01-preview", + "$from": "2018-01-01T00:00:00Z", + "$filter": "PolicyDefinitionAction eq 'deny'", + "$apply": "groupby((PolicyAssignmentId, PolicyDefinitionId, ResourceId))/groupby((PolicyAssignmentId, PolicyDefinitionId), aggregate($count as NumDeniedResources))", + "$orderby": "NumDeniedResources desc", + "$top": 10 + }, + "responses": { + "200": { + "body": { + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 6, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup1/providers/microsoft.authorization/policyassignments/0591f497c35344fcbaf7a393", + "policyDefinitionId": "/providers/microsoft.authorization/policydefinitions/e56962a6-4747-49cd-b67b-bf8b01975c4c", + "NumDeniedResources": 3 + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup1/providers/microsoft.authorization/policyassignments/myassignment1", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/mydefinition1", + "NumDeniedResources": 2 + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup1/providers/microsoft.authorization/policyassignments/myassignment1", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/mydefinition2", + "NumDeniedResources": 2 + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/5bc427ca-0089-4d0d-85bd-e98d1e40b3bf/providers/microsoft.authorization/policyassignments/storageaccountsku", + "policyDefinitionId": "/providers/microsoft.authorization/policydefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "NumDeniedResources": 1 + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup2/providers/microsoft.authorization/policyassignments/da43b50031bf4bce84584faa", + "policyDefinitionId": "/providers/microsoft.authorization/policydefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62", + "NumDeniedResources": 1 + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup2/providers/microsoft.authorization/policyassignments/myassignment2", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/mydefinition3", + "NumDeniedResources": 1 + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryManagementGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryManagementGroupScope.json new file mode 100644 index 000000000000..b4d354934527 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryManagementGroupScope.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "policyEventsResource": "default", + "managementGroupsNamespace": "Microsoft.Management", + "managementGroupName": "myManagementGroup", + "api-version": "2018-07-01-preview" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T22:19:18.8896095Z", + "resourceId": "/subscriptions/fff8dfdb-fff3-fff0-fff4-fffdcbe6b2ef/resourceGroups/myrg/providers/Microsoft.Compute/virtualMachines/myvm1/extensions/DAExtension", + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/1ef5d536aec743a0aa801c1a", + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff8dfdb-fff3-fff0-fff4-fffdcbe6b2ef", + "resourceType": "/Microsoft.Compute/virtualMachines/extensions", + "resourceLocation": "westeurope", + "resourceGroup": "myrg", + "resourceTags": "tbd", + "policyAssignmentName": "1ef5d536aec743a0aa801c1a", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/335cefd2-ab16-430f-b364-974a170eb1d5", + "policySetDefinitionName": "335cefd2-ab16-430f-b364-974a170eb1d5", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "15521232277412542086", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff3e452-fff2-fff1-fff8-fff12618f1b8", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T22:19:18.8896095Z", + "resourceId": "/subscriptions/fff8dfdb-fff3-fff0-fff4-fffdcbe6b2ef/resourceGroups/myrg/providers/Microsoft.Compute/virtualMachines/myvm1/extensions/DAExtension", + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/95816fce53454b15a7ed803d", + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/a2c0414b-82e4-459d-97d5-94c79a89232c", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff8dfdb-fff3-fff0-fff4-fffdcbe6b2ef", + "resourceType": "/Microsoft.Compute/virtualMachines/extensions", + "resourceLocation": "westeurope", + "resourceGroup": "myrg", + "resourceTags": "tbd", + "policyAssignmentName": "95816fce53454b15a7ed803d", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"eastus\"]}}", + "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "policyDefinitionName": "a2c0414b-82e4-459d-97d5-94c79a89232c", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "", + "policySetDefinitionName": "", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff3e452-fff2-fff1-fff8-fff12618f1b8", + "complianceState": "NonCompliant" + } + ] + } + } + } +} 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 new file mode 100644 index 000000000000..2601de7b93e5 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryManagementGroupScopeNextLink.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "policyEventsResource": "default", + "managementGroupsNamespace": "Microsoft.Management", + "managementGroupName": "myManagementGroup", + "api-version": "2018-07-01-preview", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T22:19:18.8896095Z", + "resourceId": "/subscriptions/fff8dfdb-fff3-fff0-fff4-fffdcbe6b2ef/resourceGroups/myrg/providers/Microsoft.Compute/virtualMachines/myvm1/extensions/DAExtension", + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/1ef5d536aec743a0aa801c1a", + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff8dfdb-fff3-fff0-fff4-fffdcbe6b2ef", + "resourceType": "/Microsoft.Compute/virtualMachines/extensions", + "resourceLocation": "westeurope", + "resourceGroup": "myrg", + "resourceTags": "tbd", + "policyAssignmentName": "1ef5d536aec743a0aa801c1a", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/335cefd2-ab16-430f-b364-974a170eb1d5", + "policySetDefinitionName": "335cefd2-ab16-430f-b364-974a170eb1d5", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "15521232277412542086", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff3e452-fff2-fff1-fff8-fff12618f1b8", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T22:19:18.8896095Z", + "resourceId": "/subscriptions/fff8dfdb-fff3-fff0-fff4-fffdcbe6b2ef/resourceGroups/myrg/providers/Microsoft.Compute/virtualMachines/myvm1/extensions/DAExtension", + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/95816fce53454b15a7ed803d", + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/a2c0414b-82e4-459d-97d5-94c79a89232c", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff8dfdb-fff3-fff0-fff4-fffdcbe6b2ef", + "resourceType": "/Microsoft.Compute/virtualMachines/extensions", + "resourceLocation": "westeurope", + "resourceGroup": "myrg", + "resourceTags": "tbd", + "policyAssignmentName": "95816fce53454b15a7ed803d", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"eastus\"]}}", + "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "policyDefinitionName": "a2c0414b-82e4-459d-97d5-94c79a89232c", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "", + "policySetDefinitionName": "", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff3e452-fff2-fff1-fff8-fff12618f1b8", + "complianceState": "NonCompliant" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryNestedResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryNestedResourceScope.json new file mode 100644 index 000000000000..d4d00a148294 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryNestedResourceScope.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "policyEventsResource": "default", + "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication", + "api-version": "2018-07-01-preview" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/microsoft.servicefabric/clusters/myCluster/applications/myApplication/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/microsoft.servicefabric/clusters/myCluster/applications/myApplication/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T20:43:04.6971328Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication", + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4", + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.ServiceFabric/clusters/applications", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "ec62f9b2a454487296f2ccd4", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}", + "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "181565554491747128", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/microsoft.servicefabric/clusters/myCluster/applications/myApplication/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T20:43:04.6971328Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication", + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4", + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.ServiceFabric/clusters/applications", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "ec62f9b2a454487296f2ccd4", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}", + "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "624540685646900425", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6", + "complianceState": "NonCompliant" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryResourceGroupLevelPolicyAssignmentScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryResourceGroupLevelPolicyAssignmentScope.json new file mode 100644 index 000000000000..a89f15db43b8 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryResourceGroupLevelPolicyAssignmentScope.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "policyEventsResource": "default", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceGroupName": "myResourceGroup", + "authorizationNamespace": "Microsoft.Authorization", + "policyAssignmentName": "myPolicyAssignment", + "api-version": "2018-07-01-preview" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-08T00:07:16.2804863Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/microsoft.operationalinsights/workspaces/defaultworkspace-fffedd8f-ffff-fffd-fffd-fffed2f84852-eus", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyDefinitions/myPolicyDefinition", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/microsoft.operationalinsights/workspaces", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "myPolicyAssignment", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": null, + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup", + "policyDefinitionName": "myPolicyAssignment", + "policyDefinitionAction": "deny", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": null, + "policySetDefinitionName": null, + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff2f355-fff2-fffc-fffb-fff1639dff94", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-08T00:06:08.4302267Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/microsoft.operationalinsights/workspaces/defaultworkspace-fffedd8f-ffff-fffd-fffd-fffed2f84852-eus", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyDefinitions/myPolicyDefinition", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/microsoft.operationalinsights/workspaces", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "myPolicyAssignment", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": null, + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup", + "policyDefinitionName": "myPolicyAssignment", + "policyDefinitionAction": "deny", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": null, + "policySetDefinitionName": null, + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff2f355-fff2-fffc-fffb-fff1639dff94", + "complianceState": "NonCompliant" + } + ] + } + } + } +} 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 new file mode 100644 index 000000000000..72823e4ff9cf --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryResourceGroupLevelPolicyAssignmentScopeNextLink.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "policyEventsResource": "default", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceGroupName": "myResourceGroup", + "authorizationNamespace": "Microsoft.Authorization", + "policyAssignmentName": "myPolicyAssignment", + "api-version": "2018-07-01-preview", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-08T00:07:16.2804863Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/microsoft.operationalinsights/workspaces/defaultworkspace-fffedd8f-ffff-fffd-fffd-fffed2f84852-eus", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyDefinitions/myPolicyDefinition", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/microsoft.operationalinsights/workspaces", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "myPolicyAssignment", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": null, + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup", + "policyDefinitionName": "myPolicyAssignment", + "policyDefinitionAction": "deny", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": null, + "policySetDefinitionName": null, + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff2f355-fff2-fffc-fffb-fff1639dff94", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-08T00:06:08.4302267Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/microsoft.operationalinsights/workspaces/defaultworkspace-fffedd8f-ffff-fffd-fffd-fffed2f84852-eus", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyDefinitions/myPolicyDefinition", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/microsoft.operationalinsights/workspaces", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "myPolicyAssignment", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": null, + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup", + "policyDefinitionName": "myPolicyAssignment", + "policyDefinitionAction": "deny", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": null, + "policySetDefinitionName": null, + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff2f355-fff2-fffc-fffb-fff1639dff94", + "complianceState": "NonCompliant" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryResourceGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryResourceGroupScope.json new file mode 100644 index 000000000000..8833fa3235c6 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryResourceGroupScope.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "policyEventsResource": "default", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceGroupName": "myResourceGroup", + "api-version": "2018-07-01-preview" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T20:43:04.6971328Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication", + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4", + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.ServiceFabric/clusters/applications", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "ec62f9b2a454487296f2ccd4", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}", + "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "181565554491747128", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T20:43:04.6971328Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication", + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4", + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.ServiceFabric/clusters/applications", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "ec62f9b2a454487296f2ccd4", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}", + "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "624540685646900425", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6", + "complianceState": "NonCompliant" + } + ] + } + } + } +} 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 new file mode 100644 index 000000000000..cf8cd04d13f0 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryResourceGroupScopeNextLink.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "policyEventsResource": "default", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceGroupName": "myResourceGroup", + "api-version": "2018-07-01-preview", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T20:43:04.6971328Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication", + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4", + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.ServiceFabric/clusters/applications", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "ec62f9b2a454487296f2ccd4", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}", + "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "181565554491747128", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T20:43:04.6971328Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication", + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4", + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.ServiceFabric/clusters/applications", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "ec62f9b2a454487296f2ccd4", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}", + "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "624540685646900425", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6", + "complianceState": "NonCompliant" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryResourceScope.json new file mode 100644 index 000000000000..84d43892b23b --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryResourceScope.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "policyEventsResource": "default", + "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName", + "api-version": "2018-07-01-preview" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T15:14:39.8473851Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName", + "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.ClassicCompute/domainNames", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "policyDefinitionName": "201ea587-7c90-41c3-910f-c280ae01cfd6", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T15:14:39.5842458Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName", + "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/d15545b8-ff50-409a-a6e3-5bd5cc954003", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.ClassicCompute/domainNames", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "d15545b8-ff50-409a-a6e3-5bd5cc954003", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "policyDefinitionName": "201ea587-7c90-41c3-910f-c280ae01cfd6", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" + } + ] + } + } + } +} 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 new file mode 100644 index 000000000000..67866db89076 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryResourceScopeNextLink.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "policyEventsResource": "default", + "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName", + "api-version": "2018-07-01-preview", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T15:14:39.8473851Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName", + "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.ClassicCompute/domainNames", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "policyDefinitionName": "201ea587-7c90-41c3-910f-c280ae01cfd6", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T15:14:39.5842458Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName", + "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/d15545b8-ff50-409a-a6e3-5bd5cc954003", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.ClassicCompute/domainNames", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "d15545b8-ff50-409a-a6e3-5bd5cc954003", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "policyDefinitionName": "201ea587-7c90-41c3-910f-c280ae01cfd6", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelNestedResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelNestedResourceScope.json new file mode 100644 index 000000000000..e8cc7651de35 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelNestedResourceScope.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "policyEventsResource": "default", + "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource", + "api-version": "2018-07-01-preview" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T20:43:04.6971328Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource", + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4", + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.SomeNamespace/someResourceType/someNestedResourceType", + "resourceLocation": "eastus", + "resourceGroup": "", + "resourceTags": "tbd", + "policyAssignmentName": "ec62f9b2a454487296f2ccd4", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}", + "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "181565554491747128", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T20:43:04.6971328Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource", + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4", + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.SomeNamespace/someResourceType/someNestedResourceType", + "resourceLocation": "eastus", + "resourceGroup": "", + "resourceTags": "tbd", + "policyAssignmentName": "ec62f9b2a454487296f2ccd4", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}", + "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "624540685646900425", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6", + "complianceState": "NonCompliant" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicyAssignmentScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicyAssignmentScope.json new file mode 100644 index 000000000000..11dabdfaeaf2 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicyAssignmentScope.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "policyEventsResource": "default", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "authorizationNamespace": "Microsoft.Authorization", + "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "api-version": "2018-07-01-preview" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-08T19:59:38.6401747Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.ClassicCompute/domainNames", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "201ea587-7c90-41c3-910f-c280ae01cfd6", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-08T19:59:34.2017762Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/9daedab3-fb2d-461e-b861-71790eead4f6", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.ClassicCompute/domainNames", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "9daedab3-fb2d-461e-b861-71790eead4f6", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" + } + ] + } + } + } +} 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 new file mode 100644 index 000000000000..69b634579055 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicyAssignmentScopeNextLink.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "policyEventsResource": "default", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "authorizationNamespace": "Microsoft.Authorization", + "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "api-version": "2018-07-01-preview", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-08T19:59:38.6401747Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.ClassicCompute/domainNames", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "201ea587-7c90-41c3-910f-c280ae01cfd6", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-08T19:59:34.2017762Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/9daedab3-fb2d-461e-b861-71790eead4f6", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.ClassicCompute/domainNames", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "9daedab3-fb2d-461e-b861-71790eead4f6", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicyDefinitionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicyDefinitionScope.json new file mode 100644 index 000000000000..820ad8cc8e77 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicyDefinitionScope.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "policyEventsResource": "default", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "authorizationNamespace": "Microsoft.Authorization", + "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", + "api-version": "2018-07-01-preview" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-08T19:58:11.590596Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/deploymentSlots/production/state/start", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/f4cc58b7db524a9799381531", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.ClassicCompute/domainNames/deploymentSlots/state", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "f4cc58b7db524a9799381531", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"TAGNAME_1\":{\"value\":\"NA\"}}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697", + "policySetDefinitionName": "12b58873-e0f8-4b95-936c-86cbe7c9d697", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "14799174781370023846", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-08T19:58:11.590596Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/deploymentSlots/production/state/start", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/f4cc58b7db524a9799381531", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.ClassicCompute/domainNames/deploymentSlots/state", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "f4cc58b7db524a9799381531", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"TAGNAME_1\":{\"value\":\"NA\"}}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697", + "policySetDefinitionName": "12b58873-e0f8-4b95-936c-86cbe7c9d697", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "1679708035638239273", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" + } + ] + } + } + } +} 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 new file mode 100644 index 000000000000..3fc60d7a3a1c --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicyDefinitionScopeNextLink.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "policyEventsResource": "default", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "authorizationNamespace": "Microsoft.Authorization", + "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", + "api-version": "2018-07-01-preview", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-08T19:58:11.590596Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/deploymentSlots/production/state/start", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/f4cc58b7db524a9799381531", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.ClassicCompute/domainNames/deploymentSlots/state", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "f4cc58b7db524a9799381531", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"TAGNAME_1\":{\"value\":\"NA\"}}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697", + "policySetDefinitionName": "12b58873-e0f8-4b95-936c-86cbe7c9d697", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "14799174781370023846", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-08T19:58:11.590596Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/deploymentSlots/production/state/start", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/f4cc58b7db524a9799381531", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.ClassicCompute/domainNames/deploymentSlots/state", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "f4cc58b7db524a9799381531", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"TAGNAME_1\":{\"value\":\"NA\"}}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697", + "policySetDefinitionName": "12b58873-e0f8-4b95-936c-86cbe7c9d697", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "1679708035638239273", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicySetDefinitionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicySetDefinitionScope.json new file mode 100644 index 000000000000..4d3a40aa7583 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicySetDefinitionScope.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "policyEventsResource": "default", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "authorizationNamespace": "Microsoft.Authorization", + "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "api-version": "2018-07-01-preview" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-08T19:49:32.9539023Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/serviceCertificates/sha1-FFFBDAF1FFFF109FFFD95FFFC9B0FFFD6F264FFF", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.ClassicCompute/domainNames/serviceCertificates", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "3f3c4330183b4e218fe6fd29", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-08T19:49:32.9498186Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/serviceCertificates/sha1-FFF36C1CFFF4BEA57FFFEFCFFF17B9F81B710FFF", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.ClassicCompute/domainNames/serviceCertificates", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "3f3c4330183b4e218fe6fd29", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" + } + ] + } + } + } +} 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 new file mode 100644 index 000000000000..55fa3363f75a --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicySetDefinitionScopeNextLink.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "policyEventsResource": "default", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "authorizationNamespace": "Microsoft.Authorization", + "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "api-version": "2018-07-01-preview", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-08T19:49:32.9539023Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/serviceCertificates/sha1-FFFBDAF1FFFF109FFFD95FFFC9B0FFFD6F264FFF", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.ClassicCompute/domainNames/serviceCertificates", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "3f3c4330183b4e218fe6fd29", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-08T19:49:32.9498186Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/serviceCertificates/sha1-FFF36C1CFFF4BEA57FFFEFCFFF17B9F81B710FFF", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.ClassicCompute/domainNames/serviceCertificates", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "3f3c4330183b4e218fe6fd29", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelResourceScope.json new file mode 100644 index 000000000000..1edf96be1cbb --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelResourceScope.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "policyEventsResource": "default", + "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName", + "api-version": "2018-07-01-preview" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T15:14:39.8473851Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName", + "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.SomeNamespace/someResourceType", + "resourceLocation": "eastus", + "resourceGroup": "", + "resourceTags": "tbd", + "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "policyDefinitionName": "201ea587-7c90-41c3-910f-c280ae01cfd6", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T15:14:39.5842458Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName", + "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/d15545b8-ff50-409a-a6e3-5bd5cc954003", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.SomeNamespace/someResourceType", + "resourceLocation": "eastus", + "resourceGroup": "", + "resourceTags": "tbd", + "policyAssignmentName": "d15545b8-ff50-409a-a6e3-5bd5cc954003", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "policyDefinitionName": "201ea587-7c90-41c3-910f-c280ae01cfd6", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionScope.json new file mode 100644 index 000000000000..a7b91b72a8e3 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionScope.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "policyEventsResource": "default", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "api-version": "2018-07-01-preview" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T20:43:04.6971328Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication", + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4", + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.ServiceFabric/clusters/applications", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "ec62f9b2a454487296f2ccd4", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}", + "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "181565554491747128", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T20:43:04.6971328Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication", + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4", + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.ServiceFabric/clusters/applications", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "ec62f9b2a454487296f2ccd4", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}", + "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "624540685646900425", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6", + "complianceState": "NonCompliant" + } + ] + } + } + } +} 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 new file mode 100644 index 000000000000..c87eb684900a --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionScopeNextLink.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "policyEventsResource": "default", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "api-version": "2018-07-01-preview", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T20:43:04.6971328Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication", + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4", + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.ServiceFabric/clusters/applications", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "ec62f9b2a454487296f2ccd4", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}", + "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "181565554491747128", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T20:43:04.6971328Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication", + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4", + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.ServiceFabric/clusters/applications", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "ec62f9b2a454487296f2ccd4", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}", + "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "624540685646900425", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6", + "complianceState": "NonCompliant" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_TimeRangeSortSelectTop.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_TimeRangeSortSelectTop.json new file mode 100644 index 000000000000..4c5f0522e445 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_TimeRangeSortSelectTop.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "policyEventsResource": "default", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "api-version": "2018-07-01-preview", + "$from": "2018-02-05T18:00:00Z", + "$to": "2018-02-06T18:00:00Z", + "$orderby": "Timestamp desc, PolicyAssignmentId asc, SubscriptionId asc, ResourceGroup asc, ResourceId", + "$select": "Timestamp, PolicyAssignmentId, PolicyDefinitionId, SubscriptionId, ResourceGroup, ResourceId", + "$top": 2 + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-05T22:34:02.3475017Z", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/89b27f38-e9e4-4468-ab81-801c84b8c017", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceGroup": "myResourceGroup", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomain" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-05T22:34:01.6135357Z", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/Enable Monitoring in Azure Security Center", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceGroup": "myResourceGroup", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomain" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndAggregateOnly.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndAggregateOnly.json index a68531eebdeb..59919a1c269c 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndAggregateOnly.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndAggregateOnly.json @@ -10,6 +10,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", "@odata.count": 1, "value": [ diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndGroupByWithAggregate.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndGroupByWithAggregate.json index 1a772a52ef25..0a5615d58293 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndGroupByWithAggregate.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndGroupByWithAggregate.json @@ -12,6 +12,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", "@odata.count": 2, "value": [ diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndGroupByWithoutAggregate.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndGroupByWithoutAggregate.json index 1fd046568eda..0c0920fa757e 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndGroupByWithoutAggregate.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndGroupByWithoutAggregate.json @@ -11,6 +11,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", "@odata.count": 2, "value": [ diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndMultipleGroups.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndMultipleGroups.json index 6ff103d3ccd6..cc4ba2c1ea52 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndMultipleGroups.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndMultipleGroups.json @@ -11,6 +11,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", "@odata.count": 10, "value": [ diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryManagementGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryManagementGroupScope.json index f4247ec6a32a..116e71f95d8b 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryManagementGroupScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryManagementGroupScope.json @@ -8,6 +8,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", "@odata.count": 2, "value": [ @@ -38,7 +39,8 @@ "policySetDefinitionCategory": null, "policySetDefinitionParameters": null, "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", - "policyDefinitionReferenceId": "15521232277412542086" + "policyDefinitionReferenceId": "15521232277412542086", + "complianceState": "NonCompliant" }, { "@odata.id": null, @@ -67,7 +69,8 @@ "policySetDefinitionCategory": null, "policySetDefinitionParameters": null, "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", - "policyDefinitionReferenceId": "" + "policyDefinitionReferenceId": "", + "complianceState": "NonCompliant" } ] } 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 new file mode 100644 index 000000000000..9e9ad020887f --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryManagementGroupScopeNextLink.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "policyStatesResource": "latest", + "managementGroupsNamespace": "Microsoft.Management", + "managementGroupName": "myManagementGroup", + "api-version": "2018-07-01-preview", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2018-02-09T17:41:47Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/microsoft.insights/autoscalesettings/mytest1", + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/1ef5d536aec743a0aa801c1a", + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/microsoft.insights/autoscalesettings", + "resourceLocation": "westus", + "resourceGroup": "myrg1", + "resourceTags": "tbd", + "policyAssignmentName": "1ef5d536aec743a0aa801c1a", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/335cefd2-ab16-430f-b364-974a170eb1d5", + "policySetDefinitionName": "335cefd2-ab16-430f-b364-974a170eb1d5", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "15521232277412542086", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2018-02-09T17:41:47Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/microsoft.insights/autoscalesettings/mytest1", + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/186044306c044a1d8c0ff76c", + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/microsoft.insights/autoscalesettings", + "resourceLocation": "westus", + "resourceGroup": "myrg1", + "resourceTags": "tbd", + "policyAssignmentName": "186044306c044a1d8c0ff76c", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"centralus\"]}}", + "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "", + "policySetDefinitionName": "", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "", + "complianceState": "NonCompliant" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryNestedResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryNestedResourceScope.json index f81a3a190324..bf094d482ef0 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryNestedResourceScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryNestedResourceScope.json @@ -7,6 +7,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication/providers/Microsoft.PolicyInsights/policyStates/$metadata#default", "@odata.count": 2, "value": [ @@ -37,7 +38,8 @@ "policySetDefinitionCategory": null, "policySetDefinitionParameters": null, "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", - "policyDefinitionReferenceId": null + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" }, { "@odata.id": null, @@ -66,7 +68,8 @@ "policySetDefinitionCategory": null, "policySetDefinitionParameters": null, "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", - "policyDefinitionReferenceId": null + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" } ] } diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScope.json index e689951eb6b2..615b55cf303a 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScope.json @@ -10,6 +10,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", "@odata.count": 2, "value": [ @@ -40,7 +41,8 @@ "policySetDefinitionCategory": null, "policySetDefinitionParameters": null, "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", - "policyDefinitionReferenceId": null + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" }, { "@odata.id": null, @@ -69,7 +71,8 @@ "policySetDefinitionCategory": null, "policySetDefinitionParameters": null, "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", - "policyDefinitionReferenceId": null + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" } ] } 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 new file mode 100644 index 000000000000..900833c0da86 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScopeNextLink.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "policyStatesResource": "latest", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceGroupName": "myResourceGroup", + "authorizationNamespace": "Microsoft.Authorization", + "policyAssignmentName": "myPolicyAssignment", + "api-version": "2018-07-01-preview", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2018-02-13T00:38:50Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Security/policies/mySecurityPolicy", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/4a0425e4-97bf-4ad0-ab36-145b94083c60", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.Security/policies", + "resourceLocation": null, + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "myPolicyAssignment", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"EUS, WEU\"]}}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup", + "policyDefinitionName": "4a0425e4-97bf-4ad0-ab36-145b94083c60", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": null, + "policySetDefinitionName": null, + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2018-02-13T00:38:50Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/test", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/4a0425e4-97bf-4ad0-ab36-145b94083c60", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.Authorization/policyAssignments", + "resourceLocation": null, + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "myPolicyAssignment", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"EUS, WEU\"]}}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup", + "policyDefinitionName": "4a0425e4-97bf-4ad0-ab36-145b94083c60", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": null, + "policySetDefinitionName": null, + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceGroupScope.json index f517199f2061..14615632fbce 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceGroupScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceGroupScope.json @@ -8,6 +8,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", "@odata.count": 2, "value": [ @@ -38,7 +39,8 @@ "policySetDefinitionCategory": null, "policySetDefinitionParameters": null, "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", - "policyDefinitionReferenceId": null + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" }, { "@odata.id": null, @@ -67,7 +69,8 @@ "policySetDefinitionCategory": null, "policySetDefinitionParameters": null, "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", - "policyDefinitionReferenceId": null + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" } ] } 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 new file mode 100644 index 000000000000..7555abf977df --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceGroupScopeNextLink.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "policyStatesResource": "latest", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceGroupName": "myResourceGroup", + "api-version": "2018-07-01-preview", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2018-02-09T18:42:42Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/mysa1", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.Storage/storageAccounts", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "3f3c4330183b4e218fe6fd29", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2018-02-09T18:42:42Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/mysa1", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e3682", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.Storage/storageAccounts", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "3f3c4330183b4e218fe6fd29", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e3682", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceScope.json index 1028e62ce338..5a0f76d2e170 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceScope.json @@ -7,6 +7,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default", "@odata.count": 2, "value": [ @@ -37,7 +38,8 @@ "policySetDefinitionCategory": null, "policySetDefinitionParameters": null, "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", - "policyDefinitionReferenceId": null + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" }, { "@odata.id": null, @@ -66,7 +68,8 @@ "policySetDefinitionCategory": null, "policySetDefinitionParameters": null, "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", - "policyDefinitionReferenceId": null + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" } ] } diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceScopeExpandPolicyEvaluationDetails.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceScopeExpandPolicyEvaluationDetails.json index 668bcdc87ed5..b7e64a446564 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceScopeExpandPolicyEvaluationDetails.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceScopeExpandPolicyEvaluationDetails.json @@ -8,6 +8,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default", "@odata.count": 2, "value": [ 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 new file mode 100644 index 000000000000..be286ead7381 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceScopeNextLink.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "policyStatesResource": "default", + "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName", + "api-version": "2018-07-01-preview", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity", + "timestamp": "2018-02-09T16:04:31Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName", + "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/test", + "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyDefinitions/Audit a tag and it's value", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.ClassicCompute/domainNames", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "test", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"tagName\":{\"value\":\"no\"},\"tagValue\":{\"value\":\"no\"}}", + "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "policyDefinitionName": "Audit a tag and it's value", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": null, + "policySetDefinitionName": null, + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity", + "timestamp": "2018-02-09T16:04:31Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName", + "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/test", + "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyDefinitions/Audit a tag and it's value", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.ClassicCompute/domainNames", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "test", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"tagName\":{\"value\":\"no\"},\"tagValue\":{\"value\":\"no\"}}", + "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "policyDefinitionName": "Audit a tag and it's value", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": null, + "policySetDefinitionName": null, + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelNestedResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelNestedResourceScope.json index d2df10b60eaf..bff9988cd1bd 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelNestedResourceScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelNestedResourceScope.json @@ -7,6 +7,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource/providers/Microsoft.PolicyInsights/policyStates/$metadata#default", "@odata.count": 2, "value": [ @@ -37,7 +38,8 @@ "policySetDefinitionCategory": null, "policySetDefinitionParameters": null, "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", - "policyDefinitionReferenceId": null + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" }, { "@odata.id": null, @@ -66,7 +68,8 @@ "policySetDefinitionCategory": null, "policySetDefinitionParameters": null, "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", - "policyDefinitionReferenceId": null + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" } ] } diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScope.json index f1e9bd7987bb..bac2a5bb40ae 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScope.json @@ -9,6 +9,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", "@odata.count": 2, "value": [ @@ -39,7 +40,8 @@ "policySetDefinitionCategory": null, "policySetDefinitionParameters": null, "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", - "policyDefinitionReferenceId": "2124621540977569058" + "policyDefinitionReferenceId": "2124621540977569058", + "complianceState": "NonCompliant" }, { "@odata.id": null, @@ -68,7 +70,8 @@ "policySetDefinitionCategory": null, "policySetDefinitionParameters": null, "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", - "policyDefinitionReferenceId": "14799174781370023846" + "policyDefinitionReferenceId": "14799174781370023846", + "complianceState": "NonCompliant" } ] } 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 new file mode 100644 index 000000000000..4411d95cc2d7 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScopeNextLink.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "policyStatesResource": "latest", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "authorizationNamespace": "Microsoft.Authorization", + "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "api-version": "2018-07-01-preview", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2018-02-13T00:45:19Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/my-ip-1", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/c8b79b49-a579-4045-984e-1b249ab8b474", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.Network/publicIPAddresses", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"TAGNAME_1\":{\"value\":\"test\"}}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "c8b79b49-a579-4045-984e-1b249ab8b474", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697", + "policySetDefinitionName": "12b58873-e0f8-4b95-936c-86cbe7c9d697", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "2124621540977569058", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2018-02-13T00:45:19Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/my-ip-1", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.Network/publicIPAddresses", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"TAGNAME_1\":{\"value\":\"test\"}}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697", + "policySetDefinitionName": "12b58873-e0f8-4b95-936c-86cbe7c9d697", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "14799174781370023846", + "complianceState": "NonCompliant" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScope.json index 63921a3d3594..1f9fe31fcbf5 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScope.json @@ -9,6 +9,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", "@odata.count": 2, "value": [ @@ -39,7 +40,8 @@ "policySetDefinitionCategory": null, "policySetDefinitionParameters": null, "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", - "policyDefinitionReferenceId": null + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" }, { "@odata.id": null, @@ -68,7 +70,8 @@ "policySetDefinitionCategory": null, "policySetDefinitionParameters": null, "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", - "policyDefinitionReferenceId": null + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" } ] } 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 new file mode 100644 index 000000000000..94f65e67ab79 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScopeNextLink.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "policyStatesResource": "latest", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "authorizationNamespace": "Microsoft.Authorization", + "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", + "api-version": "2018-07-01-preview", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2018-02-13T00:50:27Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication/services/myService", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/d9da7e80af6344ab9d342aa7", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.ServiceFabric/clusters/applications/services", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "d9da7e80af6344ab9d342aa7", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"tagName\":{\"value\":\"MyTag\"}}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": null, + "policySetDefinitionName": null, + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2018-02-13T00:50:27Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication/services/myService", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/d9da7e80af6344ab9d342aa7", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.ServiceFabric/clusters/applications/services", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "d9da7e80af6344ab9d342aa7", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"tagName\":{\"value\":\"MyTag\"}}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": null, + "policySetDefinitionName": null, + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScope.json index 73d403483e1b..8ef42f94010a 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScope.json @@ -9,6 +9,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", "@odata.count": 2, "value": [ @@ -39,7 +40,8 @@ "policySetDefinitionCategory": null, "policySetDefinitionParameters": null, "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", - "policyDefinitionReferenceId": null + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" }, { "@odata.id": null, @@ -68,7 +70,8 @@ "policySetDefinitionCategory": null, "policySetDefinitionParameters": null, "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", - "policyDefinitionReferenceId": null + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" } ] } 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 new file mode 100644 index 000000000000..a587122bb850 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScopeNextLink.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "policyStatesResource": "latest", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "authorizationNamespace": "Microsoft.Authorization", + "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "api-version": "2018-07-01-preview", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2019-10-13T00:54:58Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Web/sites/mySite", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.Web/sites", + "resourceLocation": "centralus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "3f3c4330183b4e218fe6fd29", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant", + "policyDefinitionGroupNames": [ + "myGroup" + ] + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2019-10-13T00:54:58Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Web/sites/mySite", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/LocationAuditDefinition", + "effectiveParameters": null, + "isCompliant": true, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.Web/sites", + "resourceLocation": "centralus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "3f3c4330183b4e218fe6fd29", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "LocationAuditDefinition", + "policyDefinitionAction": "Audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "complianceState": "Compliant", + "policyDefinitionGroupNames": [ + "myGroup" + ] + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelResourceScope.json index a2bea701ebd6..4d5fe28421f6 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelResourceScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelResourceScope.json @@ -7,6 +7,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default", "@odata.count": 2, "value": [ @@ -37,7 +38,8 @@ "policySetDefinitionCategory": null, "policySetDefinitionParameters": null, "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", - "policyDefinitionReferenceId": null + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" }, { "@odata.id": null, @@ -66,7 +68,8 @@ "policySetDefinitionCategory": null, "policySetDefinitionParameters": null, "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", - "policyDefinitionReferenceId": null + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" } ] } diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionScope.json index 38b55d98aa9c..865b9845a8dc 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionScope.json @@ -7,6 +7,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", "@odata.count": 2, "value": [ @@ -37,7 +38,8 @@ "policySetDefinitionCategory": null, "policySetDefinitionParameters": null, "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", - "policyDefinitionReferenceId": null + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" }, { "@odata.id": null, @@ -66,7 +68,8 @@ "policySetDefinitionCategory": null, "policySetDefinitionParameters": null, "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", - "policyDefinitionReferenceId": null + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" } ] } 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 new file mode 100644 index 000000000000..7d164b166fe2 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionScopeNextLink.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "policyStatesResource": "latest", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "api-version": "2018-07-01-preview", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2018-02-09T17:48:05Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/Microsoft.Network/publicIPAddresses/mypubip1", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/Enable Monitoring in Azure Security Center", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/9daedab3-fb2d-461e-b861-71790eead4f6", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.Network/publicIPAddresses", + "resourceLocation": "eastus", + "resourceGroup": "myrg1", + "resourceTags": "tbd", + "policyAssignmentName": "Enable Monitoring in Azure Security Center", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "9daedab3-fb2d-461e-b861-71790eead4f6", + "policyDefinitionAction": "AuditIfNotExists", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2018-02-09T17:48:05Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/Microsoft.Network/publicIPAddresses/mypubip1", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/9ac09b0657d942e5ad4041a6", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/9daedab3-fb2d-461e-b861-71790eead4f6", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.Network/publicIPAddresses", + "resourceLocation": "eastus", + "resourceGroup": "myrg1", + "resourceTags": "tbd", + "policyAssignmentName": "9ac09b0657d942e5ad4041a6", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "9daedab3-fb2d-461e-b861-71790eead4f6", + "policyDefinitionAction": "AuditIfNotExists", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_TimeRangeSortSelectTop.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_TimeRangeSortSelectTop.json index 83fd0197d830..a98a950ef6d9 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_TimeRangeSortSelectTop.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_TimeRangeSortSelectTop.json @@ -12,6 +12,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", "@odata.count": 2, "value": [ diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/policyEvents.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/policyEvents.json new file mode 100644 index 000000000000..5899c79428ca --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/policyEvents.json @@ -0,0 +1,1006 @@ +{ + "swagger": "2.0", + "info": { + "title": "PolicyEventsClient", + "version": "2018-07-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "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/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults": { + "post": { + "operationId": "PolicyEvents_ListQueryResultsForManagementGroup", + "description": "Queries policy events for the resources under the management group.", + "parameters": [ + { + "$ref": "#/parameters/policyEventsResourceParameter" + }, + { + "$ref": "#/parameters/managementGroupsNamespaceParameter" + }, + { + "$ref": "#/parameters/managementGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/topParameter" + }, + { + "$ref": "#/parameters/orderByParameter" + }, + { + "$ref": "#/parameters/selectParameter" + }, + { + "$ref": "#/parameters/fromParameter" + }, + { + "$ref": "#/parameters/toParameter" + }, + { + "$ref": "#/parameters/filterParameter" + }, + { + "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" + } + ], + "responses": { + "200": { + "description": "Query results.", + "schema": { + "$ref": "#/definitions/PolicyEventsQueryResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/QueryFailure" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-examples": { + "Query at management group scope": { + "$ref": "./examples/PolicyEvents_QueryManagementGroupScope.json" + }, + "Query at management group scope with next link": { + "$ref": "./examples/PolicyEvents_QueryManagementGroupScopeNextLink.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults": { + "post": { + "operationId": "PolicyEvents_ListQueryResultsForSubscription", + "description": "Queries policy events for the resources under the subscription.", + "parameters": [ + { + "$ref": "#/parameters/policyEventsResourceParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/topParameter" + }, + { + "$ref": "#/parameters/orderByParameter" + }, + { + "$ref": "#/parameters/selectParameter" + }, + { + "$ref": "#/parameters/fromParameter" + }, + { + "$ref": "#/parameters/toParameter" + }, + { + "$ref": "#/parameters/filterParameter" + }, + { + "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" + } + ], + "responses": { + "200": { + "description": "Query results.", + "schema": { + "$ref": "#/definitions/PolicyEventsQueryResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/QueryFailure" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-examples": { + "Query at subscription scope": { + "$ref": "./examples/PolicyEvents_QuerySubscriptionScope.json" + }, + "Query at subscription scope with next link": { + "$ref": "./examples/PolicyEvents_QuerySubscriptionScopeNextLink.json" + }, + "Time range; sort, select and limit": { + "$ref": "./examples/PolicyEvents_TimeRangeSortSelectTop.json" + }, + "Filter and group with aggregate": { + "$ref": "./examples/PolicyEvents_FilterAndGroupByWithAggregate.json" + }, + "Filter and group without aggregate": { + "$ref": "./examples/PolicyEvents_FilterAndGroupByWithoutAggregate.json" + }, + "Filter and aggregate only": { + "$ref": "./examples/PolicyEvents_FilterAndAggregateOnly.json" + }, + "Filter and multiple groups": { + "$ref": "./examples/PolicyEvents_FilterAndMultipleGroups.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults": { + "post": { + "operationId": "PolicyEvents_ListQueryResultsForResourceGroup", + "description": "Queries policy events for the resources under the resource group.", + "parameters": [ + { + "$ref": "#/parameters/policyEventsResourceParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/topParameter" + }, + { + "$ref": "#/parameters/orderByParameter" + }, + { + "$ref": "#/parameters/selectParameter" + }, + { + "$ref": "#/parameters/fromParameter" + }, + { + "$ref": "#/parameters/toParameter" + }, + { + "$ref": "#/parameters/filterParameter" + }, + { + "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" + } + ], + "responses": { + "200": { + "description": "Query results.", + "schema": { + "$ref": "#/definitions/PolicyEventsQueryResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/QueryFailure" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-examples": { + "Query at resource group scope": { + "$ref": "./examples/PolicyEvents_QueryResourceGroupScope.json" + }, + "Query at resource group scope with next link": { + "$ref": "./examples/PolicyEvents_QueryResourceGroupScopeNextLink.json" + } + } + } + }, + "/{resourceId}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults": { + "post": { + "operationId": "PolicyEvents_ListQueryResultsForResource", + "description": "Queries policy events for the resource.", + "parameters": [ + { + "$ref": "#/parameters/policyEventsResourceParameter" + }, + { + "$ref": "#/parameters/resourceIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/topParameter" + }, + { + "$ref": "#/parameters/orderByParameter" + }, + { + "$ref": "#/parameters/selectParameter" + }, + { + "$ref": "#/parameters/fromParameter" + }, + { + "$ref": "#/parameters/toParameter" + }, + { + "$ref": "#/parameters/filterParameter" + }, + { + "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" + } + ], + "responses": { + "200": { + "description": "Query results.", + "schema": { + "$ref": "#/definitions/PolicyEventsQueryResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/QueryFailure" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-examples": { + "Query at resource scope": { + "$ref": "./examples/PolicyEvents_QueryResourceScope.json" + }, + "Query at resource scope with next link": { + "$ref": "./examples/PolicyEvents_QueryResourceScopeNextLink.json" + }, + "Query at subscription level resource scope": { + "$ref": "./examples/PolicyEvents_QuerySubscriptionLevelResourceScope.json" + }, + "Query at nested resource scope": { + "$ref": "./examples/PolicyEvents_QueryNestedResourceScope.json" + }, + "Query at subscription level nested resource scope": { + "$ref": "./examples/PolicyEvents_QuerySubscriptionLevelNestedResourceScope.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults": { + "post": { + "operationId": "PolicyEvents_ListQueryResultsForPolicySetDefinition", + "description": "Queries policy events for the subscription level policy set definition.", + "parameters": [ + { + "$ref": "#/parameters/policyEventsResourceParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/authorizationNamespaceParameter" + }, + { + "$ref": "#/parameters/policySetDefinitionNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/topParameter" + }, + { + "$ref": "#/parameters/orderByParameter" + }, + { + "$ref": "#/parameters/selectParameter" + }, + { + "$ref": "#/parameters/fromParameter" + }, + { + "$ref": "#/parameters/toParameter" + }, + { + "$ref": "#/parameters/filterParameter" + }, + { + "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" + } + ], + "responses": { + "200": { + "description": "Query results.", + "schema": { + "$ref": "#/definitions/PolicyEventsQueryResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/QueryFailure" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-examples": { + "Query at subscription level policy set definition scope": { + "$ref": "./examples/PolicyEvents_QuerySubscriptionLevelPolicySetDefinitionScope.json" + }, + "Query at subscription level policy set definition scope with next link": { + "$ref": "./examples/PolicyEvents_QuerySubscriptionLevelPolicySetDefinitionScopeNextLink.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults": { + "post": { + "operationId": "PolicyEvents_ListQueryResultsForPolicyDefinition", + "description": "Queries policy events for the subscription level policy definition.", + "parameters": [ + { + "$ref": "#/parameters/policyEventsResourceParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/authorizationNamespaceParameter" + }, + { + "$ref": "#/parameters/policyDefinitionNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/topParameter" + }, + { + "$ref": "#/parameters/orderByParameter" + }, + { + "$ref": "#/parameters/selectParameter" + }, + { + "$ref": "#/parameters/fromParameter" + }, + { + "$ref": "#/parameters/toParameter" + }, + { + "$ref": "#/parameters/filterParameter" + }, + { + "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" + } + ], + "responses": { + "200": { + "description": "Query results.", + "schema": { + "$ref": "#/definitions/PolicyEventsQueryResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/QueryFailure" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-examples": { + "Query at subscription level policy definition scope": { + "$ref": "./examples/PolicyEvents_QuerySubscriptionLevelPolicyDefinitionScope.json" + }, + "Query at subscription level policy definition scope with next link": { + "$ref": "./examples/PolicyEvents_QuerySubscriptionLevelPolicyDefinitionScopeNextLink.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults": { + "post": { + "operationId": "PolicyEvents_ListQueryResultsForSubscriptionLevelPolicyAssignment", + "description": "Queries policy events for the subscription level policy assignment.", + "parameters": [ + { + "$ref": "#/parameters/policyEventsResourceParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/authorizationNamespaceParameter" + }, + { + "$ref": "#/parameters/policyAssignmentNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/topParameter" + }, + { + "$ref": "#/parameters/orderByParameter" + }, + { + "$ref": "#/parameters/selectParameter" + }, + { + "$ref": "#/parameters/fromParameter" + }, + { + "$ref": "#/parameters/toParameter" + }, + { + "$ref": "#/parameters/filterParameter" + }, + { + "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" + } + ], + "responses": { + "200": { + "description": "Query results.", + "schema": { + "$ref": "#/definitions/PolicyEventsQueryResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/QueryFailure" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-examples": { + "Query at subscription level policy assignment scope": { + "$ref": "./examples/PolicyEvents_QuerySubscriptionLevelPolicyAssignmentScope.json" + }, + "Query at subscription level policy assignment scope with next link": { + "$ref": "./examples/PolicyEvents_QuerySubscriptionLevelPolicyAssignmentScopeNextLink.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults": { + "post": { + "operationId": "PolicyEvents_ListQueryResultsForResourceGroupLevelPolicyAssignment", + "description": "Queries policy events for the resource group level policy assignment.", + "parameters": [ + { + "$ref": "#/parameters/policyEventsResourceParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/authorizationNamespaceParameter" + }, + { + "$ref": "#/parameters/policyAssignmentNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/topParameter" + }, + { + "$ref": "#/parameters/orderByParameter" + }, + { + "$ref": "#/parameters/selectParameter" + }, + { + "$ref": "#/parameters/fromParameter" + }, + { + "$ref": "#/parameters/toParameter" + }, + { + "$ref": "#/parameters/filterParameter" + }, + { + "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" + } + ], + "responses": { + "200": { + "description": "Query results.", + "schema": { + "$ref": "#/definitions/PolicyEventsQueryResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/QueryFailure" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-examples": { + "Query at resource group level policy assignment scope": { + "$ref": "./examples/PolicyEvents_QueryResourceGroupLevelPolicyAssignmentScope.json" + }, + "Query at resource group level policy assignment scope with next link": { + "$ref": "./examples/PolicyEvents_QueryResourceGroupLevelPolicyAssignmentScopeNextLink.json" + } + } + } + } + }, + "definitions": { + "PolicyEventsQueryResults": { + "description": "Query results.", + "properties": { + "@odata.context": { + "description": "OData context string; used by OData clients to resolve type information based on metadata.", + "type": "string" + }, + "@odata.count": { + "description": "OData entity count; represents the number of policy event records returned.", + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "@odata.nextLink": { + "description": "Odata next link; URL to get the next set of results.", + "type": "string" + }, + "value": { + "description": "Query results.", + "type": "array", + "items": { + "$ref": "#/definitions/PolicyEvent" + } + } + } + }, + "PolicyEvent": { + "type": "object", + "description": "Policy event record.", + "properties": { + "@odata.id": { + "description": "OData entity ID; always set to null since policy event records do not have an entity ID.", + "type": "string" + }, + "@odata.context": { + "description": "OData context string; used by OData clients to resolve type information based on metadata.", + "type": "string" + }, + "timestamp": { + "description": "Timestamp for the policy event record.", + "type": "string", + "format": "date-time" + }, + "resourceId": { + "description": "Resource ID.", + "type": "string" + }, + "policyAssignmentId": { + "description": "Policy assignment ID.", + "type": "string" + }, + "policyDefinitionId": { + "description": "Policy definition ID.", + "type": "string" + }, + "effectiveParameters": { + "description": "Effective parameters for the policy assignment.", + "type": "string" + }, + "isCompliant": { + "description": "Flag which states whether the resource is compliant against the policy assignment it was evaluated against.", + "type": "boolean" + }, + "subscriptionId": { + "description": "Subscription ID.", + "type": "string" + }, + "resourceType": { + "description": "Resource type.", + "type": "string" + }, + "resourceLocation": { + "description": "Resource location.", + "type": "string" + }, + "resourceGroup": { + "description": "Resource group name.", + "type": "string" + }, + "resourceTags": { + "description": "List of resource tags.", + "type": "string" + }, + "policyAssignmentName": { + "description": "Policy assignment name.", + "type": "string" + }, + "policyAssignmentOwner": { + "description": "Policy assignment owner.", + "type": "string" + }, + "policyAssignmentParameters": { + "description": "Policy assignment parameters.", + "type": "string" + }, + "policyAssignmentScope": { + "description": "Policy assignment scope.", + "type": "string" + }, + "policyDefinitionName": { + "description": "Policy definition name.", + "type": "string" + }, + "policyDefinitionAction": { + "description": "Policy definition action, i.e. effect.", + "type": "string" + }, + "policyDefinitionCategory": { + "description": "Policy definition category.", + "type": "string" + }, + "policySetDefinitionId": { + "description": "Policy set definition ID, if the policy assignment is for a policy set.", + "type": "string" + }, + "policySetDefinitionName": { + "description": "Policy set definition name, if the policy assignment is for a policy set.", + "type": "string" + }, + "policySetDefinitionOwner": { + "description": "Policy set definition owner, if the policy assignment is for a policy set.", + "type": "string" + }, + "policySetDefinitionCategory": { + "description": "Policy set definition category, if the policy assignment is for a policy set.", + "type": "string" + }, + "policySetDefinitionParameters": { + "description": "Policy set definition parameters, if the policy assignment is for a policy set.", + "type": "string" + }, + "managementGroupIds": { + "description": "Comma separated list of management group IDs, which represent the hierarchy of the management groups the resource is under.", + "type": "string" + }, + "policyDefinitionReferenceId": { + "description": "Reference ID for the policy definition inside the policy set, if the policy assignment is for a policy set.", + "type": "string" + }, + "tenantId": { + "description": "Tenant ID for the policy event record.", + "type": "string" + }, + "principalOid": { + "description": "Principal object ID for the user who initiated the resource operation that triggered the policy event.", + "type": "string" + } + }, + "additionalProperties": { + "description": "The list of key/value pairs for the additional properties, in the format 'key':'value' where key = the field name, and value = the field value. By default this is not populated" + } + }, + "QueryFailure": { + "description": "Error response.", + "properties": { + "error": { + "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 + } + } + } + } + }, + "MetadataDocument": { + "description": "Metadata XML document.", + "type": "string" + } + }, + "parameters": { + "policyEventsResourceParameter": { + "name": "policyEventsResource", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "description": "The name of the virtual resource under PolicyEvents resource type; only \"default\" is allowed.", + "x-ms-parameter-location": "method" + }, + "managementGroupsNamespaceParameter": { + "name": "managementGroupsNamespace", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "Microsoft.Management" + ], + "description": "The namespace for Microsoft Management RP; only \"Microsoft.Management\" is allowed.", + "x-ms-parameter-location": "method" + }, + "managementGroupNameParameter": { + "name": "managementGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Management group name.", + "x-ms-parameter-location": "method" + }, + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Microsoft Azure subscription ID.", + "x-ms-parameter-location": "method" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group name.", + "x-ms-parameter-location": "method" + }, + "resourceIdParameter": { + "name": "resourceId", + "in": "path", + "required": true, + "type": "string", + "description": "Resource ID.", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "authorizationNamespaceParameter": { + "name": "authorizationNamespace", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "Microsoft.Authorization" + ], + "description": "The namespace for Microsoft Authorization resource provider; only \"Microsoft.Authorization\" is allowed.", + "x-ms-parameter-location": "method" + }, + "policySetDefinitionNameParameter": { + "name": "policySetDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "Policy set definition name.", + "x-ms-parameter-location": "method" + }, + "policyDefinitionNameParameter": { + "name": "policyDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "Policy definition name.", + "x-ms-parameter-location": "method" + }, + "policyAssignmentNameParameter": { + "name": "policyAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "Policy assignment name.", + "x-ms-parameter-location": "method" + }, + "scopeParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "A valid scope, i.e. management group, subscription, resource group, or resource ID. Scope used has no effect on metadata returned.", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version.", + "x-ms-parameter-location": "client" + }, + "topParameter": { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "Maximum number of records to return.", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "QueryOptions" + }, + "x-ms-client-name": "Top" + }, + "orderByParameter": { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "Ordering expression using OData notation. One or more comma-separated column names with an optional \"desc\" (the default) or \"asc\", e.g. \"$orderby=PolicyAssignmentId, ResourceId asc\".", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "QueryOptions" + }, + "x-ms-client-name": "OrderBy" + }, + "selectParameter": { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "Select expression using OData notation. Limits the columns on each record to just those requested, e.g. \"$select=PolicyAssignmentId, ResourceId\".", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "QueryOptions" + }, + "x-ms-client-name": "Select" + }, + "fromParameter": { + "name": "$from", + "in": "query", + "required": false, + "type": "string", + "format": "date-time", + "description": "ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, the service uses ($to - 1-day).", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "QueryOptions" + }, + "x-ms-client-name": "From" + }, + "toParameter": { + "name": "$to", + "in": "query", + "required": false, + "type": "string", + "format": "date-time", + "description": "ISO 8601 formatted timestamp specifying the end time of the interval to query. When not specified, the service uses request time.", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "QueryOptions" + }, + "x-ms-client-name": "To" + }, + "filterParameter": { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression.", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "QueryOptions" + }, + "x-ms-client-name": "Filter" + }, + "applyParameter": { + "name": "$apply", + "in": "query", + "required": false, + "type": "string", + "description": "OData apply expression for aggregations.", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "QueryOptions" + }, + "x-ms-client-name": "Apply" + }, + "skipTokenParameter": { + "name": "$skiptoken", + "in": "query", + "required": false, + "type": "string", + "description": "Skiptoken is only provided if a previous response returned a partial result as a part of nextLink element.", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "QueryOptions" + }, + "x-ms-client-name": "SkipToken" + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/policyStates.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/policyStates.json index 6592e3709b40..44cac58658a1 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/policyStates.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/policyStates.json @@ -67,6 +67,9 @@ }, { "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" } ], "responses": { @@ -83,9 +86,15 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, "x-ms-examples": { "Query latest at management group scope": { "$ref": "./examples/PolicyStates_QueryManagementGroupScope.json" + }, + "Query latest at management group scope using odata nextLink": { + "$ref": "./examples/PolicyStates_QueryManagementGroupScopeNextLink.json" } } } @@ -175,6 +184,9 @@ }, { "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" } ], "responses": { @@ -191,10 +203,16 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, "x-ms-examples": { "Query latest at subscription scope": { "$ref": "./examples/PolicyStates_QuerySubscriptionScope.json" }, + "Query latest at subscription scope with next link": { + "$ref": "./examples/PolicyStates_QuerySubscriptionScopeNextLink.json" + }, "Time range; sort, select and limit": { "$ref": "./examples/PolicyStates_TimeRangeSortSelectTop.json" }, @@ -298,6 +316,9 @@ }, { "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" } ], "responses": { @@ -314,9 +335,15 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, "x-ms-examples": { "Query latest at resource group scope": { "$ref": "./examples/PolicyStates_QueryResourceGroupScope.json" + }, + "Query latest at resource group scope with next link": { + "$ref": "./examples/PolicyStates_QueryResourceGroupScopeNextLink.json" } } } @@ -409,6 +436,9 @@ }, { "$ref": "#/parameters/expandParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" } ], "responses": { @@ -425,10 +455,16 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, "x-ms-examples": { "Query all policy states at resource scope": { "$ref": "./examples/PolicyStates_QueryResourceScope.json" }, + "Query all policy states at resource scope with next link": { + "$ref": "./examples/PolicyStates_QueryResourceScopeNextLink.json" + }, "Query all policy states at subscription level resource scope": { "$ref": "./examples/PolicyStates_QuerySubscriptionLevelResourceScope.json" }, @@ -532,6 +568,9 @@ }, { "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" } ], "responses": { @@ -548,9 +587,15 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, "x-ms-examples": { "Query latest at subscription level policy set definition scope": { "$ref": "./examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScope.json" + }, + "Query latest at subscription level policy set definition scope with next link": { + "$ref": "./examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScopeNextLink.json" } } } @@ -649,6 +694,9 @@ }, { "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" } ], "responses": { @@ -665,9 +713,15 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, "x-ms-examples": { "Query latest at subscription level policy definition scope": { "$ref": "./examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScope.json" + }, + "Query latest at subscription level policy definition scope with next link": { + "$ref": "./examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScopeNextLink.json" } } } @@ -766,6 +820,9 @@ }, { "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" } ], "responses": { @@ -782,9 +839,15 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, "x-ms-examples": { "Query latest at subscription level policy assignment scope": { "$ref": "./examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScope.json" + }, + "Query latest at subscription level policy assignment scope with next Link": { + "$ref": "./examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScopeNextLink.json" } } } @@ -886,6 +949,9 @@ }, { "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" } ], "responses": { @@ -902,9 +968,15 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, "x-ms-examples": { "Query latest at resource group level policy assignment scope": { "$ref": "./examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScope.json" + }, + "Query latest at resource group level policy assignment scope with next link": { + "$ref": "./examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScopeNextLink.json" } } } @@ -1047,6 +1119,10 @@ "format": "int32", "minimum": 0 }, + "@odata.nextLink": { + "description": "Odata next link; URL to get the next set of results.", + "type": "string" + }, "value": { "description": "Query results.", "type": "array", @@ -1654,6 +1730,18 @@ "name": "QueryOptions" }, "x-ms-client-name": "Expand" + }, + "skipTokenParameter": { + "name": "$skiptoken", + "in": "query", + "required": false, + "type": "string", + "description": "Skiptoken is only provided if a previous response returned a partial result as a part of nextLink element.", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "QueryOptions" + }, + "x-ms-client-name": "SkipToken" } } } diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_GetMetadata.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_GetMetadata.json deleted file mode 100644 index 8a83fb958656..000000000000 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_GetMetadata.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "parameters": { - "scope": "subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", - "api-version": "2019-10-01" - }, - "responses": { - "200": { - "headers": { - "content-type": "application/xml" - }, - "body": " Org.OData.Capabilities.V1.ConformanceLevelType/Minimal application/json;odata.metadata=minimal;IEEE754Compatible=false;odata.streaming=true application/json;odata.metadata=none;IEEE754Compatible=false;odata.streaming=true " - } - } -} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryManagementGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryManagementGroupScope.json index ed8d1f600cca..35e28c1358b4 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryManagementGroupScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryManagementGroupScope.json @@ -8,6 +8,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", "@odata.count": 2, "value": [ @@ -40,7 +41,8 @@ "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", "policyDefinitionReferenceId": "15521232277412542086", "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", - "principalOid": "fff3e452-fff2-fff1-fff8-fff12618f1b8" + "principalOid": "fff3e452-fff2-fff1-fff8-fff12618f1b8", + "complianceState": "NonCompliant" }, { "@odata.id": null, @@ -71,7 +73,8 @@ "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", "policyDefinitionReferenceId": "", "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", - "principalOid": "fff3e452-fff2-fff1-fff8-fff12618f1b8" + "principalOid": "fff3e452-fff2-fff1-fff8-fff12618f1b8", + "complianceState": "NonCompliant" } ] } 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 new file mode 100644 index 000000000000..35e65b711864 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryManagementGroupScopeNextLink.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "policyEventsResource": "default", + "managementGroupsNamespace": "Microsoft.Management", + "managementGroupName": "myManagementGroup", + "api-version": "2019-10-01", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T22:19:18.8896095Z", + "resourceId": "/subscriptions/fff8dfdb-fff3-fff0-fff4-fffdcbe6b2ef/resourceGroups/myrg/providers/Microsoft.Compute/virtualMachines/myvm1/extensions/DAExtension", + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/1ef5d536aec743a0aa801c1a", + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff8dfdb-fff3-fff0-fff4-fffdcbe6b2ef", + "resourceType": "/Microsoft.Compute/virtualMachines/extensions", + "resourceLocation": "westeurope", + "resourceGroup": "myrg", + "resourceTags": "tbd", + "policyAssignmentName": "1ef5d536aec743a0aa801c1a", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/335cefd2-ab16-430f-b364-974a170eb1d5", + "policySetDefinitionName": "335cefd2-ab16-430f-b364-974a170eb1d5", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "15521232277412542086", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff3e452-fff2-fff1-fff8-fff12618f1b8", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T22:19:18.8896095Z", + "resourceId": "/subscriptions/fff8dfdb-fff3-fff0-fff4-fffdcbe6b2ef/resourceGroups/myrg/providers/Microsoft.Compute/virtualMachines/myvm1/extensions/DAExtension", + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/95816fce53454b15a7ed803d", + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/a2c0414b-82e4-459d-97d5-94c79a89232c", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff8dfdb-fff3-fff0-fff4-fffdcbe6b2ef", + "resourceType": "/Microsoft.Compute/virtualMachines/extensions", + "resourceLocation": "westeurope", + "resourceGroup": "myrg", + "resourceTags": "tbd", + "policyAssignmentName": "95816fce53454b15a7ed803d", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"eastus\"]}}", + "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "policyDefinitionName": "a2c0414b-82e4-459d-97d5-94c79a89232c", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "", + "policySetDefinitionName": "", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff3e452-fff2-fff1-fff8-fff12618f1b8", + "complianceState": "NonCompliant" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryNestedResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryNestedResourceScope.json index f52bc3c69f3d..865d02b19e8a 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryNestedResourceScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryNestedResourceScope.json @@ -7,6 +7,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/microsoft.servicefabric/clusters/myCluster/applications/myApplication/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", "@odata.count": 2, "value": [ @@ -39,7 +40,8 @@ "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", "policyDefinitionReferenceId": "181565554491747128", "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", - "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6" + "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6", + "complianceState": "NonCompliant" }, { "@odata.id": null, @@ -70,7 +72,8 @@ "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", "policyDefinitionReferenceId": "624540685646900425", "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", - "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6" + "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6", + "complianceState": "NonCompliant" } ] } diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryResourceGroupLevelPolicyAssignmentScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryResourceGroupLevelPolicyAssignmentScope.json index 9167657ccb13..515eef52337f 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryResourceGroupLevelPolicyAssignmentScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryResourceGroupLevelPolicyAssignmentScope.json @@ -10,6 +10,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", "@odata.count": 2, "value": [ @@ -42,7 +43,8 @@ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", "policyDefinitionReferenceId": null, "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", - "principalOid": "fff2f355-fff2-fffc-fffb-fff1639dff94" + "principalOid": "fff2f355-fff2-fffc-fffb-fff1639dff94", + "complianceState": "NonCompliant" }, { "@odata.id": null, @@ -73,7 +75,8 @@ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", "policyDefinitionReferenceId": null, "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", - "principalOid": "fff2f355-fff2-fffc-fffb-fff1639dff94" + "principalOid": "fff2f355-fff2-fffc-fffb-fff1639dff94", + "complianceState": "NonCompliant" } ] } 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 new file mode 100644 index 000000000000..45e0bd6a396e --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryResourceGroupLevelPolicyAssignmentScopeNextLink.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "policyEventsResource": "default", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceGroupName": "myResourceGroup", + "authorizationNamespace": "Microsoft.Authorization", + "policyAssignmentName": "myPolicyAssignment", + "api-version": "2019-10-01", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-08T00:07:16.2804863Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/microsoft.operationalinsights/workspaces/defaultworkspace-fffedd8f-ffff-fffd-fffd-fffed2f84852-eus", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyDefinitions/myPolicyDefinition", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/microsoft.operationalinsights/workspaces", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "myPolicyAssignment", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": null, + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup", + "policyDefinitionName": "myPolicyAssignment", + "policyDefinitionAction": "deny", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": null, + "policySetDefinitionName": null, + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff2f355-fff2-fffc-fffb-fff1639dff94", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-08T00:06:08.4302267Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/microsoft.operationalinsights/workspaces/defaultworkspace-fffedd8f-ffff-fffd-fffd-fffed2f84852-eus", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyDefinitions/myPolicyDefinition", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/microsoft.operationalinsights/workspaces", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "myPolicyAssignment", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": null, + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup", + "policyDefinitionName": "myPolicyAssignment", + "policyDefinitionAction": "deny", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": null, + "policySetDefinitionName": null, + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff2f355-fff2-fffc-fffb-fff1639dff94", + "complianceState": "NonCompliant" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryResourceGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryResourceGroupScope.json index ad63532b63fd..45ebef141309 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryResourceGroupScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryResourceGroupScope.json @@ -8,6 +8,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", "@odata.count": 2, "value": [ @@ -40,7 +41,8 @@ "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", "policyDefinitionReferenceId": "181565554491747128", "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", - "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6" + "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6", + "complianceState": "NonCompliant" }, { "@odata.id": null, @@ -71,7 +73,8 @@ "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", "policyDefinitionReferenceId": "624540685646900425", "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", - "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6" + "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6", + "complianceState": "NonCompliant" } ] } 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 new file mode 100644 index 000000000000..aaa00e7e5dd2 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryResourceGroupScopeNextLink.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "policyEventsResource": "default", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceGroupName": "myResourceGroup", + "api-version": "2019-10-01", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T20:43:04.6971328Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication", + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4", + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.ServiceFabric/clusters/applications", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "ec62f9b2a454487296f2ccd4", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}", + "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "181565554491747128", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T20:43:04.6971328Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication", + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4", + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.ServiceFabric/clusters/applications", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "ec62f9b2a454487296f2ccd4", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}", + "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "624540685646900425", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6", + "complianceState": "NonCompliant" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryResourceScope.json index e6156b11551c..2d14da32d9bd 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryResourceScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryResourceScope.json @@ -7,6 +7,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", "@odata.count": 2, "value": [ @@ -39,7 +40,8 @@ "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", "policyDefinitionReferenceId": null, "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", - "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078" + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" }, { "@odata.id": null, @@ -70,7 +72,8 @@ "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", "policyDefinitionReferenceId": null, "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", - "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078" + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" } ] } 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 new file mode 100644 index 000000000000..edc6d3d1448a --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryResourceScopeNextLink.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "policyEventsResource": "default", + "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName", + "api-version": "2019-10-01", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T15:14:39.8473851Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName", + "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.ClassicCompute/domainNames", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "policyDefinitionName": "201ea587-7c90-41c3-910f-c280ae01cfd6", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T15:14:39.5842458Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName", + "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/d15545b8-ff50-409a-a6e3-5bd5cc954003", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.ClassicCompute/domainNames", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "d15545b8-ff50-409a-a6e3-5bd5cc954003", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "policyDefinitionName": "201ea587-7c90-41c3-910f-c280ae01cfd6", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelNestedResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelNestedResourceScope.json index 56aee0d55c7c..9c41b0d55619 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelNestedResourceScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelNestedResourceScope.json @@ -7,6 +7,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", "@odata.count": 2, "value": [ @@ -39,7 +40,8 @@ "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", "policyDefinitionReferenceId": "181565554491747128", "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", - "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6" + "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6", + "complianceState": "NonCompliant" }, { "@odata.id": null, @@ -70,7 +72,8 @@ "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", "policyDefinitionReferenceId": "624540685646900425", "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", - "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6" + "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6", + "complianceState": "NonCompliant" } ] } diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelPolicyAssignmentScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelPolicyAssignmentScope.json index 92e8f127c730..0ee9514c3996 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelPolicyAssignmentScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelPolicyAssignmentScope.json @@ -9,6 +9,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", "@odata.count": 2, "value": [ @@ -41,7 +42,8 @@ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", "policyDefinitionReferenceId": null, "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", - "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078" + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" }, { "@odata.id": null, @@ -72,7 +74,8 @@ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", "policyDefinitionReferenceId": null, "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", - "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078" + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" } ] } 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 new file mode 100644 index 000000000000..af28e1c64a17 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelPolicyAssignmentScopeNextLink.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "policyEventsResource": "default", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "authorizationNamespace": "Microsoft.Authorization", + "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "api-version": "2019-10-01", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-08T19:59:38.6401747Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.ClassicCompute/domainNames", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "201ea587-7c90-41c3-910f-c280ae01cfd6", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-08T19:59:34.2017762Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/9daedab3-fb2d-461e-b861-71790eead4f6", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.ClassicCompute/domainNames", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "9daedab3-fb2d-461e-b861-71790eead4f6", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelPolicyDefinitionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelPolicyDefinitionScope.json index 938bf4e2eb08..c28f3e0a0235 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelPolicyDefinitionScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelPolicyDefinitionScope.json @@ -9,6 +9,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", "@odata.count": 2, "value": [ @@ -41,7 +42,8 @@ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", "policyDefinitionReferenceId": "14799174781370023846", "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", - "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078" + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" }, { "@odata.id": null, @@ -72,7 +74,8 @@ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", "policyDefinitionReferenceId": "1679708035638239273", "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", - "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078" + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" } ] } 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 new file mode 100644 index 000000000000..5e83b32ebebd --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelPolicyDefinitionScopeNextLink.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "policyEventsResource": "default", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "authorizationNamespace": "Microsoft.Authorization", + "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", + "api-version": "2019-10-01", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-08T19:58:11.590596Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/deploymentSlots/production/state/start", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/f4cc58b7db524a9799381531", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.ClassicCompute/domainNames/deploymentSlots/state", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "f4cc58b7db524a9799381531", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"TAGNAME_1\":{\"value\":\"NA\"}}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697", + "policySetDefinitionName": "12b58873-e0f8-4b95-936c-86cbe7c9d697", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "14799174781370023846", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-08T19:58:11.590596Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/deploymentSlots/production/state/start", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/f4cc58b7db524a9799381531", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.ClassicCompute/domainNames/deploymentSlots/state", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "f4cc58b7db524a9799381531", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"TAGNAME_1\":{\"value\":\"NA\"}}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697", + "policySetDefinitionName": "12b58873-e0f8-4b95-936c-86cbe7c9d697", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "1679708035638239273", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelPolicySetDefinitionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelPolicySetDefinitionScope.json index 987f254b2586..959d102850ff 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelPolicySetDefinitionScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelPolicySetDefinitionScope.json @@ -9,6 +9,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", "@odata.count": 2, "value": [ @@ -41,7 +42,8 @@ "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", "policyDefinitionReferenceId": null, "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", - "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078" + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" }, { "@odata.id": null, @@ -72,7 +74,8 @@ "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", "policyDefinitionReferenceId": null, "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", - "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078" + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" } ] } 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 new file mode 100644 index 000000000000..04873b559997 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelPolicySetDefinitionScopeNextLink.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "policyEventsResource": "default", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "authorizationNamespace": "Microsoft.Authorization", + "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "api-version": "2019-10-01", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-08T19:49:32.9539023Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/serviceCertificates/sha1-FFFBDAF1FFFF109FFFD95FFFC9B0FFFD6F264FFF", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.ClassicCompute/domainNames/serviceCertificates", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "3f3c4330183b4e218fe6fd29", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-08T19:49:32.9498186Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/serviceCertificates/sha1-FFF36C1CFFF4BEA57FFFEFCFFF17B9F81B710FFF", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.ClassicCompute/domainNames/serviceCertificates", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "3f3c4330183b4e218fe6fd29", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelResourceScope.json index e0b15863521a..131d542a513f 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelResourceScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelResourceScope.json @@ -7,6 +7,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", "@odata.count": 2, "value": [ @@ -39,7 +40,8 @@ "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", "policyDefinitionReferenceId": null, "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", - "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078" + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" }, { "@odata.id": null, @@ -70,7 +72,8 @@ "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", "policyDefinitionReferenceId": null, "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", - "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078" + "principalOid": "fff890fa-fff0-fff3-fff9-fffd7653f078", + "complianceState": "NonCompliant" } ] } diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionScope.json index 8799053fc6fc..37676c2a5552 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionScope.json @@ -7,6 +7,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", "@odata.count": 2, "value": [ @@ -39,7 +40,8 @@ "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", "policyDefinitionReferenceId": "181565554491747128", "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", - "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6" + "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6", + "complianceState": "NonCompliant" }, { "@odata.id": null, @@ -70,7 +72,8 @@ "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", "policyDefinitionReferenceId": "624540685646900425", "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", - "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6" + "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6", + "complianceState": "NonCompliant" } ] } 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 new file mode 100644 index 000000000000..232c6e27597e --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionScopeNextLink.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "policyEventsResource": "default", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "api-version": "2019-10-01", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T20:43:04.6971328Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication", + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4", + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.ServiceFabric/clusters/applications", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "ec62f9b2a454487296f2ccd4", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}", + "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "181565554491747128", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6", + "complianceState": "NonCompliant" + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.PolicyInsights/policyEvents/$metadata#default/$entity", + "timestamp": "2018-02-07T20:43:04.6971328Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication", + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/ec62f9b2a454487296f2ccd4", + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.ServiceFabric/clusters/applications", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "ec62f9b2a454487296f2ccd4", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"ALLOWEDRESOURCEGROUPS_1\":{\"value\":[\"rg1\",\"rg2\"]},\"ALLOWEDRESOURCEGROUPS_2\":{\"value\":[\"myrg3\",\"myrg4\"]}}", + "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "policyDefinitionName": "72c0c41a-c752-4bc0-9c61-0d6adc567066", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionName": "00b36c66-612b-44e2-9f8e-b758296d40fe", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "624540685646900425", + "tenantId": "fff988bf-fff1-ffff-fffb-fffcd011db47", + "principalOid": "fffdfc0f-fff5-fff0-fff3-fff1a968dcc6", + "complianceState": "NonCompliant" + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryManagementGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryManagementGroupScope.json index bafd79a9d12b..f34c2f5b1a65 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryManagementGroupScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryManagementGroupScope.json @@ -8,6 +8,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", "@odata.count": 2, "value": [ 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 new file mode 100644 index 000000000000..ab5e1ea52d23 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryManagementGroupScopeNextLink.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "policyStatesResource": "latest", + "managementGroupsNamespace": "Microsoft.Management", + "managementGroupName": "myManagementGroup", + "api-version": "2019-10-01", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2019-10-09T17:41:47Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/microsoft.insights/autoscalesettings/mytest1", + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/1ef5d536aec743a0aa801c1a", + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/microsoft.insights/autoscalesettings", + "resourceLocation": "westus", + "resourceGroup": "myrg1", + "resourceTags": "tbd", + "policyAssignmentName": "1ef5d536aec743a0aa801c1a", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/335cefd2-ab16-430f-b364-974a170eb1d5", + "policySetDefinitionName": "335cefd2-ab16-430f-b364-974a170eb1d5", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "15521232277412542086", + "complianceState": "NonCompliant", + "policyDefinitionGroupNames": [ + "myGroup" + ] + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2019-10-09T17:41:47Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/microsoft.insights/autoscalesettings/mytest1", + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/186044306c044a1d8c0ff76c", + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d", + "effectiveParameters": null, + "isCompliant": true, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/microsoft.insights/autoscalesettings", + "resourceLocation": "westus", + "resourceGroup": "myrg1", + "resourceTags": "tbd", + "policyAssignmentName": "186044306c044a1d8c0ff76c", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"centralus\"]}}", + "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "", + "policySetDefinitionName": "", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "", + "complianceState": "Compliant", + "policyDefinitionGroupNames": [ + "myGroup" + ] + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryNestedResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryNestedResourceScope.json index 2b68d81e815e..ba0ef49a7fb5 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryNestedResourceScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryNestedResourceScope.json @@ -7,6 +7,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication/providers/Microsoft.PolicyInsights/policyStates/$metadata#default", "@odata.count": 2, "value": [ diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScope.json index 344529acf5ef..4d4bf15ad968 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScope.json @@ -10,6 +10,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", "@odata.count": 2, "value": [ 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 new file mode 100644 index 000000000000..d107a6a9be18 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScopeNextLink.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "policyStatesResource": "latest", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceGroupName": "myResourceGroup", + "authorizationNamespace": "Microsoft.Authorization", + "policyAssignmentName": "myPolicyAssignment", + "api-version": "2019-10-01", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2019-10-13T00:38:50Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Security/policies/mySecurityPolicy", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/4a0425e4-97bf-4ad0-ab36-145b94083c60", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.Security/policies", + "resourceLocation": null, + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "myPolicyAssignment", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"EUS, WEU\"]}}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup", + "policyDefinitionName": "4a0425e4-97bf-4ad0-ab36-145b94083c60", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": null, + "policySetDefinitionName": null, + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant", + "policyDefinitionGroupNames": [ + "myGroup" + ] + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2019-10-13T00:38:50Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/test", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/4a0425e4-97bf-4ad0-ab36-145b94083c60", + "effectiveParameters": null, + "isCompliant": true, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.Authorization/policyAssignments", + "resourceLocation": null, + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "myPolicyAssignment", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"EUS, WEU\"]}}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup", + "policyDefinitionName": "4a0425e4-97bf-4ad0-ab36-145b94083c60", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": null, + "policySetDefinitionName": null, + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "complianceState": "Compliant", + "policyDefinitionGroupNames": [ + "myGroup" + ] + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceGroupScope.json index a9c1bb25cd24..0255f78752a0 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceGroupScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceGroupScope.json @@ -8,6 +8,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", "@odata.count": 2, "value": [ 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 new file mode 100644 index 000000000000..c3fa3fe3023f --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceGroupScopeNextLink.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "policyStatesResource": "latest", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceGroupName": "myResourceGroup", + "api-version": "2019-10-01", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2019-10-09T18:42:42Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/mysa1", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.Storage/storageAccounts", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "3f3c4330183b4e218fe6fd29", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant", + "policyDefinitionGroupNames": [ + "myGroup" + ] + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2019-10-09T18:42:42Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/mysa1", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e3682", + "effectiveParameters": null, + "isCompliant": true, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.Storage/storageAccounts", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "3f3c4330183b4e218fe6fd29", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e3682", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "complianceState": "Compliant", + "policyDefinitionGroupNames": [ + "myGroup" + ] + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceScope.json index fe1925455bd9..eba1dfe8c3ae 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceScope.json @@ -7,6 +7,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default", "@odata.count": 2, "value": [ 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 5ab54110b2c8..2bf56cd9c2f1 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 @@ -8,6 +8,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default", "@odata.count": 2, "value": [ 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 new file mode 100644 index 000000000000..66b643857d0b --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceScopeNextLink.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "policyStatesResource": "default", + "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName", + "api-version": "2019-10-01", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity", + "timestamp": "2019-10-09T16:04:31Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName", + "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/test", + "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyDefinitions/Audit a tag and it's value", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.ClassicCompute/domainNames", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "test", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"tagName\":{\"value\":\"no\"},\"tagValue\":{\"value\":\"no\"}}", + "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "policyDefinitionName": "Audit a tag and it's value", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": null, + "policySetDefinitionName": null, + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant", + "policyDefinitionGroupNames": [ + "myGroup" + ] + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity", + "timestamp": "2019-10-09T16:04:31Z", + "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName", + "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/test", + "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyDefinitions/Audit a tag and it's value", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "resourceType": "/Microsoft.ClassicCompute/domainNames", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "test", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"tagName\":{\"value\":\"no\"},\"tagValue\":{\"value\":\"no\"}}", + "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5", + "policyDefinitionName": "Audit a tag and it's value", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": null, + "policySetDefinitionName": null, + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant", + "policyDefinitionGroupNames": [ + "myGroup" + ] + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelNestedResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelNestedResourceScope.json index e504218c4209..775922d8a499 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelNestedResourceScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelNestedResourceScope.json @@ -7,6 +7,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource/providers/Microsoft.PolicyInsights/policyStates/$metadata#default", "@odata.count": 2, "value": [ diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScope.json index c450a3f57202..6c1766b0ea32 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScope.json @@ -9,6 +9,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", "@odata.count": 2, "value": [ 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 new file mode 100644 index 000000000000..7c197f729eef --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScopeNextLink.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "policyStatesResource": "latest", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "authorizationNamespace": "Microsoft.Authorization", + "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "api-version": "2019-10-01", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2019-10-13T00:45:19Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/my-ip-1", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/c8b79b49-a579-4045-984e-1b249ab8b474", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.Network/publicIPAddresses", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"TAGNAME_1\":{\"value\":\"test\"}}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "c8b79b49-a579-4045-984e-1b249ab8b474", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697", + "policySetDefinitionName": "12b58873-e0f8-4b95-936c-86cbe7c9d697", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "2124621540977569058", + "complianceState": "NonCompliant", + "policyDefinitionGroupNames": [ + "myGroup" + ] + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2019-10-13T00:45:19Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/my-ip-1", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1", + "effectiveParameters": null, + "isCompliant": true, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.Network/publicIPAddresses", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"TAGNAME_1\":{\"value\":\"test\"}}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697", + "policySetDefinitionName": "12b58873-e0f8-4b95-936c-86cbe7c9d697", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": "14799174781370023846", + "complianceState": "Compliant", + "policyDefinitionGroupNames": [ + "myGroup" + ] + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScope.json index 3a7d3c2c6d98..cc85b6ed3535 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScope.json @@ -9,6 +9,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", "@odata.count": 2, "value": [ 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 new file mode 100644 index 000000000000..556b9b42ec99 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScopeNextLink.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "policyStatesResource": "latest", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "authorizationNamespace": "Microsoft.Authorization", + "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", + "api-version": "2019-10-01", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2019-10-13T00:50:27Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication/services/myService", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/d9da7e80af6344ab9d342aa7", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.ServiceFabric/clusters/applications/services", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "d9da7e80af6344ab9d342aa7", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"tagName\":{\"value\":\"MyTag\"}}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": null, + "policySetDefinitionName": null, + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant", + "policyDefinitionGroupNames": [ + "myGroup" + ] + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2019-10-13T00:50:27Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication/services/myService", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/d9da7e80af6344ab9d342aa7", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1", + "effectiveParameters": null, + "isCompliant": true, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.ServiceFabric/clusters/applications/services", + "resourceLocation": "eastus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "d9da7e80af6344ab9d342aa7", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{\"tagName\":{\"value\":\"MyTag\"}}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": null, + "policySetDefinitionName": null, + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "complianceState": "Compliant", + "policyDefinitionGroupNames": [ + "myGroup" + ] + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScope.json index 0ef96902f50c..86f748aee444 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScope.json @@ -9,6 +9,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", "@odata.count": 2, "value": [ 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 new file mode 100644 index 000000000000..f5928e9bc5a7 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScopeNextLink.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "policyStatesResource": "latest", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "authorizationNamespace": "Microsoft.Authorization", + "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "api-version": "2019-10-01", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2019-10-13T00:54:58Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Web/sites/mySite", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.Web/sites", + "resourceLocation": "centralus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "3f3c4330183b4e218fe6fd29", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", + "policyDefinitionAction": "audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant", + "policyDefinitionGroupNames": [ + "myGroup" + ] + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2019-10-13T00:54:58Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Web/sites/mySite", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29", + "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/LocationAuditDefinition", + "effectiveParameters": null, + "isCompliant": true, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.Web/sites", + "resourceLocation": "centralus", + "resourceGroup": "myResourceGroup", + "resourceTags": "tbd", + "policyAssignmentName": "3f3c4330183b4e218fe6fd29", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "LocationAuditDefinition", + "policyDefinitionAction": "Audit", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "complianceState": "Compliant", + "policyDefinitionGroupNames": [ + "myGroup" + ] + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelResourceScope.json index 1ca2e7fa09f4..c483a21bc1cd 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelResourceScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelResourceScope.json @@ -7,6 +7,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default", "@odata.count": 2, "value": [ diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionScope.json index 8e73c1085c1b..a53636fc0492 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionScope.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionScope.json @@ -7,6 +7,7 @@ "responses": { "200": { "body": { + "@odata.nextLink": null, "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", "@odata.count": 2, "value": [ 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 new file mode 100644 index 000000000000..018894716955 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionScopeNextLink.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "policyStatesResource": "latest", + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "api-version": "2019-10-01", + "$skipToken": "WpmWfBSvPhkAK6QD" + }, + "responses": { + "200": { + "body": { + "@odata.nextLink": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest", + "@odata.count": 2, + "value": [ + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2019-10-09T17:48:05Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/Microsoft.Network/publicIPAddresses/mypubip1", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/Enable Monitoring in Azure Security Center", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/9daedab3-fb2d-461e-b861-71790eead4f6", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.Network/publicIPAddresses", + "resourceLocation": "eastus", + "resourceGroup": "myrg1", + "resourceTags": "tbd", + "policyAssignmentName": "Enable Monitoring in Azure Security Center", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "9daedab3-fb2d-461e-b861-71790eead4f6", + "policyDefinitionAction": "AuditIfNotExists", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant", + "policyDefinitionGroupNames": [ + "myGroup" + ] + }, + { + "@odata.id": null, + "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity", + "timestamp": "2019-10-09T17:48:05Z", + "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/Microsoft.Network/publicIPAddresses/mypubip1", + "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/9ac09b0657d942e5ad4041a6", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/9daedab3-fb2d-461e-b861-71790eead4f6", + "effectiveParameters": null, + "isCompliant": false, + "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", + "resourceType": "/Microsoft.Network/publicIPAddresses", + "resourceLocation": "eastus", + "resourceGroup": "myrg1", + "resourceTags": "tbd", + "policyAssignmentName": "9ac09b0657d942e5ad4041a6", + "policyAssignmentOwner": "tbd", + "policyAssignmentParameters": "{}", + "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852", + "policyDefinitionName": "9daedab3-fb2d-461e-b861-71790eead4f6", + "policyDefinitionAction": "AuditIfNotExists", + "policyDefinitionCategory": "tbd", + "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "policySetDefinitionOwner": null, + "policySetDefinitionCategory": null, + "policySetDefinitionParameters": null, + "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47", + "policyDefinitionReferenceId": null, + "complianceState": "NonCompliant", + "policyDefinitionGroupNames": [ + "myGroup" + ] + } + ] + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/policyEvents.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/policyEvents.json index 9c725a6436a5..f3c4a1d667f5 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/policyEvents.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/policyEvents.json @@ -67,6 +67,9 @@ }, { "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" } ], "responses": { @@ -83,9 +86,15 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, "x-ms-examples": { "Query at management group scope": { "$ref": "./examples/PolicyEvents_QueryManagementGroupScope.json" + }, + "Query at management group scope with next link": { + "$ref": "./examples/PolicyEvents_QueryManagementGroupScopeNextLink.json" } } } @@ -124,6 +133,9 @@ }, { "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" } ], "responses": { @@ -140,10 +152,16 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, "x-ms-examples": { "Query at subscription scope": { "$ref": "./examples/PolicyEvents_QuerySubscriptionScope.json" }, + "Query at subscription scope with next link": { + "$ref": "./examples/PolicyEvents_QuerySubscriptionScopeNextLink.json" + }, "Time range; sort, select and limit": { "$ref": "./examples/PolicyEvents_TimeRangeSortSelectTop.json" }, @@ -199,6 +217,9 @@ }, { "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" } ], "responses": { @@ -215,9 +236,15 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, "x-ms-examples": { "Query at resource group scope": { "$ref": "./examples/PolicyEvents_QueryResourceGroupScope.json" + }, + "Query at resource group scope with next link": { + "$ref": "./examples/PolicyEvents_QueryResourceGroupScopeNextLink.json" } } } @@ -259,6 +286,9 @@ }, { "$ref": "#/parameters/expandParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" } ], "responses": { @@ -275,10 +305,16 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, "x-ms-examples": { "Query at resource scope": { "$ref": "./examples/PolicyEvents_QueryResourceScope.json" }, + "Query at resource scope with next link": { + "$ref": "./examples/PolicyEvents_QueryResourceScopeNextLink.json" + }, "Query at subscription level resource scope": { "$ref": "./examples/PolicyEvents_QuerySubscriptionLevelResourceScope.json" }, @@ -337,6 +373,9 @@ }, { "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" } ], "responses": { @@ -353,9 +392,15 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, "x-ms-examples": { "Query at subscription level policy set definition scope": { "$ref": "./examples/PolicyEvents_QuerySubscriptionLevelPolicySetDefinitionScope.json" + }, + "Query at subscription level policy set definition scope with next link": { + "$ref": "./examples/PolicyEvents_QuerySubscriptionLevelPolicySetDefinitionScopeNextLink.json" } } } @@ -400,6 +445,9 @@ }, { "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" } ], "responses": { @@ -416,9 +464,15 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, "x-ms-examples": { "Query at subscription level policy definition scope": { "$ref": "./examples/PolicyEvents_QuerySubscriptionLevelPolicyDefinitionScope.json" + }, + "Query at subscription level policy definition scope with next link": { + "$ref": "./examples/PolicyEvents_QuerySubscriptionLevelPolicyDefinitionScopeNextLink.json" } } } @@ -463,6 +517,9 @@ }, { "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" } ], "responses": { @@ -479,9 +536,15 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, "x-ms-examples": { "Query at subscription level policy assignment scope": { "$ref": "./examples/PolicyEvents_QuerySubscriptionLevelPolicyAssignmentScope.json" + }, + "Query at subscription level policy assignment scope with next link": { + "$ref": "./examples/PolicyEvents_QuerySubscriptionLevelPolicyAssignmentScopeNextLink.json" } } } @@ -529,6 +592,9 @@ }, { "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" } ], "responses": { @@ -545,45 +611,15 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, "x-ms-examples": { "Query at resource group level policy assignment scope": { "$ref": "./examples/PolicyEvents_QueryResourceGroupLevelPolicyAssignmentScope.json" - } - } - } - }, - "/{scope}/providers/Microsoft.PolicyInsights/policyEvents/$metadata": { - "get": { - "operationId": "PolicyEvents_GetMetadata", - "description": "Gets OData metadata XML document.", - "produces": [ - "application/xml" - ], - "parameters": [ - { - "$ref": "#/parameters/scopeParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OData metadata XML document.", - "schema": { - "$ref": "#/definitions/MetadataDocument" - } }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/QueryFailure" - } - } - }, - "x-ms-examples": { - "Get metadata": { - "$ref": "./examples/PolicyEvents_GetMetadata.json" + "Query at resource group level policy assignment scope with next link": { + "$ref": "./examples/PolicyEvents_QueryResourceGroupLevelPolicyAssignmentScopeNextLink.json" } } } @@ -603,6 +639,10 @@ "format": "int32", "minimum": 0 }, + "@odata.nextLink": { + "description": "Odata next link; URL to get the next set of results.", + "type": "string" + }, "value": { "description": "Query results.", "type": "array", @@ -917,7 +957,7 @@ "in": "query", "required": true, "type": "string", - "description": "API version to use with the client requests.", + "description": "Client Api Version.", "x-ms-parameter-location": "client" }, "topParameter": { @@ -1019,6 +1059,18 @@ "name": "QueryOptions" }, "x-ms-client-name": "Expand" + }, + "skipTokenParameter": { + "name": "$skiptoken", + "in": "query", + "required": false, + "type": "string", + "description": "Skiptoken is only provided if a previous response returned a partial result as a part of nextLink element.", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "QueryOptions" + }, + "x-ms-client-name": "SkipToken" } } } diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/policyStates.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/policyStates.json index ca46c7b1804b..aa28868c3b51 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/policyStates.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/policyStates.json @@ -67,6 +67,9 @@ }, { "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" } ], "responses": { @@ -83,9 +86,15 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, "x-ms-examples": { "Query latest at management group scope": { "$ref": "./examples/PolicyStates_QueryManagementGroupScope.json" + }, + "Query latest at management group scope with next link": { + "$ref": "./examples/PolicyStates_QueryManagementGroupScopeNextLink.json" } } } @@ -175,6 +184,9 @@ }, { "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" } ], "responses": { @@ -191,10 +203,16 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, "x-ms-examples": { "Query latest at subscription scope": { "$ref": "./examples/PolicyStates_QuerySubscriptionScope.json" }, + "Query latest at subscription scope with next link": { + "$ref": "./examples/PolicyStates_QuerySubscriptionScopeNextLink.json" + }, "Time range; sort, select and limit": { "$ref": "./examples/PolicyStates_TimeRangeSortSelectTop.json" }, @@ -301,6 +319,9 @@ }, { "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" } ], "responses": { @@ -317,9 +338,15 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, "x-ms-examples": { "Query latest at resource group scope": { "$ref": "./examples/PolicyStates_QueryResourceGroupScope.json" + }, + "Query latest at resource group scope with next link": { + "$ref": "./examples/PolicyStates_QueryResourceGroupScopeNextLink.json" } } } @@ -412,6 +439,9 @@ }, { "$ref": "#/parameters/expandParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" } ], "responses": { @@ -428,10 +458,16 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, "x-ms-examples": { "Query all policy states at resource scope": { "$ref": "./examples/PolicyStates_QueryResourceScope.json" }, + "Query all policy states at resource scope with next link": { + "$ref": "./examples/PolicyStates_QueryResourceScopeNextLink.json" + }, "Query all policy states at subscription level resource scope": { "$ref": "./examples/PolicyStates_QuerySubscriptionLevelResourceScope.json" }, @@ -618,6 +654,9 @@ }, { "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" } ], "responses": { @@ -634,9 +673,15 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, "x-ms-examples": { "Query latest at subscription level policy set definition scope": { "$ref": "./examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScope.json" + }, + "Query latest at subscription level policy set definition scope with next link": { + "$ref": "./examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScopeNextLink.json" } } } @@ -735,6 +780,9 @@ }, { "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" } ], "responses": { @@ -751,9 +799,15 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, "x-ms-examples": { "Query latest at subscription level policy definition scope": { "$ref": "./examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScope.json" + }, + "Query latest at subscription level policy definition scope with next link": { + "$ref": "./examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScopeNextLink.json" } } } @@ -852,6 +906,9 @@ }, { "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" } ], "responses": { @@ -868,9 +925,15 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, "x-ms-examples": { "Query latest at subscription level policy assignment scope": { "$ref": "./examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScope.json" + }, + "Query latest at subscription level policy assignment scope with next link": { + "$ref": "./examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScopeNextLink.json" } } } @@ -972,6 +1035,9 @@ }, { "$ref": "#/parameters/applyParameter" + }, + { + "$ref": "#/parameters/skipTokenParameter" } ], "responses": { @@ -988,9 +1054,15 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, "x-ms-examples": { "Query latest at resource group level policy assignment scope": { "$ref": "./examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScope.json" + }, + "Query latest at resource group level policy assignment scope with next link": { + "$ref": "./examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScopeNextLink.json" } } } @@ -1097,6 +1169,10 @@ "format": "int32", "minimum": 0 }, + "@odata.nextLink": { + "description": "Odata next link; URL to get the next set of results.", + "type": "string" + }, "value": { "description": "Query results.", "type": "array", @@ -1825,6 +1901,18 @@ "name": "QueryOptions" }, "x-ms-client-name": "Expand" + }, + "skipTokenParameter": { + "name": "$skiptoken", + "in": "query", + "required": false, + "type": "string", + "description": "Skiptoken is only provided if a previous response returned a partial result as a part of nextLink element.", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "QueryOptions" + }, + "x-ms-client-name": "SkipToken" } } } diff --git a/specification/policyinsights/resource-manager/readme.md b/specification/policyinsights/resource-manager/readme.md index ec0220bdbba7..021a18defb12 100644 --- a/specification/policyinsights/resource-manager/readme.md +++ b/specification/policyinsights/resource-manager/readme.md @@ -90,7 +90,7 @@ These settings apply only when `--tag=package-2018-07` is specified on the comma input-file: - Microsoft.PolicyInsights/preview/2018-07-01-preview/policyTrackedResources.json - Microsoft.PolicyInsights/preview/2018-07-01-preview/remediations.json -- Microsoft.PolicyInsights/stable/2018-04-04/policyEvents.json +- Microsoft.PolicyInsights/preview/2018-07-01-preview/policyEvents.json - Microsoft.PolicyInsights/preview/2018-07-01-preview/policyStates.json ``` @@ -252,8 +252,9 @@ input-file: - $(this-folder)/Microsoft.PolicyInsights/stable/2019-10-01/policyStates.json - $(this-folder)/Microsoft.PolicyInsights/stable/2019-10-01/policyMetadata.json - $(this-folder)/Microsoft.PolicyInsights/preview/2018-07-01-preview/remediations.json - - $(this-folder)/Microsoft.PolicyInsights/stable/2018-04-04/policyEvents.json + - $(this-folder)/Microsoft.PolicyInsights/preview/2018-07-01-preview/policyEvents.json - $(this-folder)/Microsoft.PolicyInsights/preview/2018-07-01-preview/policyStates.json + - $(this-folder)/Microsoft.PolicyInsights/stable/2018-04-04/policyEvents.json - $(this-folder)/Microsoft.PolicyInsights/stable/2018-04-04/policyStates.json ``` 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 59450f0fab7b..8c229dbd192f 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 @@ -1527,14 +1527,24 @@ }, "InfrastructureEncryption": { "type": "string", - "description": "Status showing whether the server enabled infrastructure encryption.", + "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": "InfrastructureEncryption", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "Default value for single layer of encryption for data at rest." + }, + { + "value": "Disabled", + "description": "Additional (2nd) layer of encryption for data at rest" + } + ] } }, "PublicNetworkAccess": { 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 aa358fefa44b..d9b32439141c 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 @@ -1303,11 +1303,16 @@ } }, "healthStatus": { - "description": "backups running status for this backup item.", + "description": "Health status of protected item.", "enum": [ "Passed", "ActionRequired", "ActionSuggested", + "Healthy", + "TransientDegraded", + "PersistentDegraded", + "TransientUnhealthy", + "PersistentUnhealthy", "Invalid" ], "type": "string", @@ -1316,6 +1321,13 @@ "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" @@ -1618,8 +1630,8 @@ } } }, - "AzureIaaSVMHealthDetails": { - "description": "Azure IaaS VM workload-specific Health Details.", + "HealthDetails": { + "description": "Health Details for backup items.", "type": "object", "properties": { "code": { @@ -1648,6 +1660,15 @@ } } }, + "AzureIaaSVMHealthDetails": { + "description": "Azure IaaS VM workload-specific Health Details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/HealthDetails" + } + ] + }, "AzureIaaSVMJob": { "description": "Azure IaaS VM workload-specific job object.", "type": "object", @@ -1821,6 +1842,11 @@ "Passed", "ActionRequired", "ActionSuggested", + "Healthy", + "TransientDegraded", + "PersistentDegraded", + "TransientUnhealthy", + "PersistentUnhealthy", "Invalid" ], "type": "string", @@ -2182,6 +2208,32 @@ "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." diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/service.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/service.json index 522c8ff4f166..7f53155a6a2e 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/service.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/service.json @@ -10211,6 +10211,14 @@ "useManagedDisks": { "description": "A value indicating whether managed disks should be used during failover.", "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The proximity placement group ARM Id.", + "type": "string" } }, "x-ms-discriminator-value": "HyperVReplicaAzure" @@ -10476,6 +10484,14 @@ "description": "The recovery availability set Id.", "type": "string" }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group Id.", + "type": "string" + }, "useManagedDisks": { "description": "A value indicating whether managed disks should be used during failover.", "type": "string" @@ -10550,6 +10566,14 @@ "additionalProperties": { "type": "string" } + }, + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group Id.", + "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" } }, "x-ms-discriminator-value": "HyperVReplicaAzure" @@ -11402,6 +11426,14 @@ "diskEncryptionSetId": { "description": "The DiskEncryptionSet ARM ID.", "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The proximity placement group ARM Id.", + "type": "string" } }, "x-ms-discriminator-value": "InMageAzureV2" @@ -11829,6 +11861,10 @@ "description": "The selected recovery azure network Id.", "type": "string" }, + "selectedTfoAzureNetworkId": { + "description": "The test failover virtual network.", + "type": "string" + }, "selectedSourceNicId": { "description": "The selected source nic Id which will be used as the primary nic during failover.", "type": "string" @@ -11860,6 +11896,14 @@ "description": "The recovery availability set Id.", "type": "string" }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group Id.", + "type": "string" + }, "useManagedDisks": { "description": "A value indicating whether managed disks should be used during failover.", "type": "string" @@ -11966,6 +12010,14 @@ "useManagedDisks": { "description": "A value indicating whether managed disks should be used during failover.", "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group Id.", + "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" } }, "x-ms-discriminator-value": "InMageAzureV2" 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/redis/resource-manager/Microsoft.Cache/preview/2019-07-01/examples/RedisCacheForceReboot.json b/specification/redis/resource-manager/Microsoft.Cache/preview/2019-07-01/examples/RedisCacheForceReboot.json index e0d664658354..8012f8ae115c 100644 --- a/specification/redis/resource-manager/Microsoft.Cache/preview/2019-07-01/examples/RedisCacheForceReboot.json +++ b/specification/redis/resource-manager/Microsoft.Cache/preview/2019-07-01/examples/RedisCacheForceReboot.json @@ -6,7 +6,11 @@ "subscriptionId": "subid", "parameters": { "shardId": 0, - "rebootType": "AllNodes" + "rebootType": "AllNodes", + "ports": [ + 13000, + 15001 + ] } }, "responses": { diff --git a/specification/redis/resource-manager/Microsoft.Cache/preview/2019-07-01/examples/RedisCacheGet.json b/specification/redis/resource-manager/Microsoft.Cache/preview/2019-07-01/examples/RedisCacheGet.json index 3c0f3dc90c12..4169f729b99c 100644 --- a/specification/redis/resource-manager/Microsoft.Cache/preview/2019-07-01/examples/RedisCacheGet.json +++ b/specification/redis/resource-manager/Microsoft.Cache/preview/2019-07-01/examples/RedisCacheGet.json @@ -35,15 +35,18 @@ "instances": [ { "sslPort": 15000, - "nonSslPort": 13000 + "nonSslPort": 13000, + "isMaster": true }, { "sslPort": 15001, - "nonSslPort": 13001 + "nonSslPort": 13001, + "isMaster": false }, { "sslPort": 15002, - "nonSslPort": 13002 + "nonSslPort": 13002, + "isMaster": false } ] } 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 98d3ebe7adc0..fc67ab980b18 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 @@ -1796,6 +1796,11 @@ "type": "integer", "format": "int32", "description": "If clustering is enabled, the Shard ID of Redis Instance" + }, + "isMaster": { + "readOnly": true, + "type": "boolean", + "description": "Specifies whether the instance is a master node." } }, "description": "Details of single instance of redis." @@ -1856,11 +1861,15 @@ "type": "integer", "format": "int32", "description": "If clustering is enabled, the ID of the shard to be rebooted." + }, + "ports": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "A list of redis instances to reboot, specified by per-instance SSL ports or non-SSL ports." } }, - "required": [ - "rebootType" - ], "description": "Specifies which Redis node(s) to reboot." }, "ExportRDBParameters": { diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/getAutoQuotaIncreaseStatus.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/getAutoQuotaIncreaseStatus.json index 6ac9a3d0a71c..2c23549bb2dc 100644 --- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/getAutoQuotaIncreaseStatus.json +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/getAutoQuotaIncreaseStatus.json @@ -11,7 +11,7 @@ "name": "Automatic Quota Increase", "properties": { "settings": { - "autoQuotaIncreaseState": "enabledForPreview" + "autoQuotaIncreaseState": "enabled" }, "onSuccess": { "emailActions": { @@ -38,7 +38,6 @@ } }, "supportTicketAction": { - "autoQuotaIncreaseState": "enabledForPreview", "severity": "Minimal", "firstName": "FN", "lastName": "LN", diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/getBatchAIUsages.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/getMachineLearningServicesUsages.json similarity index 100% rename from specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/getBatchAIUsages.json rename to specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/getMachineLearningServicesUsages.json diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/patchComputeQuotaRequest.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/patchComputeQuotaRequest.json index 4bd4702a9bf6..e119473eca89 100644 --- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/patchComputeQuotaRequest.json +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/patchComputeQuotaRequest.json @@ -18,7 +18,7 @@ "responses": { "201": { "body": { - "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Capacity/resourceProviders/Microsoft.Compute/locations/eastus/serviceLimits/requests/2B5C8515-37D8-4B6A-879B-CD641A2CF605", + "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Capacity/resourceProviders/Microsoft.Compute/locations/eastus/serviceLimitsRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605", "name": "2B5C8515-37D8-4B6A-879B-CD641A2CF605", "type": "Microsoft.Capacity/ServiceLimits", "properties": { @@ -29,7 +29,7 @@ }, "200": { "body": { - "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Capacity/resourceProviders/Microsoft.Compute/locations/eastus/quotaRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605", + "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Capacity/resourceProviders/Microsoft.Compute/locations/eastus/serviceLimitsRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605", "name": "2B5C8515-37D8-4B6A-879B-CD641A2CF605", "type": "Microsoft.Capacity/serviceLimits", "properties": { diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/putAutoQuotaIncrease.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/putAutoQuotaIncrease.json index 9dfc190deec2..d8dc24d500d2 100644 --- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/putAutoQuotaIncrease.json +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/putAutoQuotaIncrease.json @@ -5,7 +5,7 @@ "autoQuotaIncreaseRequest": { "properties": { "settings": { - "autoQuotaIncreaseState": "enabledForPreview" + "autoQuotaIncreaseState": "enabled" }, "onSuccess": { "emailActions": { @@ -32,7 +32,6 @@ } }, "supportTicketAction": { - "autoQuotaIncreaseState": "enabledForPreview", "severity": "Minimal", "firstName": "FN", "lastName": "LN", @@ -57,7 +56,7 @@ "name": "Automatic Quota Increase", "properties": { "settings": { - "autoQuotaIncreaseState": "enabledForPreview" + "autoQuotaIncreaseState": "enabled" }, "onSuccess": { "emailActions": { @@ -84,7 +83,6 @@ } }, "supportTicketAction": { - "autoQuotaIncreaseState": "enabledForPreview", "severity": "Minimal", "firstName": "FN", "lastName": "LN", diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/putAutoQuotaIncreaseTurnOff.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/putAutoQuotaIncreaseTurnOff.json index c7a2af0a7d21..1675b67ccf58 100644 --- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/putAutoQuotaIncreaseTurnOff.json +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/putAutoQuotaIncreaseTurnOff.json @@ -32,7 +32,6 @@ } }, "supportTicketAction": { - "autoQuotaIncreaseState": "disabled", "severity": "Minimal", "firstName": "FN", "lastName": "LN", @@ -84,7 +83,6 @@ } }, "supportTicketAction": { - "autoQuotaIncreaseState": "disabled", "severity": "Minimal", "firstName": "FN", "lastName": "LN", diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/putComputeOneSkuQuotaRequest.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/putComputeOneSkuQuotaRequest.json index d459467a2130..e8328d5f6e28 100644 --- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/putComputeOneSkuQuotaRequest.json +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/putComputeOneSkuQuotaRequest.json @@ -18,7 +18,7 @@ "responses": { "201": { "body": { - "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Capacity/resourceProviders/Microsoft.Compute/locations/eastus/serviceLimits/requests/2B5C8515-37D8-4B6A-879B-CD641A2CF605", + "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Capacity/resourceProviders/Microsoft.Compute/locations/eastus/serviceLimitsRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605", "name": "2B5C8515-37D8-4B6A-879B-CD641A2CF605", "type": "Microsoft.Capacity/ServiceLimits", "properties": { @@ -29,7 +29,7 @@ }, "200": { "body": { - "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Capacity/resourceProviders/Microsoft.Compute/locations/eastus/quotaRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605", + "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Capacity/resourceProviders/Microsoft.Compute/locations/eastus/serviceLimitsRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605", "name": "2B5C8515-37D8-4B6A-879B-CD641A2CF605", "type": "Microsoft.Capacity/serviceLimits", "properties": { diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/putMachineLearningServicesQuotaRequestDedicated.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/putMachineLearningServicesQuotaRequestDedicated.json new file mode 100644 index 000000000000..43fdf27615f5 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/putMachineLearningServicesQuotaRequestDedicated.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "D7EC67B3-7657-4966-BFFC-41EFD36BAAB3", + "providerId": "Microsoft.MachineLearningServices", + "location": "eastus", + "resourceName": "StandardDv2Family", + "api-version": "2019-07-19-preview", + "createQuotaRequest": { + "properties": { + "limit": 200, + "unit": "Count", + "name": { + "value": "StandardDv2Family" + }, + "resourceType": "dedicated" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Capacity/resourceProviders/Microsoft.MachineLearningServices/locations/eastus/serviceLimitsRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605", + "name": "2B5C8515-37D8-4B6A-879B-CD641A2CF605", + "type": "Microsoft.Capacity/ServiceLimits", + "properties": { + "provisioningState": "InProgress", + "message": "" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Capacity/resourceProviders/Microsoft.MachineLearningServices/locations/eastus/serviceLimitsRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605", + "name": "2B5C8515-37D8-4B6A-879B-CD641A2CF605", + "type": "Microsoft.Capacity/serviceLimits", + "properties": { + "provisioningState": "Succeeded", + "message": "Request succeeded", + "properties": { + "properties": { + "limit": 200, + "unit": "Count", + "currentValue": 160, + "name": { + "value": "StandardDv2Family", + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "resourceType": "dedicated", + "quotaPeriod": "", + "properties": {} + } + } + } + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/putMachineLearningServicesQuotaRequestLowPriority.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/putMachineLearningServicesQuotaRequestLowPriority.json new file mode 100644 index 000000000000..8893da3a15ae --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/putMachineLearningServicesQuotaRequestLowPriority.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "D7EC67B3-7657-4966-BFFC-41EFD36BAAB3", + "providerId": "Microsoft.MachineLearningServices", + "location": "eastus", + "resourceName": "TotalLowPriorityCores", + "api-version": "2019-07-19-preview", + "createQuotaRequest": { + "properties": { + "limit": 200, + "unit": "Count", + "name": { + "value": "TotalLowPriorityCores" + }, + "resourceType": "lowPriority" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Capacity/resourceProviders/Microsoft.MachineLearningServices/locations/eastus/serviceLimitsRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605", + "name": "2B5C8515-37D8-4B6A-879B-CD641A2CF605", + "type": "Microsoft.Capacity/ServiceLimits", + "properties": { + "provisioningState": "InProgress", + "message": "" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Capacity/resourceProviders/Microsoft.MachineLearningServices/locations/eastus/serviceLimitsRequests/2B5C8515-37D8-4B6A-879B-CD641A2CF605", + "name": "2B5C8515-37D8-4B6A-879B-CD641A2CF605", + "type": "Microsoft.Capacity/serviceLimits", + "properties": { + "provisioningState": "Succeeded", + "message": "Request succeeded", + "properties": { + "properties": { + "limit": 200, + "unit": "Count", + "currentValue": 160, + "name": { + "value": "TotalLowPriorityCores", + "localizedValue": "Total Cluster Low Priority Regional vCPUs" + }, + "resourceType": "lowPriority", + "quotaPeriod": "", + "properties": {} + } + } + } + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/quota.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/quota.json index c5134aee0475..a2f2557e130f 100644 --- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/quota.json +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/quota.json @@ -39,8 +39,7 @@ "tags": [ "QuotaInformation" ], - "summary": "Gets the current quota limit and usages for the resource provider for the specified location for the specific resource in the parameter.", - "description": "This API gets the current quota limit and usages for the specific resource for resource provider for the specified location. This response can be used to submit quotaRequests.", + "description": "Gets the current service limits (quotas) and usage of a resource. The response from Get API can be leveraged to submit quota update requests.", "operationId": "Quota_Get", "x-ms-examples": { "Quotas_Request_ForCompute": { @@ -89,12 +88,17 @@ "tags": [ "QuotaInformation" ], - "summary": "Submits a Quota Request for a resource provider at the specified location for the specific resource in the parameter.", - "description": "Submits Quota change request for a resource provider for the specified location for the specific resource in the parameter. To use, first make a Get request to get quota information for the specific resource. This information consists of information regarding that specific resources. For the specific resource, if it requires an update to the quota, update the limit field in the response from the Get request to the new value of quota. Then, submit this updated JSON object to this quota request API. This will update the quota to the value specified. The location header in the response will be used to track the status of the quota request. Please check the provisioningState field in the response. The Patch operation can be used also to update the quota.", + "description": "Create or update the service limits (quota) of a resource to requested value.\n Steps:\n\r 1. Make the Get request to get the quota information for specific resource.\n\r 2. To increase the quota, update the limit field in the response from Get request to new value.\n\r 3. Submit the JSON to the quota request API to update the quota.\r\n The Create quota request may be constructed as follows. The PUT operation can be used to update the quota.", "operationId": "Quota_CreateOrUpdate", "x-ms-examples": { - "Quotas_Request_listForCompute": { + "Quotas_Request_ForCompute": { "$ref": "./examples/putComputeOneSkuQuotaRequest.json" + }, + "Quotas_Request_ForMachineLearningServices_DedicatedResource": { + "$ref": "./examples/putMachineLearningServicesQuotaRequestDedicated.json" + }, + "Quotas_Request_ForMachineLearningServices_LowPriorityResource": { + "$ref": "./examples/putMachineLearningServicesQuotaRequestLowPriority.json" } }, "x-ms-long-running-operation": true, @@ -152,8 +156,7 @@ "tags": [ "QuotaInformation" ], - "summary": "Submits a Quota Request for a resource provider at the specified location for the specific resource in the parameter.", - "description": "Submits Quota change request for a resource provider for the specified location for the specific resource in the parameter. To use, first make a Get request to get quota information for the specific resource. This information consists of information regarding that specific resources. For the specific resource, if it requires an update to the quota, update the limit field in the response from the Get request to the new value of quota. Then, submit this updated JSON object to this quota request API. This will update the quota to the value specified. The location header in the response will be used to track the status of the quota request. Please check the provisioningState field in the response. The Put operation can be used also to update the quota.", + "description": "Update the service limits (quota) of a resource to requested value.\n Steps:\n\r 1. Make the Get request to get the quota information for specific resource.\n\r 2. To increase the quota, update the limit field in the response from Get request to new value.\n\r 3. Submit the JSON to the quota request API to update the quota.\r\n The Update quota request may be constructed as follows. The PATCH operation can be used to update the quota.", "operationId": "Quota_Update", "x-ms-examples": { "Quotas_Request_PatchForCompute": { @@ -198,7 +201,7 @@ } }, "201": { - "description": "The request is accepted and is being processed. Please use requestId to check the status.", + "description": "The request is accepted and is being processed. Use requestId to check the status.", "schema": { "$ref": "#/definitions/QuotaRequestSubmitResponse201" } @@ -217,15 +220,14 @@ "tags": [ "QuotaInformation" ], - "summary": "Gets the current quota limit and usages for all the resources by the resource provider at the specified location.", - "description": "This API gets the current quota limits and usages for the resource provider for the specified location. This response can be used to submit quotaRequests.", + "description": "Get a list of current service limits (quota) and usages of all the resources. The response from List API can be leveraged to submit quota update requests.", "operationId": "Quota_List", "x-ms-examples": { "Quotas_listUsagesForCompute": { "$ref": "./examples/getComputeUsages.json" }, - "Quotas_listUsagesForBatchAI": { - "$ref": "./examples/getBatchAIUsages.json" + "Quotas_listUsagesMachineLearningServices": { + "$ref": "./examples/getMachineLearningServicesUsages.json" }, "Quotas_listUsagesForMsSql": { "$ref": "./examples/getMsSqlUsages.json" @@ -286,7 +288,6 @@ "$ref": "./examples/getQuotaRequestStatusFailed.json" } }, - "summary": "Gets the Quota request status by requestId, for the specified resource provider at specified location.", "description": "Gets the QuotaRequest details and status by the quota request Id for the resources for the resource provider at a specific location. The requestId is returned as response to the Put requests for serviceLimits.", "operationId": "QuotaRequestStatus_Get", "parameters": [ @@ -332,7 +333,6 @@ "$ref": "./examples/getQuotaRequestsHistory.json" } }, - "summary": "For the specified location and resource Provider, gets the quota requests under the subscription over the time\n period of one year ago from now to one year back, based on the filter specified.", "description": "For the specified location and Resource provider gets the current quota requests under the subscription over the time period of one year ago from now to one year back. oData filter can be used to select quota requests.", "operationId": "QuotaRequestStatus_List", "parameters": [ @@ -386,7 +386,6 @@ "tags": [ "AutoQuotaIncrease" ], - "summary": "For the specified subscription, gets the Auto Quota Increase enrollment status.", "description": "Gets the Auto Quota Increase enrollment details for the specified subscription.", "operationId": "AutoQuotaIncrease_GetProperties", "x-ms-examples": { @@ -421,7 +420,6 @@ "tags": [ "AutoQuotaIncrease" ], - "summary": "For the specified subscription, sets the Auto Quota Increase enrollment properties.", "description": "Sets the Auto Quota Increase enrollment properties for the specified subscription.", "operationId": "AutoQuotaIncrease_Create", "x-ms-examples": { @@ -496,7 +494,7 @@ } }, "QuotaProperties": { - "description": "Resource quota properties.", + "description": "Quota properties for the resource.", "type": "object", "properties": { "limit": { @@ -929,10 +927,6 @@ "description": "The SupportRequest action.", "type": "object", "properties": { - "autoQuotaIncreaseState": { - "description": "Is support request action enabled.", - "$ref": "#/definitions/AqiState" - }, "severity": { "description": "The support request severity.", "$ref": "#/definitions/SeverityTypes" @@ -999,10 +993,9 @@ } }, "AqiState": { - "description": "The Auto quota increase feature state - enabled: feature is fully enabled, enabledForPreview: feature enabled for preview only, disabled: feature is disabled.", + "description": "The Auto quota increase feature state - enabled: feature is enabled, disabled: feature is disabled.", "enum": [ "enabled", - "enabledForPreview", "disabled" ], "x-ms-enum": { @@ -1120,7 +1113,7 @@ "in": "query", "required": true, "type": "string", - "description": "Api version." + "description": "API version." }, "LocationIdInParameters": { "name": "location", @@ -1135,7 +1128,7 @@ "in": "path", "required": true, "type": "string", - "description": "Azure resource Provider id.", + "description": "Azure resource provider id.", "x-ms-parameter-location": "method" }, "ResourceNameInParameters": { @@ -1143,7 +1136,7 @@ "in": "path", "required": true, "type": "string", - "description": "The Resource name for the specific resource provider, such as SKU name for Microsoft.Compute, pool for Microsoft.Batch.", + "description": "The resource name for a resource provider, such as SKU name for Microsoft.Compute, Sku or TotalLowPriorityCores for Microsoft.MachineLearningServices", "x-ms-parameter-location": "method" }, "RequestIdInParameters": { diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2018-09-01-preview/graphquery.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2018-09-01-preview/graphquery.json index d31c784ea472..79dfb25c2b9e 100644 --- a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2018-09-01-preview/graphquery.json +++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2018-09-01-preview/graphquery.json @@ -269,7 +269,7 @@ }, "location": { "type": "string", - "readOnly": true, + "readOnly": false, "description": "The location of the resource" }, "type": { diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/GraphQueryAdd.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/GraphQueryAdd.json new file mode 100644 index 000000000000..811b67dab4a6 --- /dev/null +++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/GraphQueryAdd.json @@ -0,0 +1,42 @@ +{ + "title": "Create a saved query", + "description": "Create new saved query resource.", + "parameters": { + "subscriptionId": "024e2271-06fa-46b6-9079-f1ed3c7b070e", + "resourceGroupName": "my-resource-group", + "resourceName": "MyDockerVMs", + "api-version": "2020-04-01-preview", + "properties": { + "tags": {}, + "properties": { + "description": "Docker VMs in PROD", + "query": "where isnotnull(tags['Prod']) and properties.extensions[0].Name == 'docker'" + } + } + }, + "responses": { + "200": { + "body": { + "id": " /subscriptions/024e2271-06fa-46b6-9079-f1ed3c7b070e/resources/my-resource-group/providers/Microsoft.ResourceGraph/queries/MyDockerVMs", + "name": "MyDockerVMs", + "type": "Microsoft.ResourceGraph/queries", + "eTag": "5d64408e-4ca3-41f7-b725-6914f3012afa", + "tags": {}, + "properties": { + "description": "Docker VMs in PROD", + "query": "where isnotnull(tags['Prod']) and properties.extensions[0].Name == 'docker'", + "resultKind": "basic", + "timeModified": "2019-03-12T13:51:13-07:00" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-27T21:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" + } + } + } + } +} diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/GraphQueryDelete.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/GraphQueryDelete.json new file mode 100644 index 000000000000..f698ccf94703 --- /dev/null +++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/GraphQueryDelete.json @@ -0,0 +1,14 @@ +{ + "title": "Delete a saved query", + "description": "Delete a saved query resource by subid, resource group, and resource name.", + "parameters": { + "subscriptionId": "024e2271-06fa-46b6-9079-f1ed3c7b070e", + "resourceGroupName": "my-resource-group", + "resourceName": "MyDockerVM", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/GraphQueryGet.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/GraphQueryGet.json new file mode 100644 index 000000000000..70a9b50cfd52 --- /dev/null +++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/GraphQueryGet.json @@ -0,0 +1,35 @@ +{ + "title": "Get a saved query", + "description": "Get a saved query resource by subid, resource group, and resource name.", + "parameters": { + "subscriptionId": "024e2271-06fa-46b6-9079-f1ed3c7b070e", + "resourceGroupName": "my-resource-group", + "resourceName": "MyDockerVMs", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": " /subscriptions/024e2271-06fa-46b6-9079-f1ed3c7b070e/resources/my-resource-group/providers/Microsoft.ResourceGraph/queries/MyDockerVMs", + "name": "MyDockerVMs", + "type": "Microsoft.ResourceGraph/queries", + "eTag": "5d64408e-4ca3-41f7-b725-6914f3012afa", + "tags": null, + "properties": { + "description": "Docker VMs in PROD", + "query": "where isnotnull(tags['Prod']) and properties.extensions[0].Name == 'docker'", + "resultKind": "basic", + "timeModified": "2019-03-12T13:51:13-07:00" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-27T21:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" + } + } + } + } +} diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/GraphQueryList.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/GraphQueryList.json new file mode 100644 index 000000000000..451ee110ad70 --- /dev/null +++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/GraphQueryList.json @@ -0,0 +1,60 @@ +{ + "title": "Get a list of saved queries", + "description": "Get a list of saved queries within subscription id and resource group.", + "parameters": { + "subscriptionId": "024e2271-06fa-46b6-9079-f1ed3c7b070e", + "resourceGroupName": "my-resource-group", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "nextLink": "https://management.azure.com/subscriptions/subscriptionId/providers/Microsoft.ResourceGraph/queries?api-version=2019-09-01-preview&$top=10&$skiptoken=skiptoken", + "value": [ + { + "id": "/subscriptions/87f4f8b0-83c1-4aa9-b318-5237aeb15264/resources/rid1/providers/Microsoft.ResourceGraph/queries/MyDockerVMs", + "name": "MyDockerVMs", + "type": "Microsoft.ResourceGraph/queries", + "tags": {}, + "eTag": "5d64408e-4ca3-41f7-b725-6914f3012afa", + "properties": { + "description": "Docker VMs in PROD", + "query": "where isnotnull(tags['Prod']) and properties.extensions[0].Name == 'docker'", + "resultKind": "basic", + "timeModified": "2019-03-12T13:51:13-07:00" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-27T21:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" + } + }, + { + "id": "/subscriptions/6abb2f31-3e6a-4134-9968-219a596012a0/resources/rid2/providers/Microsoft.ResourceGraph/queries/MyTestVMs", + "name": "MyTestVMs", + "type": "Microsoft.ResourceGraph/queries", + "tags": {}, + "eTag": "b0809832-ca62-4133-8f13-0c46580f9db1", + "properties": { + "description": "Test VMs in PROD", + "query": "where isnotnull(tags['Prod']) and properties.extensions[0].Name == 'test'", + "resultKind": "basic", + "timeModified": "2019-03-13T13:51:13-07:00" + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-04-24T18:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-04-24T18:53:29.0928001Z" + } + } + ] + } + } + } +} diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/GraphQueryUpdate.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/GraphQueryUpdate.json new file mode 100644 index 000000000000..4dbff41392a3 --- /dev/null +++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/GraphQueryUpdate.json @@ -0,0 +1,43 @@ +{ + "title": "Update a saved query", + "description": "Update the existing saved query resource.", + "parameters": { + "subscriptionId": "024e2271-06fa-46b6-9079-f1ed3c7b070e", + "resourceGroupName": "my-resource-group", + "resourceName": "MyDockerVMs", + "api-version": "2020-04-01-preview", + "body": { + "tags": null, + "eTag": "b0809832-ca62-4133-8f13-0c46580f9db1", + "properties": { + "description": "Modified description", + "query": "where isnotnull(tags['Prod']) and properties.extensions[0].Name == 'docker'" + } + } + }, + "responses": { + "200": { + "body": { + "id": " /subscriptions/024e2271-06fa-46b6-9079-f1ed3c7b070e/resources/my-resource-group/providers/Microsoft.ResourceGraph/queries/MyDockerVMs", + "name": "MyDockerVMs", + "type": "Microsoft.ResourceGraph/queries", + "eTag": "73811091-6188-4523-97b7-b5e7134e7fd9", + "tags": null, + "properties": { + "description": "Modified description", + "query": "where isnotnull(tags['Prod']) and properties.extensions[0].Name == 'docker'", + "resultKind": "basic", + "timeModified": "2019-03-14T13:51:13-07:00" + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-04-23T18:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" + } + } + } + } +} diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/OperationsList.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/OperationsList.json new file mode 100644 index 000000000000..2e5e0f27ceed --- /dev/null +++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/OperationsList.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.ResourceGraph/operations/read", + "display": { + "provider": "Microsoft Resource Graph", + "resource": "Operation", + "operation": "Get Operations", + "description": "Gets the list of supported operations" + } + }, + { + "name": "Microsoft.ResourceGraph/resources/read", + "display": { + "provider": "Microsoft Resource Graph", + "resource": "Resources", + "operation": "Query resources", + "description": "Submits a query on resources within specified subscriptions, the specified management group, or against all access granted in the tenant." + } + }, + { + "name": "Microsoft.ResourceGraph/resourceChanges/read", + "display": { + "provider": "Microsoft Resource Graph", + "resource": "Resource Changes", + "operation": "Query resource changes", + "description": "Lists changes to a resource for a given time interval" + } + }, + { + "name": "Microsoft.ResourceGraph/resourceChangeDetails/read", + "display": { + "provider": "Microsoft Resource Graph", + "resource": "Resource Change Details", + "operation": "Query resource change details", + "description": "Gets the details of the specified resource change" + } + }, + { + "name": "Microsoft.ResourceGraph/queries/read", + "display": { + "provider": "Microsoft Resource Graph", + "resource": "Resource Graph Queries", + "operation": "Read resource graph queries", + "description": "Gets the specified graph query" + } + }, + { + "name": "Microsoft.ResourceGraph/queries/delete", + "display": { + "provider": "Microsoft Resource Graph", + "resource": "Resource Graph Queries", + "operation": "Delete resource graph queries", + "description": "Deletes the specified graph query" + } + }, + { + "name": "Microsoft.ResourceGraph/queries/write", + "display": { + "provider": "Microsoft Resource Graph", + "resource": "Resource Graph Queries", + "operation": "Create/Update resource graph queries", + "description": "Creates/Updates the specified graph query" + } + } + ] + } + } + } +} diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourceChangeDetails.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourceChangeDetails.json new file mode 100644 index 000000000000..f251d77c34d2 --- /dev/null +++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourceChangeDetails.json @@ -0,0 +1,112 @@ +{ + "title": "Resource Change Details Query", + "description": "A resource change details query.", + "parameters": { + "api-version": "2020-04-01-preview", + "parameters": { + "resourceId": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Storage/storageAccounts/mystorageaccount", + "changeId": "53dc0515-b86b-4bc2-979b-e4694ab4a556" + } + }, + "responses": { + "200": { + "body": { + "changeId": "53dc0515-b86b-4bc2-979b-e4694ab4a556", + "beforeSnapshot": { + "timestamp": "2018-10-31T01:32:05.993Z", + "content": { + "sku": { + "name": "Standard_LRS", + "tier": "Standard" + }, + "kind": "Storage", + "id": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Storage/storageAccounts/mystorageaccount", + "name": "mystorageaccount", + "type": "Microsoft.Storage/storageAccounts", + "location": "westus", + "tags": {}, + "properties": { + "networkAcls": { + "bypass": "AzureServices", + "virtualNetworkRules": [], + "ipRules": [], + "defaultAction": "Allow" + }, + "supportsHttpsTrafficOnly": false, + "encryption": { + "services": { + "file": { + "enabled": true, + "lastEnabledTime": "2018-07-27T18:37:21.8333895Z" + }, + "blob": { + "enabled": true, + "lastEnabledTime": "2018-07-27T18:37:21.8333895Z" + } + }, + "keySource": "Microsoft.Storage" + }, + "provisioningState": "Succeeded", + "creationTime": "2018-07-27T18:37:21.7708872Z", + "primaryEndpoints": { + "blob": "https://mystorageaccount.blob.core.windows.net/", + "queue": "https://mystorageaccount.queue.core.windows.net/", + "table": "https://mystorageaccount.table.core.windows.net/", + "file": "https://mystorageaccount.file.core.windows.net/" + }, + "primaryLocation": "westus", + "statusOfPrimary": "available" + } + } + }, + "afterSnapshot": { + "timestamp": "2018-10-31T01:54:24.42Z", + "content": { + "sku": { + "name": "Standard_LRS", + "tier": "Standard" + }, + "kind": "Storage", + "id": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Storage/storageAccounts/mystorageaccount", + "name": "mystorageaccount", + "type": "Microsoft.Storage/storageAccounts", + "location": "westus", + "tags": {}, + "properties": { + "networkAcls": { + "bypass": "AzureServices", + "virtualNetworkRules": [], + "ipRules": [], + "defaultAction": "Allow" + }, + "supportsHttpsTrafficOnly": true, + "encryption": { + "services": { + "file": { + "enabled": true, + "lastEnabledTime": "2018-07-27T18:37:21.8333895Z" + }, + "blob": { + "enabled": true, + "lastEnabledTime": "2018-07-27T18:37:21.8333895Z" + } + }, + "keySource": "Microsoft.Storage" + }, + "provisioningState": "Succeeded", + "creationTime": "2018-07-27T18:37:21.7708872Z", + "primaryEndpoints": { + "blob": "https://mystorageaccount.blob.core.windows.net/", + "queue": "https://mystorageaccount.queue.core.windows.net/", + "table": "https://mystorageaccount.table.core.windows.net/", + "file": "https://mystorageaccount.file.core.windows.net/" + }, + "primaryLocation": "westus", + "statusOfPrimary": "available" + } + } + } + } + } + } +} diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourceChanges.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourceChanges.json new file mode 100644 index 000000000000..fac6e9f1392b --- /dev/null +++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourceChanges.json @@ -0,0 +1,42 @@ +{ + "title": "Basic Resource Changes Query", + "description": "A simple resource changes query.", + "parameters": { + "api-version": "2020-04-01-preview", + "parameters": { + "resourceId": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Storage/storageAccounts/mystorageaccount", + "interval": { + "start": "2018-10-30T12:09:03.141Z", + "end": "2018-10-31T12:09:03.141Z" + } + } + }, + "responses": { + "200": { + "body": { + "changes": [ + { + "changeId": "2db0ad2d-f6f0-4f46-b529-5c4e8c494648", + "changeType": "Update", + "beforeSnapshot": { + "timestamp": "2018-10-31T01:32:05.993Z" + }, + "afterSnapshot": { + "timestamp": "2018-10-31T01:54:24.42Z" + } + }, + { + "changeId": "9dc352cb-b7c1-4198-9eda-e5e3ed66aec8", + "changeType": "Create", + "beforeSnapshot": { + "timestamp": "2018-10-30T10:30:19.68Z" + }, + "afterSnapshot": { + "timestamp": "2018-10-30T21:12:31.337Z" + } + } + ] + } + } + } +} diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourceChangesFirstPage.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourceChangesFirstPage.json new file mode 100644 index 000000000000..e8510dd51c02 --- /dev/null +++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourceChangesFirstPage.json @@ -0,0 +1,44 @@ +{ + "title": "Resource Changes Query: First Page", + "description": "A resource changes query requesting the first page.", + "parameters": { + "api-version": "2020-04-01-preview", + "parameters": { + "resourceId": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Storage/storageAccounts/mystorageaccount", + "interval": { + "start": "2018-10-30T12:09:03.141Z", + "end": "2018-10-31T12:09:03.141Z" + }, + "$top": 2 + } + }, + "responses": { + "200": { + "body": { + "changes": [ + { + "changeId": "2db0ad2d-f6f0-4f46-b529-5c4e8c494648", + "changeType": "Update", + "beforeSnapshot": { + "timestamp": "2018-10-31T01:32:05.993Z" + }, + "afterSnapshot": { + "timestamp": "2018-10-31T01:54:24.42Z" + } + }, + { + "changeId": "9dc352cb-b7c1-4198-9eda-e5e3ed66aec8", + "changeType": "Create", + "beforeSnapshot": { + "timestamp": "2018-10-30T10:30:19.68Z" + }, + "afterSnapshot": { + "timestamp": "2018-10-30T21:12:31.337Z" + } + } + ], + "$skipToken": "ew0KICAiJGlkIjogIjEiLA0KICAiRW5kVGltZSI6ICJcL0RhdGUoMTU1MDc0NT" + } + } + } +} diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourceChangesNextPage.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourceChangesNextPage.json new file mode 100644 index 000000000000..244c4c092b1f --- /dev/null +++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourceChangesNextPage.json @@ -0,0 +1,45 @@ +{ + "title": "Resource Changes Query: Next Page", + "description": "A resource changes query requesting the next page using a skip token.", + "parameters": { + "api-version": "2020-04-01-preview", + "parameters": { + "resourceId": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Storage/storageAccounts/mystorageaccount", + "interval": { + "start": "2018-10-30T12:09:03.141Z", + "end": "2018-10-31T12:09:03.141Z" + }, + "$top": 2, + "$skipToken": "ew0KICAiJGlkIjogIjEiLA0KICAiRW5kVGltZSI6ICJcL0RhdGUoMTU1MDc0NT" + } + }, + "responses": { + "200": { + "body": { + "changes": [ + { + "changeId": "55f458c4-f1c0-4963-bc6c-af275cd47702", + "changeType": "Update", + "beforeSnapshot": { + "timestamp": "2018-10-31T03:43:08.629Z" + }, + "afterSnapshot": { + "timestamp": "2018-10-31T05:12:32.087Z" + } + }, + { + "changeId": "0495b929-b86d-46cc-a972-939145feed90", + "changeType": "Create", + "beforeSnapshot": { + "timestamp": "2018-10-31T01:54:24.42Z" + }, + "afterSnapshot": { + "timestamp": "2018-10-31T02:01:02.163Z" + } + } + ], + "$skipToken": "kVGltZSI6ICJcL0RhdGUoMTU1MDc0NTew0KICAiJGlkIjogIjEiLA0KICAiRW5" + } + } + } +} diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesBasicQuery.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesBasicQuery.json new file mode 100644 index 000000000000..6b91850be571 --- /dev/null +++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesBasicQuery.json @@ -0,0 +1,72 @@ +{ + "title": "Basic Query", + "description": "A simple resources query.", + "parameters": { + "api-version": "2020-04-01-preview", + "query": { + "subscriptions": [ + "cfbbd179-59d2-4052-aa06-9270a38aa9d6" + ], + "query": "Resources | project id, name, type, location, tags | limit 3" + } + }, + "responses": { + "200": { + "body": { + "totalRecords": 3, + "count": 3, + "resultTruncated": "false", + "facets": [], + "data": { + "columns": [ + { + "name": "id", + "type": "string" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "type", + "type": "string" + }, + { + "name": "location", + "type": "string" + }, + { + "name": "tags", + "type": "object" + } + ], + "rows": [ + [ + "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG1/providers/Microsoft.Network/networkInterfaces/myNetworkInterface", + "myNetworkInterface", + "microsoft.network/networkinterfaces", + "centralus", + { + "tag1": "Value1" + } + ], + [ + "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG2/providers/Microsoft.Network/virtualNetworks/myVnet", + "myVnet", + "microsoft.network/virtualnetworks", + "westus", + {} + ], + [ + "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG2/providers/Microsoft.Network/publicIPAddresses/myPublicIp", + "myPublicIp", + "microsoft.network/publicipaddresses", + "westus", + {} + ] + ] + } + } + } + } +} diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesComplexQuery.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesComplexQuery.json new file mode 100644 index 000000000000..793e7affef17 --- /dev/null +++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesComplexQuery.json @@ -0,0 +1,49 @@ +{ + "title": "Complex Query", + "description": "A complex query on resources featuring multiple operations.", + "parameters": { + "api-version": "2020-04-01-preview", + "query": { + "subscriptions": [ + "cfbbd179-59d2-4052-aa06-9270a38aa9d6" + ], + "query": "Resources | project id, name, type, location | where type =~ 'Microsoft.Compute/virtualMachines' | summarize count() by location | top 3 by count_" + } + }, + "responses": { + "200": { + "body": { + "totalRecords": 3, + "count": 3, + "resultTruncated": "false", + "facets": [], + "data": { + "columns": [ + { + "name": "location", + "type": "string" + }, + { + "name": "count_", + "type": "integer" + } + ], + "rows": [ + [ + "centralus", + 11 + ], + [ + "eastus", + 11 + ], + [ + "southcentralus", + 3 + ] + ] + } + } + } + } +} diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesFacetQuery.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesFacetQuery.json new file mode 100644 index 000000000000..2c40467848f7 --- /dev/null +++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesFacetQuery.json @@ -0,0 +1,257 @@ +{ + "title": "Facet Query", + "description": "A query on resources requesting extra facets.", + "parameters": { + "api-version": "2020-04-01-preview", + "query": { + "subscriptions": [ + "cfbbd179-59d2-4052-aa06-9270a38aa9d6" + ], + "query": "Resources | where type =~ 'Microsoft.Compute/virtualMachines' | project id, name, location, resourceGroup, properties.storageProfile.osDisk.osType | limit 5", + "facets": [ + { + "expression": "location", + "options": { + "sortOrder": "desc", + "$top": 3 + } + }, + { + "expression": "properties.storageProfile.osDisk.osType", + "options": { + "sortOrder": "desc", + "$top": 3 + } + }, + { + "expression": "nonExistingColumn", + "options": { + "sortOrder": "desc", + "$top": 3 + } + }, + { + "expression": "resourceGroup", + "options": { + "sortBy": "tolower(resourceGroup)", + "sortOrder": "asc", + "$top": 3 + } + }, + { + "expression": "resourceGroup", + "options": { + "filter": "resourceGroup contains 'test'", + "$top": 3 + } + } + ] + } + }, + "responses": { + "200": { + "body": { + "totalRecords": 5, + "count": 5, + "resultTruncated": "false", + "data": { + "columns": [ + { + "name": "id", + "type": "string" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "location", + "type": "string" + }, + { + "name": "resourceGroup", + "type": "string" + }, + { + "name": "properties_storageProfile_osDisk_osType", + "type": "object" + } + ], + "rows": [ + [ + "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/B-TEST-RG/providers/Microsoft.Compute/virtualMachines/myTestVm", + "myTestVm", + "eastus", + "B-TEST-RG", + "Windows" + ], + [ + "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/c-rg/providers/Microsoft.Compute/virtualMachines/myTestAccountVm", + "myTestAccountVm", + "westcentralus", + "c-rg", + "Windows" + ], + [ + "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/I-RG/providers/Microsoft.Compute/virtualMachines/yetanothertest", + "yetanothertest", + "eastus", + "I-RG", + "Linux" + ], + [ + "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/x-test-rg/providers/Microsoft.Compute/virtualMachines/drafttest1bux4cv7a7q3aw", + "drafttest1bux4cv7a7q3aw", + "southcentralus", + "x-test-rg", + "Linux" + ], + [ + "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/y-rg/providers/Microsoft.Compute/virtualMachines/testvmntp25370", + "testvmntp25370", + "eastus", + "y-rg", + "Windows" + ] + ] + }, + "facets": [ + { + "expression": "location", + "resultType": "FacetResult", + "totalRecords": 3, + "count": 3, + "data": { + "columns": [ + { + "name": "location", + "type": "string" + }, + { + "name": "count", + "type": "integer" + } + ], + "rows": [ + [ + "eastus", + 3 + ], + [ + "southcentralus", + 1 + ], + [ + "westcentralus", + 1 + ] + ] + } + }, + { + "expression": "properties.storageProfile.osDisk.osType", + "resultType": "FacetResult", + "totalRecords": 2, + "count": 2, + "data": { + "columns": [ + { + "name": "properties_storageProfile_osDisk_osType", + "type": "string" + }, + { + "name": "count", + "type": "integer" + } + ], + "rows": [ + [ + "Linux", + 2 + ], + [ + "Windows", + 3 + ] + ] + } + }, + { + "expression": "nonExistingColumn", + "resultType": "FacetError", + "errors": [ + { + "code": "NoValidColumns", + "message": "No valid columns in facet expression." + }, + { + "code": "InvalidColumnNames", + "message": "Invalid column names: [nonExistingColumn]." + } + ] + }, + { + "expression": "resourceGroup", + "resultType": "FacetResult", + "totalRecords": 5, + "count": 3, + "data": { + "columns": [ + { + "name": "resourceGroup", + "type": "string" + }, + { + "name": "count", + "type": "integer" + } + ], + "rows": [ + [ + "B-TEST-RG", + 1 + ], + [ + "c-rg", + 1 + ], + [ + "I-RG", + 1 + ] + ] + } + }, + { + "expression": "resourceGroup", + "resultType": "FacetResult", + "totalRecords": 2, + "count": 2, + "data": { + "columns": [ + { + "name": "resourceGroup", + "type": "string" + }, + { + "name": "count", + "type": "integer" + } + ], + "rows": [ + [ + "B-TEST-RG", + 1 + ], + [ + "x-test-rg", + 1 + ] + ] + } + } + ] + } + } + } +} diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesFilterQuery.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesFilterQuery.json new file mode 100644 index 000000000000..be6104a21864 --- /dev/null +++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesFilterQuery.json @@ -0,0 +1,63 @@ +{ + "title": "Filter query", + "description": "A filtering query on resources.", + "parameters": { + "api-version": "2020-04-01-preview", + "query": { + "subscriptions": [ + "cfbbd179-59d2-4052-aa06-9270a38aa9d6" + ], + "query": "Resources | project id, name, type, location | where type =~ 'Microsoft.Compute/virtualMachines' | limit 3" + } + }, + "responses": { + "200": { + "body": { + "totalRecords": 3, + "count": 3, + "resultTruncated": "false", + "facets": [], + "data": { + "columns": [ + { + "name": "id", + "type": "string" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "type", + "type": "string" + }, + { + "name": "location", + "type": "string" + } + ], + "rows": [ + [ + "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG1/providers/Microsoft.Compute/virtualMachines/myVm1", + "myVm1", + "microsoft.compute/virtualmachines", + "centralus" + ], + [ + "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG2/providers/Microsoft.Compute/virtualMachines/myVirtualMachine", + "myVirtualMachine", + "microsoft.compute/virtualmachines", + "eastus" + ], + [ + "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG3/providers/Microsoft.Compute/virtualMachines/testVm", + "testVm", + "microsoft.compute/virtualmachines", + "eastus" + ] + ] + } + } + } + } +} diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesFirstPageQuery.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesFirstPageQuery.json new file mode 100644 index 000000000000..e987ff228f38 --- /dev/null +++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesFirstPageQuery.json @@ -0,0 +1,68 @@ +{ + "title": "First page query", + "description": "A query requesting a first page with of results. Please note id field is required in the response to return the pages in stable sorted fashion.", + "parameters": { + "api-version": "2020-04-01-preview", + "query": { + "subscriptions": [ + "cfbbd179-59d2-4052-aa06-9270a38aa9d6" + ], + "query": "Resources | where name contains 'test' | project id, name, type, location", + "options": { + "$top": 3, + "$skip": 0 + } + } + }, + "responses": { + "200": { + "body": { + "totalRecords": 386, + "count": 3, + "resultTruncated": "false", + "facets": [], + "$skipToken": "eyAibm8iOiAibHVjayIsICJidXQiOiAibmljZSIsICJ0cnkiOiAiISIgfQ==", + "data": { + "columns": [ + { + "name": "id", + "type": "string" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "type", + "type": "string" + }, + { + "name": "location", + "type": "string" + } + ], + "rows": [ + [ + "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG1/providers/Microsoft.Compute/disks/yetanothertest_OsDisk_1_f396cbcb625a457bb69fe2abf5975820", + "yetanothertest_OsDisk_1_f396cbcb625a457bb69fe2abf5975820", + "microsoft.compute/disks", + "eastus" + ], + [ + "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG2/providers/Microsoft.Automation/automationAccounts/TestAA", + "TestAA", + "microsoft.automation/automationaccounts", + "westcentralus" + ], + [ + "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG2/providers/Microsoft.Automation/automationAccounts/TestAA/runbooks/TestRB", + "TestRB", + "microsoft.automation/automationaccounts/runbooks", + "westcentralus" + ] + ] + } + } + } + } +} diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesMgBasicQuery.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesMgBasicQuery.json new file mode 100644 index 000000000000..82ced5f17867 --- /dev/null +++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesMgBasicQuery.json @@ -0,0 +1,70 @@ +{ + "title": "Basic Query", + "description": "A simple management group scoped resources query.", + "parameters": { + "api-version": "2020-04-01-preview", + "query": { + "managementGroupId": "e927f598-c1d4-4f72-8541-95d83a6a4ac8", + "query": "Resources | project id, name, type, location, tags | limit 3" + } + }, + "responses": { + "200": { + "body": { + "totalRecords": 3, + "count": 3, + "resultTruncated": "false", + "facets": [], + "data": { + "columns": [ + { + "name": "id", + "type": "string" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "type", + "type": "string" + }, + { + "name": "location", + "type": "string" + }, + { + "name": "tags", + "type": "object" + } + ], + "rows": [ + [ + "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG1/providers/Microsoft.Network/networkInterfaces/myNetworkInterface", + "myNetworkInterface", + "microsoft.network/networkinterfaces", + "centralus", + { + "tag1": "Value1" + } + ], + [ + "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG2/providers/Microsoft.Network/virtualNetworks/myVnet", + "myVnet", + "microsoft.network/virtualnetworks", + "westus", + {} + ], + [ + "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG2/providers/Microsoft.Network/publicIPAddresses/myPublicIp", + "myPublicIp", + "microsoft.network/publicipaddresses", + "westus", + {} + ] + ] + } + } + } + } +} diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesNextPageQuery.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesNextPageQuery.json new file mode 100644 index 000000000000..386edff79d7c --- /dev/null +++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesNextPageQuery.json @@ -0,0 +1,67 @@ +{ + "title": "Next page query", + "description": "A query on resources requesting the next page using skip token. Please note id field is required in the response to return the pages in stable sorted fashion.", + "parameters": { + "api-version": "2020-04-01-preview", + "query": { + "subscriptions": [ + "cfbbd179-59d2-4052-aa06-9270a38aa9d6" + ], + "query": "Resources | where name contains 'test' | project id, name, type, location", + "options": { + "$skipToken": "eyAibm8iOiAibHVjayIsICJidXQiOiAibmljZSIsICJ0cnkiOiAiISIgfQ==" + } + } + }, + "responses": { + "200": { + "body": { + "totalRecords": 386, + "count": 3, + "resultTruncated": "false", + "facets": [], + "$skipToken": "eyAibm8yIjogImx1Y2syIiwgImJ1dDIiOiAibmljZTIiLCAidHJ5MiI6ICIhIiB9", + "data": { + "columns": [ + { + "name": "id", + "type": "string" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "type", + "type": "string" + }, + { + "name": "location", + "type": "string" + } + ], + "rows": [ + [ + "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG1/providers/Microsoft.Compute/disks/second_OsDisk_dddddbcb625a457bb69fe2abf5975820", + "second_OsDisk_dddddbcb625a457bb69fe2abf5975820", + "microsoft.compute/disks", + "eastus" + ], + [ + "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG2/providers/Microsoft.Automation/automationAccounts/AATest", + "AATest", + "microsoft.automation/automationaccounts", + "westcentralus" + ], + [ + "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG2/providers/Microsoft.Automation/automationAccounts/TestAA/runbooks/RBTest", + "RBTest", + "microsoft.automation/automationaccounts/runbooks", + "westcentralus" + ] + ] + } + } + } + } +} diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesPropertiesQuery.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesPropertiesQuery.json new file mode 100644 index 000000000000..1e883167a805 --- /dev/null +++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesPropertiesQuery.json @@ -0,0 +1,45 @@ +{ + "title": "Properties Query", + "description": "A query accessing one of the resource properties.", + "parameters": { + "api-version": "2020-04-01-preview", + "query": { + "subscriptions": [ + "cfbbd179-59d2-4052-aa06-9270a38aa9d6" + ], + "query": "Resources | where type =~ 'Microsoft.Compute/virtualMachines' | summarize count() by tostring(properties.storageProfile.osDisk.osType)" + } + }, + "responses": { + "200": { + "body": { + "totalRecords": 2, + "count": 2, + "resultTruncated": "false", + "facets": [], + "data": { + "columns": [ + { + "name": "properties_storageProfile_osDisk_osType", + "type": "string" + }, + { + "name": "count_", + "type": "integer" + } + ], + "rows": [ + [ + "Linux", + 7 + ], + [ + "Windows", + 23 + ] + ] + } + } + } + } +} diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesRandomPageQuery.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesRandomPageQuery.json new file mode 100644 index 000000000000..6f38746d0b87 --- /dev/null +++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesRandomPageQuery.json @@ -0,0 +1,62 @@ +{ + "title": "Random page query", + "description": "A query on resources specifying paging and max rows through query options", + "parameters": { + "api-version": "2020-04-01-preview", + "query": { + "subscriptions": [ + "cfbbd179-59d2-4052-aa06-9270a38aa9d6" + ], + "query": "Resources | where name contains 'test' | project id, name, type, location", + "options": { + "$top": 2, + "$skip": 10 + } + } + }, + "responses": { + "200": { + "body": { + "totalRecords": 386, + "count": 2, + "resultTruncated": "false", + "facets": [], + "$skipToken": "eyAibm8iOiAibHVjayIsICJidXQiOiAibmljZSIsICJ0cnkiOiAiISIgfQ==", + "data": { + "columns": [ + { + "name": "id", + "type": "string" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "type", + "type": "string" + }, + { + "name": "location", + "type": "string" + } + ], + "rows": [ + [ + "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG1/providers/Microsoft.Compute/disks/third_OsDisk_dddddbcb625a457bb69fe2abf5975820", + "third_OsDisk_dddddbcb625a457bb69fe2abf5975820", + "microsoft.compute/disks", + "eastus" + ], + [ + "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG2/providers/Microsoft.Automation/automationAccounts/CCTest", + "CCTest", + "microsoft.automation/automationaccounts", + "westcentralus" + ] + ] + } + } + } + } +} diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesSummarizeQuery.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesSummarizeQuery.json new file mode 100644 index 000000000000..79f921e21732 --- /dev/null +++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesSummarizeQuery.json @@ -0,0 +1,42 @@ +{ + "title": "Summarize Query", + "description": "A summarizing query on resources.", + "parameters": { + "api-version": "2020-04-01-preview", + "query": { + "subscriptions": [ + "cfbbd179-59d2-4052-aa06-9270a38aa9d6" + ], + "query": "Resources | project id, name, type, location | summarize by location" + } + }, + "responses": { + "200": { + "body": { + "totalRecords": 3, + "count": 3, + "resultTruncated": "false", + "facets": [], + "data": { + "columns": [ + { + "name": "location", + "type": "string" + } + ], + "rows": [ + [ + "centralus" + ], + [ + "eastus" + ], + [ + "westus" + ] + ] + } + } + } + } +} diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesTenantBasicQuery.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesTenantBasicQuery.json new file mode 100644 index 000000000000..66d4fcba940b --- /dev/null +++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/examples/ResourcesTenantBasicQuery.json @@ -0,0 +1,69 @@ +{ + "title": "Basic Query", + "description": "A simple tenant scoped resources query.", + "parameters": { + "api-version": "2020-04-01-preview", + "query": { + "query": "Resources | project id, name, type, location, tags | limit 3" + } + }, + "responses": { + "200": { + "body": { + "totalRecords": 3, + "count": 3, + "resultTruncated": "false", + "facets": [], + "data": { + "columns": [ + { + "name": "id", + "type": "string" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "type", + "type": "string" + }, + { + "name": "location", + "type": "string" + }, + { + "name": "tags", + "type": "object" + } + ], + "rows": [ + [ + "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG1/providers/Microsoft.Network/networkInterfaces/myNetworkInterface", + "myNetworkInterface", + "microsoft.network/networkinterfaces", + "centralus", + { + "tag1": "Value1" + } + ], + [ + "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG2/providers/Microsoft.Network/virtualNetworks/myVnet", + "myVnet", + "microsoft.network/virtualnetworks", + "westus", + {} + ], + [ + "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG2/providers/Microsoft.Network/publicIPAddresses/myPublicIp", + "myPublicIp", + "microsoft.network/publicipaddresses", + "westus", + {} + ] + ] + } + } + } + } +} diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/graphquery.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/graphquery.json new file mode 100644 index 000000000000..ef9c0ff36b8c --- /dev/null +++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/graphquery.json @@ -0,0 +1,469 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Resource Graph Query", + "description": "Azure Resource Graph Query API Reference", + "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.ResourceGraph/queries": { + "get": { + "tags": [ + "GraphQuery" + ], + "description": "Get all graph queries defined within a specified subscription and resource group.", + "operationId": "GraphQuery_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A list containing 0 or more graph queries.", + "schema": { + "$ref": "#/definitions/GraphQueryListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/GraphQueryError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get a list of Graph Queries": { + "$ref": "./examples/GraphQueryList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ResourceGraph/queries/{resourceName}": { + "get": { + "tags": [ + "GraphQuery" + ], + "description": "Get a single graph query by its resourceName.", + "operationId": "GraphQuery_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/GraphQueryResourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A graph query definition.", + "schema": { + "$ref": "#/definitions/GraphQueryResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/GraphQueryError" + } + } + }, + "x-ms-examples": { + "Get Graph Query": { + "$ref": "./examples/GraphQueryGet.json" + } + } + }, + "delete": { + "tags": [ + "GraphQuery" + ], + "description": "Delete a graph query.", + "operationId": "GraphQuery_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/GraphQueryResourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The graph query has been successfully deleted." + }, + "204": { + "description": "The resource doesn't exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/GraphQueryError" + } + } + }, + "x-ms-examples": { + "Delete Graph Query": { + "$ref": "./examples/GraphQueryDelete.json" + } + } + }, + "put": { + "tags": [ + "GraphQuery" + ], + "description": "Create a new graph query.", + "operationId": "GraphQuery_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/GraphQueryResourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "properties", + "description": "Properties that need to be specified to create a new graph query.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GraphQueryResource" + } + } + ], + "responses": { + "200": { + "description": "The newly created graph query.", + "schema": { + "$ref": "#/definitions/GraphQueryResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/GraphQueryError" + } + } + }, + "x-ms-examples": { + "Create Graph Query": { + "$ref": "./examples/GraphQueryAdd.json" + } + } + }, + "patch": { + "description": "Updates a graph query that has already been added.", + "operationId": "GraphQuery_Update", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/GraphQueryResourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Properties that need to be specified to create a new graph query.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GraphQueryUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The graph query definition updated.", + "schema": { + "$ref": "#/definitions/GraphQueryResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/GraphQueryError" + } + } + }, + "x-ms-examples": { + "Update Graph Query": { + "$ref": "./examples/GraphQueryUpdate.json" + } + } + } + } + }, + "definitions": { + "Resource": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Azure resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Azure resource name. This is GUID value. The display name should be assigned within properties field." + }, + "location": { + "type": "string", + "readOnly": true, + "description": "The location of the resource" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Azure resource type" + } + }, + "x-ms-azure-resource": true, + "description": "An azure resource object" + }, + "GraphQueryListResult": { + "properties": { + "nextLink": { + "description": "URL to fetch the next set of queries.", + "type": "string" + }, + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/GraphQueryResource" + }, + "description": "An array of graph queries." + } + }, + "description": "Graph query list result." + }, + "GraphQueryResource": { + "description": "Graph Query entity definition.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Metadata describing a graph query for an Azure resource.", + "$ref": "#/definitions/GraphQueryProperties" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + }, + "systemData": { + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData" + }, + "eTag": { + "type": "string", + "description": "This will be used to handle Optimistic Concurrency." + } + } + }, + "GraphQueryProperties": { + "description": "Properties that contain a graph query.", + "required": [ + "query" + ], + "properties": { + "timeModified": { + "type": "string", + "description": "Date and time in UTC of the last modification that was made to this graph query definition.", + "format": "date-time", + "readOnly": true + }, + "description": { + "type": "string", + "description": "The description of a graph query." + }, + "query": { + "type": "string", + "description": "KQL query that will be graph." + }, + "resultKind": { + "description": "Enum indicating a type of graph query.", + "readOnly": true, + "type": "string", + "enum": [ + "basic" + ], + "x-ms-enum": { + "name": "ResultKind", + "modelAsString": true + } + } + } + }, + "GraphQueryUpdateParameters": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + }, + "eTag": { + "type": "string", + "description": "This will be used to handle Optimistic Concurrency. If not present, it will always overwrite the existing resource without checking conflict." + }, + "properties": { + "x-ms-client-flatten": true, + "description": "Metadata describing a graph query for an Azure resource.", + "$ref": "#/definitions/GraphQueryPropertiesUpdateParameters" + } + }, + "description": "The parameters that can be provided when updating workbook properties properties." + }, + "GraphQueryPropertiesUpdateParameters": { + "description": "Properties that contain a workbook for PATCH operation.", + "properties": { + "description": { + "type": "string", + "description": "The description of a graph query." + }, + "query": { + "type": "string", + "description": "KQL query that will be graph." + } + } + }, + "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." + }, + "GraphQueryError": { + "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": { + "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" + }, + "GraphQueryResourceNameParameter": { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Graph Query resource.", + "x-ms-parameter-location": "method" + } + } +} 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 new file mode 100644 index 000000000000..87ee4ab7c39e --- /dev/null +++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/resourcegraph.json @@ -0,0 +1,868 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Resource Graph", + "description": "Azure Resource Graph API Reference", + "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": { + "/providers/Microsoft.ResourceGraph/resources": { + "post": { + "tags": [ + "Resources" + ], + "operationId": "Resources", + "description": "Queries the resources managed by Azure Resource Manager for all subscriptions specified in the request.", + "externalDocs": { + "description": "Learn more about the query syntax here", + "url": "https://aka.ms/resource-graph/learntoquery" + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "query", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/QueryRequest" + }, + "description": "Request specifying query and its options." + } + ], + "responses": { + "200": { + "description": "Result of the query operation", + "schema": { + "$ref": "#/definitions/QueryResponse" + } + }, + "default": { + "description": "An error occurred while processing the request. See the error.code parameter to identify the specific error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Basic query": { + "$ref": "./examples/ResourcesBasicQuery.json" + }, + "Basic tenant query": { + "$ref": "./examples/ResourcesTenantBasicQuery.json" + }, + "Basic management group query": { + "$ref": "./examples/ResourcesMgBasicQuery.json" + }, + "Filter resources": { + "$ref": "./examples/ResourcesFilterQuery.json" + }, + "Summarize resources by location": { + "$ref": "./examples/ResourcesSummarizeQuery.json" + }, + "Complex query": { + "$ref": "./examples/ResourcesComplexQuery.json" + }, + "Access a properties field": { + "$ref": "./examples/ResourcesPropertiesQuery.json" + }, + "Query with a facet request": { + "$ref": "./examples/ResourcesFacetQuery.json" + }, + "First page query": { + "$ref": "./examples/ResourcesFirstPageQuery.json" + }, + "Next page query": { + "$ref": "./examples/ResourcesNextPageQuery.json" + }, + "Random page query": { + "$ref": "./examples/ResourcesRandomPageQuery.json" + } + } + } + }, + "/providers/Microsoft.ResourceGraph/resourceChanges": { + "post": { + "description": "List changes to a resource for a given time interval.", + "operationId": "List_ResourceChanges", + "tags": [ + "Changes" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "description": "the parameters for this request for changes.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceChangesRequestParameters" + } + } + ], + "responses": { + "200": { + "description": "A list of changes associated with a resource over a specific time interval.", + "schema": { + "$ref": "#/definitions/ResourceChangeList" + } + }, + "default": { + "description": "A response indicating an error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Basic query": { + "$ref": "./examples/ResourceChanges.json" + }, + "First page query": { + "$ref": "./examples/ResourceChangesFirstPage.json" + }, + "Next page query": { + "$ref": "./examples/ResourceChangesNextPage.json" + } + } + } + }, + "/providers/Microsoft.ResourceGraph/resourceChangeDetails": { + "post": { + "description": "Get resource change details.", + "operationId": "Get_ResourceChangeDetails", + "tags": [ + "Changes" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "description": "The parameters for this request for resource change details.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceChangeDetailsRequestParameters" + } + } + ], + "responses": { + "200": { + "description": "Resource change details.", + "schema": { + "$ref": "#/definitions/ResourceChangeData" + } + }, + "default": { + "description": "A response indicating an error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Basic query": { + "$ref": "./examples/ResourceChangeDetails.json" + } + } + } + }, + "/providers/Microsoft.ResourceGraph/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available REST API operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "OperationsList": { + "$ref": "./examples/OperationsList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + } + }, + "definitions": { + "QueryRequest": { + "description": "Describes a query to be executed.", + "type": "object", + "properties": { + "subscriptions": { + "description": "Azure subscriptions against which to execute the query.", + "type": "array", + "items": { + "type": "string", + "description": "Subscription Id." + } + }, + "managementGroupId": { + "description": "The management group identifier.", + "type": "string" + }, + "query": { + "description": "The resources query.", + "type": "string" + }, + "options": { + "description": "The query evaluation options", + "$ref": "#/definitions/QueryRequestOptions" + }, + "facets": { + "description": "An array of facet requests to be computed against the query result.", + "type": "array", + "items": { + "$ref": "#/definitions/FacetRequest" + } + } + }, + "required": [ + "query" + ] + }, + "QueryRequestOptions": { + "description": "The options for query evaluation", + "properties": { + "$skipToken": { + "description": "Continuation token for pagination, capturing the next page size and offset, as well as the context of the query.", + "type": "string" + }, + "$top": { + "description": "The maximum number of rows that the query should return. Overrides the page size when ```$skipToken``` property is present.", + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 1000 + }, + "$skip": { + "description": "The number of rows to skip from the beginning of the results. Overrides the next page offset when ```$skipToken``` property is present.", + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "resultFormat": { + "description": "Defines in which format query result returned.", + "type": "string", + "enum": [ + "table", + "objectArray" + ], + "x-ms-enum": { + "name": "ResultFormat", + "modelAsString": false + } + } + } + }, + "FacetRequest": { + "description": "A request to compute additional statistics (facets) over the query results.", + "type": "object", + "properties": { + "expression": { + "description": "The column or list of columns to summarize by", + "type": "string" + }, + "options": { + "description": "The options for facet evaluation", + "$ref": "#/definitions/FacetRequestOptions" + } + }, + "required": [ + "expression" + ] + }, + "FacetRequestOptions": { + "description": "The options for facet evaluation", + "properties": { + "sortBy": { + "description": "The column name or query expression to sort on. Defaults to count if not present.", + "type": "string" + }, + "sortOrder": { + "description": "The sorting order by the selected column (count by default).", + "type": "string", + "default": "desc", + "enum": [ + "asc", + "desc" + ], + "x-ms-enum": { + "name": "FacetSortOrder", + "modelAsString": false + } + }, + "filter": { + "description": "Specifies the filter condition for the 'where' clause which will be run on main query's result, just before the actual faceting.", + "type": "string" + }, + "$top": { + "description": "The maximum number of facet rows that should be returned.", + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 1000 + } + } + }, + "QueryResponse": { + "description": "Query result.", + "type": "object", + "properties": { + "totalRecords": { + "description": "Number of total records matching the query.", + "type": "integer", + "format": "int64" + }, + "count": { + "description": "Number of records returned in the current response. In the case of paging, this is the number of records in the current page.", + "type": "integer", + "format": "int64" + }, + "resultTruncated": { + "description": "Indicates whether the query results are truncated.", + "type": "string", + "enum": [ + "true", + "false" + ], + "x-ms-enum": { + "name": "ResultTruncated", + "modelAsString": false + } + }, + "$skipToken": { + "description": "When present, the value can be passed to a subsequent query call (together with the same query and subscriptions used in the current request) to retrieve the next page of data.", + "type": "string" + }, + "data": { + "description": "Query output in tabular format.", + "type": "object" + }, + "facets": { + "description": "Query facets.", + "type": "array", + "items": { + "$ref": "#/definitions/Facet" + } + } + }, + "required": [ + "totalRecords", + "count", + "resultTruncated", + "data" + ] + }, + "Table": { + "description": "Query output in tabular format.", + "type": "object", + "properties": { + "columns": { + "description": "Query result column descriptors.", + "type": "array", + "items": { + "$ref": "#/definitions/Column", + "description": "Column descriptor." + } + }, + "rows": { + "description": "Query result rows.", + "type": "array", + "items": { + "$ref": "#/definitions/Row", + "description": "Query result row." + } + } + }, + "required": [ + "columns", + "rows" + ] + }, + "Column": { + "description": "Query result column descriptor.", + "type": "object", + "properties": { + "name": { + "description": "Column name.", + "type": "string" + }, + "type": { + "description": "Column data type.", + "$ref": "#/definitions/ColumnDataType" + } + }, + "required": [ + "name", + "type" + ] + }, + "ColumnDataType": { + "description": "Data type of a column in a table.", + "type": "string", + "enum": [ + "string", + "integer", + "number", + "boolean", + "object" + ], + "x-ms-enum": { + "name": "ColumnDataType", + "modelAsString": false + } + }, + "Row": { + "description": "Query result row.", + "type": "array", + "items": { + "type": "object", + "description": "Cell value." + } + }, + "Facet": { + "description": "A facet containing additional statistics on the response of a query. Can be either FacetResult or FacetError.", + "type": "object", + "properties": { + "expression": { + "description": "Facet expression, same as in the corresponding facet request.", + "type": "string" + }, + "resultType": { + "description": "Result type", + "type": "string" + } + }, + "required": [ + "expression", + "resultType" + ], + "discriminator": "resultType" + }, + "FacetResult": { + "x-ms-discriminator-value": "FacetResult", + "description": "Successfully executed facet containing additional statistics on the response of a query.", + "type": "object", + "properties": { + "totalRecords": { + "description": "Number of total records in the facet results.", + "type": "integer", + "format": "int64" + }, + "count": { + "description": "Number of records returned in the facet response.", + "type": "integer", + "format": "int32" + }, + "data": { + "description": "A table containing the desired facets. Only present if the facet is valid.", + "type": "object" + } + }, + "required": [ + "totalRecords", + "count", + "data" + ], + "allOf": [ + { + "$ref": "#/definitions/Facet" + } + ] + }, + "FacetError": { + "x-ms-discriminator-value": "FacetError", + "description": "A facet whose execution resulted in an error.", + "type": "object", + "properties": { + "errors": { + "description": "An array containing detected facet errors with details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "required": [ + "errors" + ], + "allOf": [ + { + "$ref": "#/definitions/Facet" + } + ] + }, + "ResourceChangesRequestParameters": { + "description": "The parameters for a specific changes request.", + "type": "object", + "properties": { + "resourceId": { + "description": "Specifies the resource for a changes request.", + "type": "string" + }, + "interval": { + "description": "Specifies the date and time interval for a changes request.", + "allOf": [ + { + "$ref": "#/definitions/DateTimeInterval" + } + ] + }, + "$skipToken": { + "description": "Acts as the continuation token for paged responses.", + "type": "string" + }, + "$top": { + "description": "The maximum number of changes the client can accept in a paged response.", + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 1000 + }, + "fetchPropertyChanges": { + "description": "The flag if set to true will fetch property changes", + "type": "boolean" + } + }, + "required": [ + "resourceId", + "interval" + ] + }, + "ResourceChangeList": { + "description": "A list of changes associated with a resource over a specific time interval.", + "type": "object", + "properties": { + "changes": { + "description": "The pageable value returned by the operation, i.e. a list of changes to the resource.\n\n- The list is ordered from the most recent changes to the least recent changes.\n- This list will be empty if there were no changes during the requested interval.\n- The `Before` snapshot timestamp value of the oldest change can be outside of the specified time interval.", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceChangeData" + } + }, + "$skipToken": { + "description": "Skip token that encodes the skip information while executing the current request" + } + } + }, + "ResourceChangeData": { + "description": "Data on a specific change, represented by a pair of before and after resource snapshots.", + "type": "object", + "properties": { + "changeId": { + "description": "The change ID. Valid and unique within the specified resource only.", + "type": "string" + }, + "beforeSnapshot": { + "description": "The snapshot before the change.", + "allOf": [ + { + "$ref": "#/definitions/ResourceSnapshotData" + } + ] + }, + "afterSnapshot": { + "description": "The snapshot after the change.", + "allOf": [ + { + "$ref": "#/definitions/ResourceSnapshotData" + } + ] + }, + "changeType": { + "description": "The change type for snapshot. PropertyChanges will be provided in case of Update change type", + "type": "string", + "enum": [ + "Create", + "Update", + "Delete" + ], + "x-ms-enum": { + "name": "ChangeType", + "modelAsString": false + } + }, + "propertyChanges": { + "description": "An array of resource property change", + "type": "array", + "items": { + "$ref": "#/definitions/ResourcePropertyChange" + } + } + }, + "required": [ + "changeId", + "beforeSnapshot", + "afterSnapshot" + ] + }, + "ResourcePropertyChange": { + "description": "The resource property change", + "type": "object", + "properties": { + "propertyName": { + "description": "The property name", + "type": "string" + }, + "beforeValue": { + "description": "The property value in before snapshot", + "type": "string" + }, + "afterValue": { + "description": "The property value in after snapshot", + "type": "string" + }, + "changeCategory": { + "description": "The change category.", + "type": "string", + "enum": [ + "User", + "System" + ], + "x-ms-enum": { + "name": "ChangeCategory", + "modelAsString": false + } + }, + "propertyChangeType": { + "description": "The property change Type", + "type": "string", + "enum": [ + "Insert", + "Update", + "Remove" + ], + "x-ms-enum": { + "name": "PropertyChangeType", + "modelAsString": false + } + } + }, + "required": [ + "propertyName", + "changeCategory", + "propertyChangeType" + ] + }, + "ResourceSnapshotData": { + "description": "Data on a specific resource snapshot.", + "type": "object", + "properties": { + "timestamp": { + "description": "The time when the snapshot was created.\nThe snapshot timestamp provides an approximation as to when a modification to a resource was detected. There can be a difference between the actual modification time and the detection time. This is due to differences in how operations that modify a resource are processed, versus how operation that record resource snapshots are processed.", + "type": "string", + "format": "date-time" + }, + "content": { + "description": "The resource snapshot content (in resourceChangeDetails response only).", + "type": "object" + } + }, + "required": [ + "timestamp" + ] + }, + "ResourceChangeDetailsRequestParameters": { + "description": "The parameters for a specific change details request.", + "type": "object", + "properties": { + "resourceId": { + "description": "Specifies the resource for a change details request.", + "type": "string" + }, + "changeId": { + "description": "Specifies the change ID.", + "type": "string" + } + }, + "required": [ + "resourceId", + "changeId" + ] + }, + "DateTimeInterval": { + "description": "An interval in time specifying the date and time for the inclusive start and exclusive end, i.e. `[start, end)`.", + "type": "object", + "properties": { + "start": { + "description": "A datetime indicating the inclusive/closed start of the time interval, i.e. `[`**`start`**`, end)`. Specifying a `start` that occurs chronologically after `end` will result in an error.", + "type": "string", + "format": "date-time" + }, + "end": { + "description": "A datetime indicating the exclusive/open end of the time interval, i.e. `[start, `**`end`**`)`. Specifying an `end` that occurs chronologically before `start` will result in an error.", + "type": "string", + "format": "date-time" + } + }, + "required": [ + "start", + "end" + ] + }, + "ErrorResponse": { + "title": "Error response.", + "type": "object", + "description": "An error response from the API.", + "properties": { + "error": { + "$ref": "#/definitions/Error", + "description": "Error information." + } + }, + "required": [ + "error" + ] + }, + "Error": { + "title": "Error info.", + "type": "object", + "description": "Error details.", + "properties": { + "code": { + "type": "string", + "description": "Error code identifying the specific error." + }, + "message": { + "type": "string", + "description": "A human readable error message." + }, + "details": { + "type": "array", + "description": "Error details", + "items": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "required": [ + "code", + "message" + ] + }, + "ErrorDetails": { + "title": "Error details.", + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Error code identifying the specific error." + }, + "message": { + "type": "string", + "description": "A human readable error message." + } + }, + "additionalProperties": { + "type": "object" + }, + "required": [ + "code", + "message" + ] + }, + "OperationListResult": { + "description": "Result of the request to list Resource Graph 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 Resource Graph operations supported by the Resource Graph resource provider." + } + } + }, + "Operation": { + "description": "Resource Graph REST API operation definition.", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "Display metadata associated with the operation.", + "properties": { + "provider": { + "description": "Service provider: Microsoft Resource Graph.", + "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 for the operation.", + "type": "string" + } + } + }, + "origin": { + "type": "string", + "description": "The origin of operations." + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Api Version." + } + } +} diff --git a/specification/resourcegraph/resource-manager/readme.md b/specification/resourcegraph/resource-manager/readme.md index 0975fa101476..3c818b78b7d8 100644 --- a/specification/resourcegraph/resource-manager/readme.md +++ b/specification/resourcegraph/resource-manager/readme.md @@ -27,7 +27,7 @@ These are the global settings for the ResourceGraph API. ``` yaml title: ResourceGraphClient openapi-type: arm -tag: package-2019-04 +tag: package-preview-2020-04 ``` ### Validations @@ -41,11 +41,20 @@ model-validator: true message-format: json ``` +### Tag: package-preview-2020-04 + +These settings apply only when `--tag=package-preview-2020-04` is specified on the command line. + +``` yaml $(tag) == 'package-preview-2020-04' +input-file: + - Microsoft.ResourceGraph/preview/2020-04-01-preview/resourcegraph.json +``` + ### Tag: package-2019-04 These settings apply only when `--tag=package-2019-04` is specified on the command line. -```yaml $(tag) == 'package-2019-04' +``` yaml $(tag) == 'package-2019-04' input-file: - Microsoft.ResourceGraph/stable/2019-04-01/resourcegraph.json ``` @@ -114,9 +123,13 @@ directive: Renaming it to ResourceChanges_ListResourceChanges causes yet another warning: "Per the Noun_Verb convention for Operation Ids, the noun 'ResourceChanges' should not appear after the underscore." Renaming it to ResourceChanges_Listresourcechanges seems to get rid of warnings, but the result looks very strange. + - suppress: EnumInsteadOfBoolean + where: $.definitions.ResourceChangesRequestParameters.properties.fetchPropertyChanges + from: resourcegraph.json + reason: This is a clear scenario for a boolean and will not have more than 2 values in the future. ``` -## 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. @@ -128,13 +141,14 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.ResourceGraph/preview/2020-04-01-preview/resourcegraph.json - $(this-folder)/Microsoft.ResourceGraph/stable/2019-04-01/resourcegraph.json - $(this-folder)/Microsoft.ResourceGraph/preview/2018-09-01-preview/resourcegraph.json - $(this-folder)/Microsoft.ResourceGraph/preview/2018-09-01-preview/graphquery.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' diff --git a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecVersionsCreate.json b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecVersionsCreate.json new file mode 100644 index 000000000000..7027130afd46 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecVersionsCreate.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2019-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "templateSpecRG", + "templateSpecName": "simpleTemplateSpec", + "templateSpecVersion": "v1.0", + "templateSpecVersionModel": { + "location": "eastus", + "properties": { + "description": "This is version v1.0 of our template content", + "template": { + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": {}, + "resources": [] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/templateSpecRG/providers/Microsoft.Resources/templateSpecs/simpleTemplateSpec/versions/v1.0", + "type": "Microsoft.Resources/templateSpecs/versions", + "name": "v1.0", + "location": "eastus", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-02T02:03:01.1974346Z" + }, + "properties": { + "description": "This is version v1.0 of our template content", + "template": { + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": {}, + "resources": [] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/templateSpecRG/providers/Microsoft.Resources/templateSpecs/simpleTemplateSpec/versions/v1.0", + "type": "Microsoft.Resources/templateSpecs/versions", + "name": "v1.0", + "location": "eastus", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + }, + "properties": { + "description": "This is version v1.0 of our template content", + "template": { + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": {}, + "resources": [] + } + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecVersionsDelete.json b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecVersionsDelete.json new file mode 100644 index 000000000000..e7c2a152a793 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecVersionsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2019-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "templateSpecRG", + "templateSpecName": "simpleTemplateSpec", + "templateSpecVersion": "v1.0" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecVersionsGet.json b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecVersionsGet.json new file mode 100644 index 000000000000..c24ac4e90725 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecVersionsGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2019-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "templateSpecRG", + "templateSpecName": "simpleTemplateSpec", + "templateSpecVersion": "v1.0" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/templateSpecRG/providers/Microsoft.Resources/templateSpecs/simpleTemplateSpec/versions/v1.0", + "type": "Microsoft.Resources/templateSpecs/versions", + "name": "v1.0", + "location": "eastus", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-02T02:03:01.1974346Z" + }, + "properties": { + "description": "This is version v1.0 of our template content", + "template": { + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": {}, + "resources": [] + } + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecVersionsList.json b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecVersionsList.json new file mode 100644 index 000000000000..6c747f9c7623 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecVersionsList.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2019-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "templateSpecRG", + "templateSpecName": "simpleTemplateSpec" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/templateSpecRG/providers/Microsoft.Resources/templateSpecs/simpleTemplateSpec/versions/v1.0", + "type": "Microsoft.Resources/templateSpecs/versions", + "name": "v1.0", + "location": "eastus", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-02T02:03:01.1974346Z" + }, + "properties": { + "description": "This is version v1.0" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/templateSpecRG/providers/Microsoft.Resources/templateSpecs/simpleTemplateSpec/versions/v2.0", + "type": "Microsoft.Resources/templateSpecs/versions", + "name": "v2.0", + "location": "eastus", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, + "properties": { + "description": "This is another version (v2.0)" + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecVersionsPatch.json b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecVersionsPatch.json new file mode 100644 index 000000000000..ae6ac0541e28 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecVersionsPatch.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2019-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "templateSpecRG", + "templateSpecName": "simpleTemplateSpec", + "templateSpecVersion": "v1.0", + "templateSpecVersionUpdateModel": { + "tags": { + "myTag": "My Value" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/templateSpecRG/providers/Microsoft.Resources/templateSpecs/simpleTemplateSpec/versions/v1.0", + "type": "Microsoft.Resources/templateSpecs/versions", + "name": "v1.0", + "location": "eastus", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-02T02:03:01.1974346Z" + }, + "properties": { + "description": "This is version v1.0 of our template content", + "template": { + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": {}, + "resources": [] + } + }, + "tags": { + "myTag": "My Value" + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecsCreate.json b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecsCreate.json new file mode 100644 index 000000000000..68b29c856064 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecsCreate.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2019-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "templateSpecRG", + "templateSpecName": "simpleTemplateSpec", + "templateSpec": { + "location": "eastus", + "properties": { + "description": "A very simple Template Spec" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/templateSpecRG/providers/Microsoft.Resources/templateSpecs/simpleTemplateSpec", + "type": "Microsoft.Resources/templateSpecs", + "name": "simpleTemplateSpec", + "location": "eastus", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + }, + "properties": { + "description": "A very simple Template Spec" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/templateSpecRG/providers/Microsoft.Resources/templateSpecs/simpleTemplateSpec", + "type": "Microsoft.Resources/templateSpecs", + "name": "simpleTemplateSpec", + "location": "eastus", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-02T02:03:01.1974346Z" + }, + "properties": { + "description": "A very simple Template Spec" + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecsDelete.json b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecsDelete.json new file mode 100644 index 000000000000..9e62f14c3c13 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecsDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2019-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "templateSpecRG", + "templateSpecName": "simpleTemplateSpec" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecsGet.json b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecsGet.json new file mode 100644 index 000000000000..09213ca6a682 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecsGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2019-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "templateSpecRG", + "templateSpecName": "simpleTemplateSpec" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/templateSpecRG/providers/Microsoft.Resources/templateSpecs/simpleTemplateSpec", + "type": "Microsoft.Resources/templateSpecs", + "name": "simpleTemplateSpec", + "location": "eastus", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-02T02:03:01.1974346Z" + }, + "properties": { + "description": "A very simple Template Spec" + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecsListByResourceGroup.json b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecsListByResourceGroup.json new file mode 100644 index 000000000000..601e93f3d384 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecsListByResourceGroup.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2019-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "templateSpecRG" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/templateSpecRG/providers/Microsoft.Resources/templateSpecs/simpleTemplateSpec", + "type": "Microsoft.Resources/templateSpecs", + "name": "simpleTemplateSpec", + "location": "eastus", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-02T02:03:01.1974346Z" + }, + "properties": { + "description": "A very simple Template Spec" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/templateSpecRG/providers/Microsoft.Resources/templateSpecs/anotherSimpleTemplateSpec", + "type": "Microsoft.Resources/templateSpecs", + "name": "anotherSimpleTemplateSpec", + "location": "westus", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-02T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-03T02:03:01.1974346Z" + }, + "properties": { + "description": "Another very simple Template Spec" + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecsListBySubscription.json b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecsListBySubscription.json new file mode 100644 index 000000000000..d06d40a793ba --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecsListBySubscription.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2019-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/templateSpecRG/providers/Microsoft.Resources/templateSpecs/simpleTemplateSpec", + "type": "Microsoft.Resources/templateSpecs", + "name": "simpleTemplateSpec", + "location": "eastus", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-02T02:03:01.1974346Z" + }, + "properties": { + "description": "A very simple Template Spec" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/templateSpecRG2/providers/Microsoft.Resources/templateSpecs/anotherSimpleTemplateSpec", + "type": "Microsoft.Resources/templateSpecs", + "name": "anotherSimpleTemplateSpec", + "location": "westus", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-02T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-03T02:03:01.1974346Z" + }, + "properties": { + "description": "Another very simple Template Spec" + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecsPatch.json b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecsPatch.json new file mode 100644 index 000000000000..4170c4ad0219 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/examples/TemplateSpecsPatch.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2019-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "templateSpecRG", + "templateSpecName": "simpleTemplateSpec", + "templateSpec": { + "tags": { + "myTag": "My Value" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/templateSpecRG/providers/Microsoft.Resources/templateSpecs/simpleTemplateSpec", + "type": "Microsoft.Resources/templateSpecs", + "name": "simpleTemplateSpec", + "location": "eastus", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-02T02:03:01.1974346Z" + }, + "properties": { + "description": "A very simple Template Spec" + }, + "tags": { + "myTag": "My Value" + } + } + } + } +} 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 new file mode 100644 index 000000000000..9cc8d212cd87 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/templateSpecs.json @@ -0,0 +1,863 @@ +{ + "swagger": "2.0", + "info": { + "title": "TemplateSpecsClient", + "description": "The APIs listed in this specification can be used to manage Template Spec resources through the Azure Resource Manager.", + "version": "2019-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.Resources/templateSpecs/{templateSpecName}": { + "put": { + "tags": [ + "TemplateSpecs" + ], + "operationId": "TemplateSpecs_CreateOrUpdate", + "description": "Creates or updates a Template Spec.", + "x-ms-examples": { + "TemplateSpecsCreateUpdate": { + "$ref": "./examples/TemplateSpecsCreate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/TemplateSpecNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "templateSpec", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TemplateSpecModel" + }, + "description": "Template Spec supplied to the operation." + } + ], + "responses": { + "200": { + "description": "OK - The Template Spec update request has succeeded.", + "schema": { + "$ref": "#/definitions/TemplateSpecModel" + } + }, + "201": { + "description": "Template Spec created.", + "schema": { + "$ref": "#/definitions/TemplateSpecModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/TemplateSpecsError" + } + } + } + }, + "patch": { + "tags": [ + "TemplateSpecs" + ], + "operationId": "TemplateSpecs_Update", + "description": "Updates Template Spec tags with specified values.", + "x-ms-examples": { + "TemplateSpecsPatch": { + "$ref": "./examples/TemplateSpecsPatch.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/TemplateSpecNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "templateSpec", + "in": "body", + "schema": { + "$ref": "#/definitions/TemplateSpecUpdateModel" + }, + "description": "Template Spec resource with the tags to be updated." + } + ], + "responses": { + "200": { + "description": "OK -- Template Spec tags are updated.", + "schema": { + "$ref": "#/definitions/TemplateSpecModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/TemplateSpecsError" + } + } + } + }, + "get": { + "tags": [ + "TemplateSpecs" + ], + "operationId": "TemplateSpecs_Get", + "description": "Gets a Template Spec with a given name.", + "x-ms-examples": { + "TemplateSpecsGet": { + "$ref": "./examples/TemplateSpecsGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/TemplateSpecNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the Template Spec.", + "schema": { + "$ref": "#/definitions/TemplateSpecModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/TemplateSpecsError" + } + } + } + }, + "delete": { + "tags": [ + "TemplateSpecs" + ], + "operationId": "TemplateSpecs_Delete", + "description": "Deletes a Template Spec by name. When operation completes, status code 200 returned without content.", + "x-ms-examples": { + "TemplateSpecsDelete": { + "$ref": "./examples/TemplateSpecsDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/TemplateSpecNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Template Spec deleted." + }, + "204": { + "description": "Template Spec does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/TemplateSpecsError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/templateSpecs/": { + "get": { + "tags": [ + "TemplateSpecs" + ], + "operationId": "TemplateSpecs_ListBySubscription", + "description": "Lists all the Template Specs within the specified subscriptions.", + "x-ms-examples": { + "TemplatesSpecsListBySubscription": { + "$ref": "./examples/TemplateSpecsListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of Template Specs.", + "schema": { + "$ref": "#/definitions/TemplateSpecsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/TemplateSpecsError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Resources/templateSpecs/": { + "get": { + "tags": [ + "TemplateSpecs" + ], + "operationId": "TemplateSpecs_ListByResourceGroup", + "description": "Lists all the Template Specs within the specified resource group.", + "x-ms-examples": { + "TemplateSpecsListByResourceGroup": { + "$ref": "./examples/TemplateSpecsListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of Template Specs.", + "schema": { + "$ref": "#/definitions/TemplateSpecsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/TemplateSpecsError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Resources/templateSpecs/{templateSpecName}/versions/{templateSpecVersion}": { + "put": { + "tags": [ + "TemplateSpecVersions" + ], + "operationId": "TemplateSpecVersions_CreateOrUpdate", + "description": "Creates or updates a Template Spec version.", + "x-ms-examples": { + "TemplateSpecVersionsCreateUpdate": { + "$ref": "./examples/TemplateSpecVersionsCreate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/TemplateSpecNameParameter" + }, + { + "$ref": "#/parameters/TemplateSpecVersionParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "templateSpecVersionModel", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TemplateSpecVersionModel" + }, + "description": "Template Spec Version supplied to the operation." + } + ], + "responses": { + "200": { + "description": "OK - The Template Spec Version has been successfully updated.", + "schema": { + "$ref": "#/definitions/TemplateSpecVersionModel" + } + }, + "201": { + "description": "Template Spec Version created.", + "schema": { + "$ref": "#/definitions/TemplateSpecVersionModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/TemplateSpecsError" + } + } + } + }, + "patch": { + "tags": [ + "TemplateSpecVersions" + ], + "operationId": "TemplateSpecVersions_Update", + "description": "Updates Template Spec Version tags with specified values.", + "x-ms-examples": { + "TemplateSpecsPatch": { + "$ref": "./examples/TemplateSpecVersionsPatch.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/TemplateSpecNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/TemplateSpecVersionParameter" + }, + { + "name": "templateSpecVersionUpdateModel", + "in": "body", + "schema": { + "$ref": "#/definitions/TemplateSpecVersionUpdateModel" + }, + "description": "Template Spec Version resource with the tags to be updated." + } + ], + "responses": { + "200": { + "description": "OK -- Template Spec Version tags are updated.", + "schema": { + "$ref": "#/definitions/TemplateSpecVersionModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/TemplateSpecsError" + } + } + } + }, + "get": { + "tags": [ + "TemplateSpecVersions" + ], + "operationId": "TemplateSpecVersions_Get", + "description": "Gets a Template Spec version from a specific Template Spec.", + "x-ms-examples": { + "TemplateSpecVersionsGet": { + "$ref": "./examples/TemplateSpecVersionsGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/TemplateSpecNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/TemplateSpecVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the Template Spec version.", + "schema": { + "$ref": "#/definitions/TemplateSpecVersionModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/TemplateSpecsError" + } + } + } + }, + "delete": { + "tags": [ + "TemplateSpecVersions" + ], + "operationId": "TemplateSpecVersions_Delete", + "description": "Deletes a specific version from a Template Spec. When operation completes, status code 200 returned without content.", + "x-ms-examples": { + "TemplateSpecVersionsDelete": { + "$ref": "./examples/TemplateSpecVersionsDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/TemplateSpecNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/TemplateSpecVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Template Spec Version deleted." + }, + "204": { + "description": "Template Spec Version does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/TemplateSpecsError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Resources/templateSpecs/{templateSpecName}/versions": { + "get": { + "tags": [ + "TemplateSpecVersions" + ], + "operationId": "TemplateSpecVersions_List", + "description": "Lists all the Template Spec versions in the specified Template Spec.", + "x-ms-examples": { + "TemplateSpecVersions_List": { + "$ref": "./examples/TemplateSpecVersionsList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/TemplateSpecNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of Template Spec versions.", + "schema": { + "$ref": "#/definitions/TemplateSpecVersionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/TemplateSpecsError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "TemplateSpecModel": { + "required": [ + "location" + ], + "type": "object", + "description": "Template Spec object.", + "allOf": [ + { + "$ref": "#/definitions/AzureResourceBase" + } + ], + "properties": { + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The location of the Template Spec. It cannot be changed after Template Spec creation. It must be one of the supported Azure locations." + }, + "properties": { + "description": "Template Spec properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/TemplateSpecProperties" + }, + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + } + } + }, + "TemplateSpecProperties": { + "type": "object", + "description": "Template Spec properties.", + "properties": { + "description": { + "type": "string", + "maxLength": 4096, + "description": "Template Spec description." + }, + "displayName": { + "type": "string", + "maxLength": 64, + "description": "Template Spec display name." + } + } + }, + "TemplateSpecsListResult": { + "description": "List of Template Specs.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/TemplateSpecModel" + }, + "description": "An array of Template Specs." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to use for getting the next set of results." + } + } + }, + "TemplateSpecUpdateModel": { + "type": "object", + "description": "Template Spec properties to be updated (only tags are currently supported).", + "properties": { + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/AzureResourceBase" + } + ] + }, + "TemplateSpecVersionUpdateModel": { + "type": "object", + "description": "Template Spec Version properties to be updated (only tags are currently supported).", + "properties": { + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/AzureResourceBase" + } + ] + }, + "AzureResourceBase": { + "x-ms-azure-resource": true, + "type": "object", + "description": "Common properties for all Azure resources.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "String Id used to locate any resource on Azure." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of this resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of this resource." + }, + "systemData": { + "readOnly": true, + "type": "object", + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information.", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData" + } + } + }, + "TemplateSpecVersionModel": { + "required": [ + "properties", + "location" + ], + "type": "object", + "description": "Template Spec Version object.", + "allOf": [ + { + "$ref": "#/definitions/AzureResourceBase" + } + ], + "properties": { + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The location of the Template Spec Version. It must match the location of the parent Template Spec." + }, + "properties": { + "description": "Template Spec Version properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/TemplateSpecVersionProperties" + }, + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + } + } + }, + "TemplateSpecVersionProperties": { + "type": "object", + "description": "Template Spec Version properties.", + "properties": { + "artifacts": { + "type": "array", + "items": { + "$ref": "#/definitions/TemplateSpecArtifact" + }, + "description": "An array of Template Spec artifacts." + }, + "description": { + "type": "string", + "maxLength": 4096, + "description": "Template Spec version description." + }, + "template": { + "type": "object", + "description": "The Azure Resource Manager template content." + } + } + }, + "TemplateSpecVersionsListResult": { + "description": "List of Template Specs versions", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/TemplateSpecVersionModel" + }, + "description": "An array of Template Spec versions." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to use for getting the next set of results." + } + } + }, + "TemplateSpecArtifact": { + "type": "object", + "discriminator": "kind", + "description": "Represents a Template Spec artifact.", + "properties": { + "path": { + "type": "string", + "description": "A filesystem safe relative path of the artifact." + }, + "kind": { + "type": "string", + "description": "The kind of artifact.", + "enum": [ + "template" + ], + "x-ms-enum": { + "name": "TemplateSpecArtifactKind", + "modelAsString": true, + "values": [ + { + "value": "template", + "description": "The artifact represents an embedded Azure Resource Manager template." + } + ] + } + } + }, + "required": [ + "kind", + "path" + ] + }, + "TemplateSpecTemplateArtifact": { + "type": "object", + "x-ms-discriminator-value": "template", + "description": "Represents a Template Spec artifact containing an embedded Azure Resource Manager template.", + "properties": { + "template": { + "type": "object", + "description": "The Azure Resource Manager template." + } + }, + "required": [ + "template" + ], + "allOf": [ + { + "$ref": "#/definitions/TemplateSpecArtifact" + } + ] + }, + "TemplateSpecsError": { + "properties": { + "error": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + } + }, + "description": "Template Specs error response." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "client", + "description": "Subscription Id which forms part of the URI for every service call." + }, + "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" + }, + "TemplateSpecNameParameter": { + "name": "templateSpecName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "description": "Name of the Template Spec.", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "TemplateSpecVersionParameter": { + "name": "templateSpecVersion", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "description": "The version of the Template Spec.", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "x-ms-parameter-location": "client", + "description": "Client Api version." + } + } +} 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 9f211358a985..399946292489 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 @@ -2620,7 +2620,7 @@ "$ref": "#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SourceSubscriptionIdParameter" + "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -2750,7 +2750,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" @@ -2823,7 +2824,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" @@ -2900,7 +2902,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", @@ -2992,7 +2995,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", @@ -3078,7 +3082,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" @@ -3121,7 +3126,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": { @@ -3159,7 +3165,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": { @@ -3201,7 +3208,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", @@ -3258,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 }, { "name": "parameters", @@ -3309,7 +3318,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": { @@ -5839,13 +5849,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.Resources/stable/2020-06-01/examples/CalculateTemplateHash.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/CalculateTemplateHash.json new file mode 100644 index 000000000000..719bd2aff5e6 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/CalculateTemplateHash.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "template": { + "$schema": "http://schemas.management.azure.com/deploymentTemplate?api-version=2014-04-01-preview", + "contentVersion": "1.0.0.0", + "parameters": { + "string": { + "type": "string" + } + }, + "variables": { + "string": "string", + "int": 42, + "bool": true, + "array": [ + 1, + 2, + 3, + 4 + ], + "object": { + "object": { + "vmSize": "Large", + "location": "West US" + } + } + }, + "resources": [], + "outputs": { + "string": { + "type": "string", + "value": "myvalue" + } + } + } + }, + "responses": { + "200": { + "body": { + "minifiedTemplate": "{\"$SCHEMA\":\"HTTP://SCHEMAS.MANAGEMENT.AZURE.COM/DEPLOYMENTTEMPLATE?API-VERSION=2014-04-01-PREVIEW\",\"CONTENTVERSION\":\"1.0.0.0\",\"PARAMETERS\":{\"STRING\":{\"TYPE\":\"STRING\"}},\"VARIABLES\":{\"STRING\":\"STRING\",\"INT\":42,\"BOOL\":TRUE,\"ARRAY\":[1,2,3,4],\"OBJECT\":{\"OBJECT\":{\"VMSIZE\":\"LARGE\",\"LOCATION\":\"WEST US\"}}},\"RESOURCES\":[],\"OUTPUTS\":{\"STRING\":{\"TYPE\":\"STRING\",\"VALUE\":\"MYVALUE\"}}}", + "templateHash": "695440707931307747" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/CreateResourceGroup.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/CreateResourceGroup.json new file mode 100644 index 000000000000..096db5c70dc5 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/CreateResourceGroup.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "my-resource-group", + "api-version": "2020-06-01", + "parameters": { + "location": "eastus" + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group", + "name": "my-resource-group", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group", + "name": "my-resource-group", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/ExportResourceGroup.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/ExportResourceGroup.json new file mode 100644 index 000000000000..d611dfcf411c --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/ExportResourceGroup.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "my-resource-group", + "api-version": "2020-06-01", + "parameters": { + "resources": [ + "*" + ], + "options": "IncludeParameterDefaultValue,IncludeComments" + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/c9bbccf4-e16a-4eb7-befb-2e2e5195c347?api-version=2018-08-01" + } + }, + "200": { + "body": { + "template": { + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "myResourceType_myFirstResource_name": { + "defaultValue": "myFirstResource", + "type": "String" + }, + "myResourceType_mySecondResource_name": { + "defaultValue": "mySecondResource", + "type": "String" + }, + "myResourceType_myFirstResource_secret": { + "defaultValue": null, + "type": "SecureString" + } + }, + "variables": {}, + "resources": [ + { + "type": "My.RP/myResourceType", + "apiVersion": "2019-01-01", + "name": "[parameters('myResourceType_myFirstResource_name')]", + "location": "West US", + "properties": { + "secret": "[parameters('myResourceType_myFirstResource_secret')]" + } + }, + { + "type": "My.RP/myResourceType", + "apiVersion": "2019-01-01", + "name": "[parameters('myResourceType_mySecondResource_name')]", + "location": "West US", + "properties": { + "customProperty": "hello!" + } + } + ] + }, + "error": { + "code": "ExportTemplateCompletedWithErrors", + "message": "Export template operation completed with errors. Some resources were not exported. Please see details for more information.", + "details": [] + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/ExportResourceGroupWithFiltering.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/ExportResourceGroupWithFiltering.json new file mode 100644 index 000000000000..b0b251b7414f --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/ExportResourceGroupWithFiltering.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "my-resource-group", + "api-version": "2020-06-01", + "parameters": { + "resources": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/My.RP/myResourceType/myFirstResource" + ], + "options": "SkipResourceNameParameterization" + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/c9bbccf4-e16a-4eb7-befb-2e2e5195c347?api-version=2018-08-01" + } + }, + "200": { + "body": { + "template": { + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "myResourceType_myFirstResource_secret": { + "defaultValue": null, + "type": "SecureString" + } + }, + "variables": {}, + "resources": [ + { + "type": "My.RP/myResourceType", + "apiVersion": "2019-01-01", + "name": "myFirstResource", + "location": "West US", + "properties": { + "secret": "[parameters('myResourceType_myFirstResource_secret')]" + } + } + ] + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/GetTagsResource.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/GetTagsResource.json new file mode 100644 index 000000000000..56144dde4570 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/GetTagsResource.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/my-resource-group/providers/myPRNameSpace/VM/myVm", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "properties": { + "tags": { + "tagKey1": "tag-value-1", + "tagKey2": "tag-value-2" + } + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/GetTagsSubscription.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/GetTagsSubscription.json new file mode 100644 index 000000000000..f9687306265e --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/GetTagsSubscription.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "properties": { + "tags": { + "tagKey1": "tag-value-1", + "tagKey2": "tag-value-2" + } + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PostDeploymentWhatIfOnResourceGroup.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PostDeploymentWhatIfOnResourceGroup.json new file mode 100644 index 000000000000..0fd56fa4f3cd --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PostDeploymentWhatIfOnResourceGroup.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000001", + "resourceGroupName": "my-resource-group", + "deploymentName": "my-deployment", + "api-version": "2020-06-01", + "parameters": { + "properties": { + "templateLink": "https://example.com/exampleTemplate.json", + "parameters": {}, + "mode": "Incremental" + } + } + }, + "responses": { + "200": { + "body": { + "status": "succeeded", + "properties": { + "changes": [ + { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myExistingIdentity", + "changeType": "Modify", + "before": { + "apiVersion": "2018-11-30", + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myExistingIdentity", + "type": "Microsoft.ManagedIdentity/userAssignedIdentities", + "name": "myExistingIdentity", + "location": "westus2" + }, + "after": { + "apiVersion": "2018-11-30", + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myExistingIdentity", + "type": "Microsoft.ManagedIdentity/userAssignedIdentities", + "name": "myExistingIdentity", + "location": "westus2", + "tags": { + "myNewTag": "my tag value" + } + }, + "delta": [ + { + "path": "tags.myNewTag", + "propertyChangeType": "Create", + "after": "my tag value" + } + ] + }, + { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myNewIdentity", + "changeType": "Create", + "after": { + "apiVersion": "2018-11-30", + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myNewIdentity", + "type": "Microsoft.ManagedIdentity/userAssignedIdentities", + "name": "myNewIdentity", + "location": "eastus", + "tags": { + "myOtherNewTag": "another new tag value" + } + } + } + ] + } + } + }, + "202": { + "headers": { + "Location": "/subscriptions/00000000-0000-0000-0000-000000000000/ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PostDeploymentWhatIfOnSubscription.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PostDeploymentWhatIfOnSubscription.json new file mode 100644 index 000000000000..07e9ab646da7 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PostDeploymentWhatIfOnSubscription.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000001", + "deploymentName": "my-deployment", + "api-version": "2020-06-01", + "parameters": { + "location": "westus", + "properties": { + "templateLink": "https://example.com/exampleTemplate.json", + "parameters": {}, + "mode": "Incremental" + } + } + }, + "responses": { + "200": { + "body": { + "status": "succeeded", + "properties": { + "changes": [ + { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myExistingIdentity", + "changeType": "Modify", + "before": { + "apiVersion": "2018-11-30", + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myExistingIdentity", + "type": "Microsoft.ManagedIdentity/userAssignedIdentities", + "name": "myExistingIdentity", + "location": "westus2" + }, + "after": { + "apiVersion": "2018-11-30", + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myExistingIdentity", + "type": "Microsoft.ManagedIdentity/userAssignedIdentities", + "name": "myExistingIdentity", + "location": "westus2", + "tags": { + "myNewTag": "my tag value" + } + }, + "delta": [ + { + "path": "tags.myNewTag", + "propertyChangeType": "Create", + "after": "my tag value" + } + ] + }, + { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myNewIdentity", + "changeType": "Create", + "after": { + "apiVersion": "2018-11-30", + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myNewIdentity", + "type": "Microsoft.ManagedIdentity/userAssignedIdentities", + "name": "myNewIdentity", + "location": "eastus", + "tags": { + "myOtherNewTag": "another new tag value" + } + } + }, + { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group2", + "changeType": "Create", + "after": { + "apiVersion": "2019-03-01", + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group2", + "type": "Microsoft.Resources/resourceGroups", + "name": "my-resource-group2", + "location": "{location3}" + } + } + ] + } + } + }, + "202": { + "headers": { + "Location": "/subscriptions/00000000-0000-0000-0000-000000000000/ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PutDeploymentAtManagementGroup.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PutDeploymentAtManagementGroup.json new file mode 100644 index 000000000000..e6fe90cae1e0 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PutDeploymentAtManagementGroup.json @@ -0,0 +1,139 @@ +{ + "parameters": { + "groupId": "my-management-group-id", + "deploymentName": "my-deployment", + "api-version": "2020-06-01", + "parameters": { + "location": "eastus", + "properties": { + "templateLink": { + "uri": "https://example.com/exampleTemplate.json" + }, + "parameters": {}, + "mode": "Incremental" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/my-management-group-id/providers/Microsoft.Resources/deployments/my-deployment", + "name": "my-deployment", + "type": "Microsoft.Resources/deployments", + "location": "eastus", + "properties": { + "parameters": {}, + "mode": "Incremental", + "provisioningState": "Accepted", + "timestamp": "2019-04-24T22:52:38.7895563Z", + "duration": "PT1.2970875S", + "correlationId": "00000000-0000-0000-0000-000000000000", + "providers": [ + { + "namespace": "Microsoft.Authorization", + "resourceTypes": [ + { + "resourceType": "policyDefinitions", + "locations": [ + null + ] + }, + { + "resourceType": "policyAssignments", + "locations": [ + null + ] + } + ] + }, + { + "namespace": "Microsoft.Resources", + "resourceTypes": [ + { + "resourceType": "deployments", + "locations": [ + "eastus" + ] + } + ] + } + ], + "dependencies": [ + { + "dependsOn": [ + { + "id": "/providers/Microsoft.Management/managementGroups/my-management-group-id/providers/Microsoft.Authorization/policyDefinitions/policy-definition-name", + "resourceType": "Microsoft.Authorization/policyDefinitions", + "resourceName": "policy-definition-name" + } + ], + "id": "/providers/Microsoft.Management/managementGroups/my-management-group-id/providers/Microsoft.Authorization/policyAssignments/location-lock", + "resourceType": "Microsoft.Authorization/policyAssignments", + "resourceName": "location-lock" + } + ] + } + } + }, + "201": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/my-management-group-id/providers/Microsoft.Resources/deployments/my-deployment", + "name": "my-deployment", + "type": "Microsoft.Resources/deployments", + "location": "eastus", + "properties": { + "parameters": {}, + "mode": "Incremental", + "provisioningState": "Accepted", + "timestamp": "2019-04-24T22:52:38.7895563Z", + "duration": "PT1.2970875S", + "correlationId": "00000000-0000-0000-0000-000000000000", + "providers": [ + { + "namespace": "Microsoft.Authorization", + "resourceTypes": [ + { + "resourceType": "policyDefinitions", + "locations": [ + null + ] + }, + { + "resourceType": "policyAssignments", + "locations": [ + null + ] + } + ] + }, + { + "namespace": "Microsoft.Resources", + "resourceTypes": [ + { + "resourceType": "deployments", + "locations": [ + "eastus" + ] + } + ] + } + ], + "dependencies": [ + { + "dependsOn": [ + { + "id": "/providers/Microsoft.Management/managementGroups/my-management-group-id/providers/Microsoft.Authorization/policyDefinitions/policy-definition-name", + "resourceType": "Microsoft.Authorization/policyDefinitions", + "resourceName": "policy-definition-name" + } + ], + "id": "/providers/Microsoft.Management/managementGroups/my-management-group-id/providers/Microsoft.Authorization/policyAssignments/location-lock", + "resourceType": "Microsoft.Authorization/policyAssignments", + "resourceName": "location-lock" + } + ] + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PutDeploymentAtScope.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PutDeploymentAtScope.json new file mode 100644 index 000000000000..b3964c7fa7bf --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PutDeploymentAtScope.json @@ -0,0 +1,151 @@ +{ + "parameters": { + "scope": "providers/Microsoft.Management/managementGroups/my-management-group-id", + "deploymentName": "my-deployment", + "api-version": "2020-06-01", + "parameters": { + "location": "eastus", + "properties": { + "templateLink": { + "uri": "https://example.com/exampleTemplate.json" + }, + "parameters": {}, + "mode": "Incremental" + }, + "tags": { + "tagKey1": "tag-value-1", + "tagKey2": "tag-value-2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/my-management-group-id/providers/Microsoft.Resources/deployments/my-deployment", + "name": "my-deployment", + "type": "Microsoft.Resources/deployments", + "location": "eastus", + "properties": { + "parameters": {}, + "mode": "Incremental", + "provisioningState": "Accepted", + "timestamp": "2019-04-24T22:52:38.7895563Z", + "duration": "PT1.2970875S", + "correlationId": "00000000-0000-0000-0000-000000000000", + "providers": [ + { + "namespace": "Microsoft.Authorization", + "resourceTypes": [ + { + "resourceType": "policyDefinitions", + "locations": [ + null + ] + }, + { + "resourceType": "policyAssignments", + "locations": [ + null + ] + } + ] + }, + { + "namespace": "Microsoft.Resources", + "resourceTypes": [ + { + "resourceType": "deployments", + "locations": [ + "eastus" + ] + } + ] + } + ], + "dependencies": [ + { + "dependsOn": [ + { + "id": "/providers/Microsoft.Management/managementGroups/my-management-group-id/providers/Microsoft.Authorization/policyDefinitions/policy-definition-name", + "resourceType": "Microsoft.Authorization/policyDefinitions", + "resourceName": "policy-definition-name" + } + ], + "id": "/providers/Microsoft.Management/managementGroups/my-management-group-id/providers/Microsoft.Authorization/policyAssignments/location-lock", + "resourceType": "Microsoft.Authorization/policyAssignments", + "resourceName": "location-lock" + } + ] + }, + "tags": { + "tagKey1": "tag-value-1", + "tagKey2": "tag-value-2" + } + } + }, + "201": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/my-management-group-id/providers/Microsoft.Resources/deployments/my-deployment", + "name": "my-deployment", + "type": "Microsoft.Resources/deployments", + "location": "eastus", + "properties": { + "parameters": {}, + "mode": "Incremental", + "provisioningState": "Accepted", + "timestamp": "2019-04-24T22:52:38.7895563Z", + "duration": "PT1.2970875S", + "correlationId": "00000000-0000-0000-0000-000000000000", + "providers": [ + { + "namespace": "Microsoft.Authorization", + "resourceTypes": [ + { + "resourceType": "policyDefinitions", + "locations": [ + null + ] + }, + { + "resourceType": "policyAssignments", + "locations": [ + null + ] + } + ] + }, + { + "namespace": "Microsoft.Resources", + "resourceTypes": [ + { + "resourceType": "deployments", + "locations": [ + "eastus" + ] + } + ] + } + ], + "dependencies": [ + { + "dependsOn": [ + { + "id": "/providers/Microsoft.Management/managementGroups/my-management-group-id/providers/Microsoft.Authorization/policyDefinitions/policy-definition-name", + "resourceType": "Microsoft.Authorization/policyDefinitions", + "resourceName": "policy-definition-name" + } + ], + "id": "/providers/Microsoft.Management/managementGroups/my-management-group-id/providers/Microsoft.Authorization/policyAssignments/location-lock", + "resourceType": "Microsoft.Authorization/policyAssignments", + "resourceName": "location-lock" + } + ] + }, + "tags": { + "tagKey1": "tag-value-1", + "tagKey2": "tag-value-2" + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PutDeploymentAtTenant.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PutDeploymentAtTenant.json new file mode 100644 index 000000000000..9b8a3f96e2d5 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PutDeploymentAtTenant.json @@ -0,0 +1,150 @@ +{ + "parameters": { + "deploymentName": "tenant-dep01", + "api-version": "2020-06-01", + "parameters": { + "location": "eastus", + "properties": { + "templateLink": { + "uri": "https://example.com/exampleTemplate.json" + }, + "parameters": {}, + "mode": "Incremental" + }, + "tags": { + "tagKey1": "tag-value-1", + "tagKey2": "tag-value-2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Resources/deployments/tenant-dep01", + "name": "tenant-dep01", + "type": "Microsoft.Resources/deployments", + "location": "eastus", + "properties": { + "parameters": {}, + "mode": "Incremental", + "provisioningState": "Accepted", + "timestamp": "2019-04-24T22:52:38.7895563Z", + "duration": "PT1.2970875S", + "correlationId": "00000000-0000-0000-0000-000000000000", + "providers": [ + { + "namespace": "Microsoft.Authorization", + "resourceTypes": [ + { + "resourceType": "policyDefinitions", + "locations": [ + null + ] + }, + { + "resourceType": "policyAssignments", + "locations": [ + null + ] + } + ] + }, + { + "namespace": "Microsoft.Resources", + "resourceTypes": [ + { + "resourceType": "deployments", + "locations": [ + "eastus" + ] + } + ] + } + ], + "dependencies": [ + { + "dependsOn": [ + { + "id": "/providers/Microsoft.Authorization/policyDefinitions/policy-definition-name", + "resourceType": "Microsoft.Authorization/policyDefinitions", + "resourceName": "policy-definition-name" + } + ], + "id": "/providers/Microsoft.Authorization/policyAssignments/location-lock", + "resourceType": "Microsoft.Authorization/policyAssignments", + "resourceName": "location-lock" + } + ] + }, + "tags": { + "tagKey1": "tag-value-1", + "tagKey2": "tag-value-2" + } + } + }, + "201": { + "body": { + "id": "/providers/Microsoft.Resources/deployments/tenant-dep01", + "name": "tenant-dep01", + "type": "Microsoft.Resources/deployments", + "location": "eastus", + "properties": { + "parameters": {}, + "mode": "Incremental", + "provisioningState": "Accepted", + "timestamp": "2019-04-24T22:52:38.7895563Z", + "duration": "PT1.2970875S", + "correlationId": "00000000-0000-0000-0000-000000000000", + "providers": [ + { + "namespace": "Microsoft.Authorization", + "resourceTypes": [ + { + "resourceType": "policyDefinitions", + "locations": [ + null + ] + }, + { + "resourceType": "policyAssignments", + "locations": [ + null + ] + } + ] + }, + { + "namespace": "Microsoft.Resources", + "resourceTypes": [ + { + "resourceType": "deployments", + "locations": [ + "eastus" + ] + } + ] + } + ], + "dependencies": [ + { + "dependsOn": [ + { + "id": "/providers/Microsoft.Authorization/policyDefinitions/policy-definition-name", + "resourceType": "Microsoft.Authorization/policyDefinitions", + "resourceName": "policy-definition-name" + } + ], + "id": "/providers/Microsoft.Authorization/policyAssignments/location-lock", + "resourceType": "Microsoft.Authorization/policyAssignments", + "resourceName": "location-lock" + } + ] + }, + "tags": { + "tagKey1": "tag-value-1", + "tagKey2": "tag-value-2" + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PutDeploymentResourceGroupTemplateSpecsWithId.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PutDeploymentResourceGroupTemplateSpecsWithId.json new file mode 100644 index 000000000000..621dc58ff4a8 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PutDeploymentResourceGroupTemplateSpecsWithId.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000001", + "resourceGroupName": "my-resource-group", + "deploymentName": "my-deployment", + "api-version": "2020-06-01", + "parameters": { + "properties": { + "templateLink": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group/providers/Microsoft.Resources/TemplateSpecs/TemplateSpec-Name/versions/v1" + }, + "parameters": {}, + "mode": "Incremental" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group/providers/Microsoft.Resources/deployments/my-deployment", + "name": "my-deployment", + "type": "Microsoft.Resources/deployments", + "properties": { + "templateLink": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group/providers/Microsoft.Resources/TemplateSpecs/TemplateSpec-Name/versions/v1", + "contentVersion": "1.0.0.0" + }, + "templateHash": "0000000000000000000", + "parameters": {}, + "mode": "Incremental", + "provisioningState": "Succeeded", + "timestamp": "2020-06-05T01:20:01.723776Z", + "duration": "PT22.8356799S", + "correlationId": "00000000-0000-0000-0000-000000000000", + "providers": [ + { + "namespace": "Microsoft.Storage", + "resourceTypes": [ + { + "resourceType": "storageAccounts", + "locations": [ + "eastus" + ] + } + ] + } + ], + "dependencies": [], + "outputResources": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group/providers/Microsoft.Storage/storageAccounts/my-storage-account" + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group/providers/Microsoft.Resources/deployments/my-deployment", + "name": "my-deployment", + "type": "Microsoft.Resources/deployments", + "properties": { + "templateLink": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group/providers/Microsoft.Resources/TemplateSpecs/TemplateSpec-Name/versions/v1", + "contentVersion": "1.0.0.0" + }, + "templateHash": "0000000000000000000", + "parameters": {}, + "mode": "Incremental", + "provisioningState": "Accepted", + "timestamp": "2020-06-05T01:20:01.723776Z", + "duration": "PT22.8356799S", + "correlationId": "00000000-0000-0000-0000-000000000000", + "providers": [ + { + "namespace": "Microsoft.Storage", + "resourceTypes": [ + { + "resourceType": "storageAccounts", + "locations": [ + "eastus" + ] + } + ] + } + ], + "dependencies": [] + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PutDeploymentSubscriptionTemplateSpecsWithId.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PutDeploymentSubscriptionTemplateSpecsWithId.json new file mode 100644 index 000000000000..0535e39dc58b --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PutDeploymentSubscriptionTemplateSpecsWithId.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000001", + "deploymentName": "my-deployment", + "api-version": "2020-06-01", + "parameters": { + "location": "eastus", + "properties": { + "templateLink": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group/providers/Microsoft.Resources/TemplateSpecs/TemplateSpec-Name/versions/v1" + }, + "parameters": {}, + "mode": "Incremental" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/providers/Microsoft.Resources/deployments/my-deployment", + "name": "my-deployment", + "type": "Microsoft.Resources/deployments", + "location": "eastus", + "properties": { + "templateLink": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group/providers/Microsoft.Resources/TemplateSpecs/TemplateSpec-Name/versions/v1", + "contentVersion": "1.0.0.0" + }, + "templateHash": "0000000000000000000", + "parameters": {}, + "mode": "Incremental", + "provisioningState": "Succeeded", + "timestamp": "2020-06-05T01:51:58.6288067Z", + "duration": "PT1.2637681S", + "correlationId": "00000000-0000-0000-0000-000000000000", + "providers": [], + "dependencies": [], + "outputResources": [] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/providers/Microsoft.Resources/deployments/my-deployment", + "name": "my-deployment", + "type": "Microsoft.Resources/deployments", + "location": "eastus", + "properties": { + "templateLink": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group/providers/Microsoft.Resources/TemplateSpecs/TemplateSpec-Name/versions/v1", + "contentVersion": "1.0.0.0" + }, + "templateHash": "0000000000000000000", + "parameters": {}, + "mode": "Incremental", + "provisioningState": "Accepted", + "timestamp": "2020-06-05T01:51:58.6288067Z", + "duration": "PT1.2637681S", + "correlationId": "00000000-0000-0000-0000-000000000000", + "providers": [], + "dependencies": [] + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PutDeploymentWithOnErrorDeploymentLastSuccessful.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PutDeploymentWithOnErrorDeploymentLastSuccessful.json new file mode 100644 index 000000000000..dd3f441c1c5c --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PutDeploymentWithOnErrorDeploymentLastSuccessful.json @@ -0,0 +1,168 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "my-resource-group", + "deploymentName": "my-deployment", + "api-version": "2020-06-01", + "parameters": { + "properties": { + "templateLink": { + "uri": "https://example.com/exampleTemplate.json" + }, + "parameters": {}, + "mode": "Complete", + "onErrorDeployment": { + "type": "LastSuccessful" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/my-resource-group/providers/Microsoft.Resources/deployments/my-deployment", + "name": "my-deployment", + "type": "Microsoft.Resources/deployments", + "properties": { + "templateLink": { + "uri": "https://example.com/exampleTemplate.json", + "contentVersion": "1.0.0.0" + }, + "parameters": {}, + "mode": "Complete", + "provisioningState": "Accepted", + "timestamp": "2019-03-01T00:00:00.0000000Z", + "duration": "PT0.8204881S", + "correlationId": "00000000-0000-0000-0000-000000000000", + "providers": [ + { + "namespace": "Microsoft.Network", + "resourceTypes": [ + { + "resourceType": "virtualNetworks", + "locations": [ + "centralus" + ] + }, + { + "resourceType": "virtualNetworks/subnets", + "locations": [ + "centralus" + ] + } + ] + } + ], + "dependencies": [ + { + "dependsOn": [ + { + "id": "{resourceid}", + "resourceType": "Microsoft.Network/virtualNetworks", + "resourceName": "VNet1" + } + ], + "id": "{resourceid}", + "resourceType": "Microsoft.Network/virtualNetworks/subnets", + "resourceName": "VNet1/Subnet1" + }, + { + "dependsOn": [ + { + "id": "{resourceid}", + "resourceType": "Microsoft.Network/virtualNetworks", + "resourceName": "VNet1" + }, + { + "id": "{resourceid}", + "resourceType": "Microsoft.Network/virtualNetworks/subnets", + "resourceName": "VNet1/Subnet1" + } + ], + "id": "{resourceid}", + "resourceType": "Microsoft.Network/virtualNetworks/subnets", + "resourceName": "VNet1/Subnet2" + } + ], + "onErrorDeployment": { + "type": "LastSuccessful", + "deploymentName": "{nameOfLastSuccesfulDeployment}" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/my-resource-group/providers/Microsoft.Resources/deployments/my-deployment", + "name": "my-deployment", + "type": "Microsoft.Resources/deployments", + "properties": { + "templateLink": { + "uri": "https://example.com/exampleTemplate.json", + "contentVersion": "1.0.0.0" + }, + "parameters": {}, + "mode": "Complete", + "provisioningState": "Accepted", + "timestamp": "2019-03-01T00:00:00.0000000Z", + "duration": "PT0.8204881S", + "correlationId": "00000000-0000-0000-0000-000000000000", + "providers": [ + { + "namespace": "Microsoft.Network", + "resourceTypes": [ + { + "resourceType": "virtualNetworks", + "locations": [ + "centralus" + ] + }, + { + "resourceType": "virtualNetworks/subnets", + "locations": [ + "centralus" + ] + } + ] + } + ], + "dependencies": [ + { + "dependsOn": [ + { + "id": "{resourceid}", + "resourceType": "Microsoft.Network/virtualNetworks", + "resourceName": "VNet1" + } + ], + "id": "{resourceid}", + "resourceType": "Microsoft.Network/virtualNetworks/subnets", + "resourceName": "VNet1/Subnet1" + }, + { + "dependsOn": [ + { + "id": "{resourceid}", + "resourceType": "Microsoft.Network/virtualNetworks", + "resourceName": "VNet1" + }, + { + "id": "{resourceid}", + "resourceType": "Microsoft.Network/virtualNetworks/subnets", + "resourceName": "VNet1/Subnet1" + } + ], + "id": "{resourceid}", + "resourceType": "Microsoft.Network/virtualNetworks/subnets", + "resourceName": "VNet1/Subnet2" + } + ], + "onErrorDeployment": { + "type": "LastSuccessful", + "deploymentName": "{nameOfLastSuccesfulDeployment}" + } + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PutDeploymentWithOnErrorDeploymentSpecificDeployment.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PutDeploymentWithOnErrorDeploymentSpecificDeployment.json new file mode 100644 index 000000000000..795092a412d5 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PutDeploymentWithOnErrorDeploymentSpecificDeployment.json @@ -0,0 +1,169 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "my-resource-group", + "deploymentName": "my-deployment", + "api-version": "2020-06-01", + "parameters": { + "properties": { + "templateLink": { + "uri": "https://example.com/exampleTemplate.json" + }, + "parameters": {}, + "mode": "Complete", + "onErrorDeployment": { + "type": "SpecificDeployment", + "deploymentName": "name-of-deployment-to-use" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/my-resource-group/providers/Microsoft.Resources/deployments/my-deployment", + "name": "my-deployment", + "type": "Microsoft.Resources/deployments", + "properties": { + "templateLink": { + "uri": "https://example.com/exampleTemplate.json", + "contentVersion": "1.0.0.0" + }, + "parameters": {}, + "mode": "Complete", + "provisioningState": "Accepted", + "timestamp": "2019-03-01T00:00:00.0000000Z", + "duration": "PT0.8204881S", + "correlationId": "00000000-0000-0000-0000-000000000000", + "providers": [ + { + "namespace": "Microsoft.Network", + "resourceTypes": [ + { + "resourceType": "virtualNetworks", + "locations": [ + "centralus" + ] + }, + { + "resourceType": "virtualNetworks/subnets", + "locations": [ + "centralus" + ] + } + ] + } + ], + "dependencies": [ + { + "dependsOn": [ + { + "id": "{resourceid}", + "resourceType": "Microsoft.Network/virtualNetworks", + "resourceName": "VNet1" + } + ], + "id": "{resourceid}", + "resourceType": "Microsoft.Network/virtualNetworks/subnets", + "resourceName": "VNet1/Subnet1" + }, + { + "dependsOn": [ + { + "id": "{resourceid}", + "resourceType": "Microsoft.Network/virtualNetworks", + "resourceName": "VNet1" + }, + { + "id": "{resourceid}", + "resourceType": "Microsoft.Network/virtualNetworks/subnets", + "resourceName": "VNet1/Subnet1" + } + ], + "id": "{resourceid}", + "resourceType": "Microsoft.Network/virtualNetworks/subnets", + "resourceName": "VNet1/Subnet2" + } + ], + "onErrorDeployment": { + "type": "SpecificDeployment", + "deploymentName": "name-of-deployment-to-use" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/my-resource-group/providers/Microsoft.Resources/deployments/my-deployment", + "name": "my-deployment", + "type": "Microsoft.Resources/deployments", + "properties": { + "templateLink": { + "uri": "https://example.com/exampleTemplate.json", + "contentVersion": "1.0.0.0" + }, + "parameters": {}, + "mode": "Complete", + "provisioningState": "Accepted", + "timestamp": "2019-03-01T00:00:00.0000000Z", + "duration": "PT0.8204881S", + "correlationId": "00000000-0000-0000-0000-000000000000", + "providers": [ + { + "namespace": "Microsoft.Network", + "resourceTypes": [ + { + "resourceType": "virtualNetworks", + "locations": [ + "centralus" + ] + }, + { + "resourceType": "virtualNetworks/subnets", + "locations": [ + "centralus" + ] + } + ] + } + ], + "dependencies": [ + { + "dependsOn": [ + { + "id": "{resourceid}", + "resourceType": "Microsoft.Network/virtualNetworks", + "resourceName": "VNet1" + } + ], + "id": "{resourceid}", + "resourceType": "Microsoft.Network/virtualNetworks/subnets", + "resourceName": "VNet1/Subnet1" + }, + { + "dependsOn": [ + { + "id": "{resourceid}", + "resourceType": "Microsoft.Network/virtualNetworks", + "resourceName": "VNet1" + }, + { + "id": "{resourceid}", + "resourceType": "Microsoft.Network/virtualNetworks/subnets", + "resourceName": "VNet1/Subnet1" + } + ], + "id": "{resourceid}", + "resourceType": "Microsoft.Network/virtualNetworks/subnets", + "resourceName": "VNet1/Subnet2" + } + ], + "onErrorDeployment": { + "type": "SpecificDeployment", + "deploymentName": "name-of-deployment-to-use" + } + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PutTagsResource.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PutTagsResource.json new file mode 100644 index 000000000000..613d9770af33 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PutTagsResource.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/my-resource-group/providers/myPRNameSpace/VM/myVm", + "api-version": "2020-06-01", + "parameters": { + "properties": { + "tags": { + "tagKey1": "tag-value-1", + "tagKey2": "tag-value-2" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "tags": { + "tagKey1": "tag-value-1", + "tagKey2": "tag-value-2" + } + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PutTagsSubscription.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PutTagsSubscription.json new file mode 100644 index 000000000000..8a603526dbce --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PutTagsSubscription.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "api-version": "2020-06-01", + "parameters": { + "properties": { + "tags": { + "tagKey1": "tag-value-1", + "tagKey2": "tag-value-2" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "tags": { + "tagKey1": "tag-value-1", + "tagKey2": "tag-value-2" + } + } + } + } + } +} 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 new file mode 100644 index 000000000000..7568710e3c8c --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json @@ -0,0 +1,5913 @@ +{ + "swagger": "2.0", + "info": { + "title": "ResourceManagementClient", + "version": "2020-06-01", + "description": "Provides operations for working with resources and resource groups." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "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.Resources/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists all of the available Microsoft.Resources 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/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}": { + "delete": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_DeleteAtScope", + "summary": "Deletes a deployment from the deployment history.", + "description": "A template deployment that is currently running cannot be deleted. Deleting a template deployment removes the associated deployment operations. This is an asynchronous operation that returns a status of 202 until the template deployment is successfully deleted. The Location response header contains the URI that is used to obtain the status of the process. While the process is running, a call to the URI in the Location header returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on success. If the asynchronous request failed, the URI in the Location header returns an error-level status code.", + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "head": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CheckExistenceAtScope", + "description": "Checks whether the deployment exists.", + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "404": { + "description": "Not Found" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CreateOrUpdateAtScope", + "summary": "Deploys resources at a given scope.", + "description": "You can provide the template and parameters directly in the request or link to JSON files.", + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Deployment" + }, + "description": "Additional parameters supplied to the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the deployment, including provisioning status.", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "201": { + "description": "Created - Returns information about the deployment, including provisioning status.", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create deployment at a given scope.": { + "$ref": "./examples/PutDeploymentAtScope.json" + } + } + }, + "get": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_GetAtScope", + "description": "Gets a deployment.", + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the deployment, including provisioning status.", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CancelAtScope", + "summary": "Cancels a currently running template deployment.", + "description": "You can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running template deployment and leaves the resources partially deployed.", + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}/validate": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_ValidateAtScope", + "x-ms-long-running-operation": true, + "description": "Validates whether the specified template is syntactically correct and will be accepted by Azure Resource Manager..", + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Deployment" + }, + "description": "Parameters to validate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the validation result.", + "schema": { + "$ref": "#/definitions/DeploymentValidateResult" + } + }, + "202": { + "description": "Accepted - The request has been accepted for processing and the operation will complete asynchronously." + }, + "400": { + "description": "Returns the validation result.", + "schema": { + "$ref": "#/definitions/DeploymentValidateResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_ExportTemplateAtScope", + "description": "Exports the template used for specified deployment.", + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the template.", + "schema": { + "$ref": "#/definitions/DeploymentExportResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/{scope}/providers/Microsoft.Resources/deployments/": { + "get": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_ListAtScope", + "description": "Get all the deployments at the given scope.", + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. For example, you can use $filter=provisioningState eq '{state}'." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The number of results to get. If null is passed, returns all deployments." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of deployments.", + "schema": { + "$ref": "#/definitions/DeploymentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/DeploymentExtendedFilter" + } + }, + "/providers/Microsoft.Resources/deployments/{deploymentName}": { + "delete": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_DeleteAtTenantScope", + "summary": "Deletes a deployment from the deployment history.", + "description": "A template deployment that is currently running cannot be deleted. Deleting a template deployment removes the associated deployment operations. This is an asynchronous operation that returns a status of 202 until the template deployment is successfully deleted. The Location response header contains the URI that is used to obtain the status of the process. While the process is running, a call to the URI in the Location header returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on success. If the asynchronous request failed, the URI in the Location header returns an error-level status code.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "head": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CheckExistenceAtTenantScope", + "description": "Checks whether the deployment exists.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "404": { + "description": "Not Found" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CreateOrUpdateAtTenantScope", + "summary": "Deploys resources at tenant scope.", + "description": "You can provide the template and parameters directly in the request or link to JSON files.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScopedDeployment" + }, + "description": "Additional parameters supplied to the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the deployment, including provisioning status.", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "201": { + "description": "Created - Returns information about the deployment, including provisioning status.", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create deployment at tenant scope.": { + "$ref": "./examples/PutDeploymentAtTenant.json" + } + } + }, + "get": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_GetAtTenantScope", + "description": "Gets a deployment.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the deployment, including provisioning status.", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Resources/deployments/{deploymentName}/cancel": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CancelAtTenantScope", + "summary": "Cancels a currently running template deployment.", + "description": "You can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running template deployment and leaves the resources partially deployed.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Resources/deployments/{deploymentName}/validate": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_ValidateAtTenantScope", + "x-ms-long-running-operation": true, + "description": "Validates whether the specified template is syntactically correct and will be accepted by Azure Resource Manager..", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScopedDeployment" + }, + "description": "Parameters to validate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the validation result.", + "schema": { + "$ref": "#/definitions/DeploymentValidateResult" + } + }, + "202": { + "description": "Accepted - The request has been accepted for processing and the operation will complete asynchronously." + }, + "400": { + "description": "Returns the validation result.", + "schema": { + "$ref": "#/definitions/DeploymentValidateResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_ExportTemplateAtTenantScope", + "description": "Exports the template used for specified deployment.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the template.", + "schema": { + "$ref": "#/definitions/DeploymentExportResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Resources/deployments/": { + "get": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_ListAtTenantScope", + "description": "Get all the deployments at the tenant scope.", + "parameters": [ + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. For example, you can use $filter=provisioningState eq '{state}'." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The number of results to get. If null is passed, returns all deployments." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of deployments.", + "schema": { + "$ref": "#/definitions/DeploymentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/DeploymentExtendedFilter" + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}": { + "delete": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_DeleteAtManagementGroupScope", + "summary": "Deletes a deployment from the deployment history.", + "description": "A template deployment that is currently running cannot be deleted. Deleting a template deployment removes the associated deployment operations. This is an asynchronous operation that returns a status of 202 until the template deployment is successfully deleted. The Location response header contains the URI that is used to obtain the status of the process. While the process is running, a call to the URI in the Location header returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on success. If the asynchronous request failed, the URI in the Location header returns an error-level status code.", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "head": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CheckExistenceAtManagementGroupScope", + "description": "Checks whether the deployment exists.", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "404": { + "description": "Not Found" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CreateOrUpdateAtManagementGroupScope", + "summary": "Deploys resources at management group scope.", + "description": "You can provide the template and parameters directly in the request or link to JSON files.", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScopedDeployment" + }, + "description": "Additional parameters supplied to the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the deployment, including provisioning status.", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "201": { + "description": "Created - Returns information about the deployment, including provisioning status.", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create deployment at management group scope.": { + "$ref": "./examples/PutDeploymentAtManagementGroup.json" + } + } + }, + "get": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_GetAtManagementGroupScope", + "description": "Gets a deployment.", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the deployment, including provisioning status.", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CancelAtManagementGroupScope", + "summary": "Cancels a currently running template deployment.", + "description": "You can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running template deployment and leaves the resources partially deployed.", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/validate": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_ValidateAtManagementGroupScope", + "x-ms-long-running-operation": true, + "description": "Validates whether the specified template is syntactically correct and will be accepted by Azure Resource Manager..", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScopedDeployment" + }, + "description": "Parameters to validate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the validation result.", + "schema": { + "$ref": "#/definitions/DeploymentValidateResult" + } + }, + "202": { + "description": "Accepted - The request has been accepted for processing and the operation will complete asynchronously." + }, + "400": { + "description": "Returns the validation result.", + "schema": { + "$ref": "#/definitions/DeploymentValidateResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_ExportTemplateAtManagementGroupScope", + "description": "Exports the template used for specified deployment.", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the template.", + "schema": { + "$ref": "#/definitions/DeploymentExportResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/": { + "get": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_ListAtManagementGroupScope", + "description": "Get all the deployments for a management group.", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. For example, you can use $filter=provisioningState eq '{state}'." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The number of results to get. If null is passed, returns all deployments." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of deployments.", + "schema": { + "$ref": "#/definitions/DeploymentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/DeploymentExtendedFilter" + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}": { + "delete": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_DeleteAtSubscriptionScope", + "summary": "Deletes a deployment from the deployment history.", + "description": "A template deployment that is currently running cannot be deleted. Deleting a template deployment removes the associated deployment operations. This is an asynchronous operation that returns a status of 202 until the template deployment is successfully deleted. The Location response header contains the URI that is used to obtain the status of the process. While the process is running, a call to the URI in the Location header returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on success. If the asynchronous request failed, the URI in the Location header returns an error-level status code.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "head": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CheckExistenceAtSubscriptionScope", + "description": "Checks whether the deployment exists.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "404": { + "description": "Not Found" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CreateOrUpdateAtSubscriptionScope", + "summary": "Deploys resources at subscription scope.", + "description": "You can provide the template and parameters directly in the request or link to JSON files.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Deployment" + }, + "description": "Additional parameters supplied to the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the deployment, including provisioning status.", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "201": { + "description": "Created - Returns information about the deployment, including provisioning status.", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create a deployment that will deploy a templateSpec with the given resourceId": { + "$ref": "./examples/PutDeploymentSubscriptionTemplateSpecsWithId.json" + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_GetAtSubscriptionScope", + "description": "Gets a deployment.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the deployment, including provisioning status.", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CancelAtSubscriptionScope", + "summary": "Cancels a currently running template deployment.", + "description": "You can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running template deployment and leaves the resources partially deployed.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/validate": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_ValidateAtSubscriptionScope", + "x-ms-long-running-operation": true, + "description": "Validates whether the specified template is syntactically correct and will be accepted by Azure Resource Manager..", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Deployment" + }, + "description": "Parameters to validate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the validation result.", + "schema": { + "$ref": "#/definitions/DeploymentValidateResult" + } + }, + "202": { + "description": "Accepted - The request has been accepted for processing and the operation will complete asynchronously." + }, + "400": { + "description": "Returns the validation result.", + "schema": { + "$ref": "#/definitions/DeploymentValidateResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/whatIf": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_WhatIfAtSubscriptionScope", + "description": "Returns changes that will be made by the deployment if executed at the scope of the subscription.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DeploymentWhatIf" + }, + "description": "Parameters to What If." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "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 subscription scope": { + "$ref": "./examples/PostDeploymentWhatIfOnSubscription.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_ExportTemplateAtSubscriptionScope", + "description": "Exports the template used for specified deployment.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the template.", + "schema": { + "$ref": "#/definitions/DeploymentExportResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/": { + "get": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_ListAtSubscriptionScope", + "description": "Get all the deployments for a subscription.", + "parameters": [ + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. For example, you can use $filter=provisioningState eq '{state}'." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The number of results to get. If null is passed, returns all deployments." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of deployments.", + "schema": { + "$ref": "#/definitions/DeploymentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/DeploymentExtendedFilter" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}": { + "delete": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_Delete", + "summary": "Deletes a deployment from the deployment history.", + "description": "A template deployment that is currently running cannot be deleted. Deleting a template deployment removes the associated deployment operations. Deleting a template deployment does not affect the state of the resource group. This is an asynchronous operation that returns a status of 202 until the template deployment is successfully deleted. The Location response header contains the URI that is used to obtain the status of the process. While the process is running, a call to the URI in the Location header returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on success. If the asynchronous request failed, the URI in the Location header returns an error-level status code.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group with the deployment to delete. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "head": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CheckExistence", + "description": "Checks whether the deployment exists.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group with the deployment to check. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "404": { + "description": "Not Found" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CreateOrUpdate", + "summary": "Deploys resources to a resource group.", + "description": "You can provide the template and parameters directly in the request or link to JSON files.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group to deploy the resources to. The name is case insensitive. The resource group must already exist.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Deployment" + }, + "description": "Additional parameters supplied to the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the deployment, including provisioning status.", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "201": { + "description": "Created - Returns information about the deployment, including provisioning status.", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create a deployment that will redeploy the last successful deployment on failure": { + "$ref": "./examples/PutDeploymentWithOnErrorDeploymentLastSuccessful.json" + }, + "Create a deployment that will redeploy another deployment on failure": { + "$ref": "./examples/PutDeploymentWithOnErrorDeploymentSpecificDeployment.json" + }, + "Create a deployment that will deploy a templateSpec with the given resourceId": { + "$ref": "./examples/PutDeploymentResourceGroupTemplateSpecsWithId.json" + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_Get", + "description": "Gets a deployment.", + "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/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the deployment, including provisioning status.", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_Cancel", + "summary": "Cancels a currently running template deployment.", + "description": "You can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running template deployment and leaves the resource group partially deployed.", + "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/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/validate": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_Validate", + "x-ms-long-running-operation": true, + "description": "Validates whether the specified template is syntactically correct and will be accepted by Azure Resource Manager..", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group the template will be deployed to. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Deployment" + }, + "description": "Parameters to validate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the validation result.", + "schema": { + "$ref": "#/definitions/DeploymentValidateResult" + } + }, + "202": { + "description": "Accepted - The request has been accepted for processing and the operation will complete asynchronously." + }, + "400": { + "description": "Returns the validation result.", + "schema": { + "$ref": "#/definitions/DeploymentValidateResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/whatIf": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_WhatIf", + "description": "Returns changes that will be made by the deployment if executed at the scope of the resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group the template will be deployed to. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DeploymentWhatIf" + }, + "description": "Parameters to validate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "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 resource group scope": { + "$ref": "./examples/PostDeploymentWhatIfOnResourceGroup.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_ExportTemplate", + "description": "Exports the template used for specified deployment.", + "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/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the template.", + "schema": { + "$ref": "#/definitions/DeploymentExportResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/": { + "get": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_ListByResourceGroup", + "description": "Get all the deployments for a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group with the deployments to get. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. For example, you can use $filter=provisioningState eq '{state}'." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The number of results to get. If null is passed, returns all deployments." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of deployments.", + "schema": { + "$ref": "#/definitions/DeploymentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/DeploymentExtendedFilter" + } + }, + "/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/unregister": { + "post": { + "tags": [ + "Providers" + ], + "operationId": "Providers_Unregister", + "description": "Unregisters a subscription from a resource provider.", + "parameters": [ + { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace of the resource provider to unregister." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the resource provider.", + "schema": { + "$ref": "#/definitions/Provider" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/register": { + "post": { + "tags": [ + "Providers" + ], + "operationId": "Providers_Register", + "description": "Registers a subscription with a resource provider.", + "parameters": [ + { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace of the resource provider to register." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the resource provider.", + "schema": { + "$ref": "#/definitions/Provider" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers": { + "get": { + "tags": [ + "Providers" + ], + "operationId": "Providers_List", + "description": "Gets all resource providers for a subscription.", + "parameters": [ + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The number of results to return. If null is passed returns all deployments." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The properties to include in the results. For example, use &$expand=metadata in the query string to retrieve resource provider metadata. To include property aliases in response, use $expand=resourceTypes/aliases." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of resource providers.", + "schema": { + "$ref": "#/definitions/ProviderListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers": { + "get": { + "tags": [ + "Providers" + ], + "operationId": "Providers_ListAtTenantScope", + "description": "Gets all resource providers for the tenant.", + "parameters": [ + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The number of results to return. If null is passed returns all providers." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The properties to include in the results. For example, use &$expand=metadata in the query string to retrieve resource provider metadata. To include property aliases in response, use $expand=resourceTypes/aliases." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of resource providers.", + "schema": { + "$ref": "#/definitions/ProviderListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}": { + "get": { + "tags": [ + "Providers" + ], + "operationId": "Providers_Get", + "description": "Gets the specified resource provider.", + "parameters": [ + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The $expand query parameter. For example, to include property aliases in response, use $expand=resourceTypes/aliases." + }, + { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace of the resource provider." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the resource provider.", + "schema": { + "$ref": "#/definitions/Provider" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/{resourceProviderNamespace}": { + "get": { + "tags": [ + "Providers" + ], + "operationId": "Providers_GetAtTenantScope", + "description": "Gets the specified resource provider at the tenant level.", + "parameters": [ + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The $expand query parameter. For example, to include property aliases in response, use $expand=resourceTypes/aliases." + }, + { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace of the resource provider." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the resource provider.", + "schema": { + "$ref": "#/definitions/Provider" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources": { + "get": { + "tags": [ + "ResourceGroups" + ], + "operationId": "Resources_ListByResourceGroup", + "description": "Get all the resources for a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group with the resources to get.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation.

The properties you can use for eq (equals) or ne (not equals) are: location, resourceType, name, resourceGroup, identity, identity/principalId, plan, plan/publisher, plan/product, plan/name, plan/version, and plan/promotionCode.

For example, to filter by a resource type, use: $filter=resourceType eq 'Microsoft.Network/virtualNetworks'

You can use substringof(value, property) in the filter. The properties you can use for substring are: name and resourceGroup.

For example, to get all resources with 'demo' anywhere in the name, use: $filter=substringof('demo', name)

You can link more than one substringof together by adding and/or operators.

You can filter by tag names and values. For example, to filter for a tag name and value, use $filter=tagName eq 'tag1' and tagValue eq 'Value1'. When you filter by a tag name and value, the tags for each resource are not returned in the results.

You can use some properties together when filtering. The combinations you can use are: substringof and/or resourceType, plan and plan/publisher and plan/name, identity and identity/principalId." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Comma-separated list of additional properties to be included in the response. Valid values include `createdTime`, `changedTime` and `provisioningState`. For example, `$expand=createdTime,changedTime`." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The number of results to return. If null is passed, returns all resources." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of resources", + "schema": { + "$ref": "#/definitions/ResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/GenericResourceFilter" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}": { + "head": { + "tags": [ + "ResourceGroups" + ], + "operationId": "ResourceGroups_CheckExistence", + "description": "Checks whether a resource group exists.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group to check. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "404": { + "description": "Not Found" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "ResourceGroups" + ], + "x-ms-examples": { + "Create or update a resource group": { + "$ref": "./examples/CreateResourceGroup.json" + } + }, + "operationId": "ResourceGroups_CreateOrUpdate", + "description": "Creates or updates a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group to create or update. Can include alphanumeric, underscore, parentheses, hyphen, period (except at end), and Unicode characters that match the allowed characters.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceGroup" + }, + "description": "Parameters supplied to the create or update a resource group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the new resource group.", + "schema": { + "$ref": "#/definitions/ResourceGroup" + } + }, + "201": { + "description": "Created - Returns information about the new resource group.", + "schema": { + "$ref": "#/definitions/ResourceGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ResourceGroups" + ], + "operationId": "ResourceGroups_Delete", + "summary": "Deletes a resource group.", + "description": "When you delete a resource group, all of its resources are also deleted. Deleting a resource group deletes all of its template deployments and currently stored operations.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group to delete. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$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 + }, + "get": { + "tags": [ + "ResourceGroups" + ], + "operationId": "ResourceGroups_Get", + "description": "Gets a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group to get. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the resource group.", + "schema": { + "$ref": "#/definitions/ResourceGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "ResourceGroups" + ], + "operationId": "ResourceGroups_Update", + "summary": "Updates a resource group.", + "description": "Resource groups can be updated through a simple PATCH operation to a group address. The format of the request is the same as that for creating a resource group. If a field is unspecified, the current value is retained.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group to update. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceGroupPatchable" + }, + "description": "Parameters supplied to update a resource group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the resource group.", + "schema": { + "$ref": "#/definitions/ResourceGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/exportTemplate": { + "post": { + "tags": [ + "ResourceGroups" + ], + "operationId": "ResourceGroups_ExportTemplate", + "description": "Captures the specified resource group as a template.", + "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": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExportTemplateRequest" + }, + "description": "Parameters for exporting the template." + } + ], + "x-ms-examples": { + "Export a resource group": { + "$ref": "./examples/ExportResourceGroup.json" + }, + "Export a resource group with filtering": { + "$ref": "./examples/ExportResourceGroupWithFiltering.json" + } + }, + "responses": { + "200": { + "description": "OK - Returns the result of the export.", + "schema": { + "$ref": "#/definitions/ResourceGroupExportResult" + } + }, + "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": { + "get": { + "tags": [ + "ResourceGroups" + ], + "operationId": "ResourceGroups_List", + "description": "Gets all the resource groups for a subscription.", + "parameters": [ + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation.

You can filter by tag names and values. For example, to filter for a tag name and value, use $filter=tagName eq 'tag1' and tagValue eq 'Value1'" + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The number of results to return. If null is passed, returns all resource groups." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of resource groups.", + "schema": { + "$ref": "#/definitions/ResourceGroupListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/ResourceGroupFilter" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/moveResources": { + "post": { + "tags": [ + "Resources" + ], + "operationId": "Resources_MoveResources", + "summary": "Moves resources from one resource group to another resource group.", + "description": "The resources to move must be in the same source resource group. The target resource group may be in a different subscription. When moving resources, both the source group and the target group are locked for the duration of the operation. Write and delete operations are blocked on the groups until the move completes. ", + "parameters": [ + { + "name": "sourceResourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing the resources to move.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ResourcesMoveInfo" + }, + "description": "Parameters for moving resources." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "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 + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/validateMoveResources": { + "post": { + "tags": [ + "Resources" + ], + "operationId": "Resources_ValidateMoveResources", + "summary": "Validates whether resources can be moved from one resource group to another resource group.", + "description": "This operation checks whether the specified resources can be moved to the target. The resources to move must be in the same source resource group. The target resource group may be in a different subscription. If validation succeeds, it returns HTTP response code 204 (no content). If validation fails, it returns HTTP response code 409 (Conflict) with an error message. Retrieve the URL in the Location header value to check the result of the long-running operation.", + "parameters": [ + { + "name": "sourceResourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing the resources to validate for move.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ResourcesMoveInfo" + }, + "description": "Parameters for moving resources." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SourceSubscriptionIdParameter" + } + ], + "responses": { + "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 + } + }, + "/subscriptions/{subscriptionId}/resources": { + "get": { + "tags": [ + "Resources" + ], + "operationId": "Resources_List", + "description": "Get all the resources in a subscription.", + "parameters": [ + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation.

The properties you can use for eq (equals) or ne (not equals) are: location, resourceType, name, resourceGroup, identity, identity/principalId, plan, plan/publisher, plan/product, plan/name, plan/version, and plan/promotionCode.

For example, to filter by a resource type, use: $filter=resourceType eq 'Microsoft.Network/virtualNetworks'

You can use substringof(value, property) in the filter. The properties you can use for substring are: name and resourceGroup.

For example, to get all resources with 'demo' anywhere in the name, use: $filter=substringof('demo', name)

You can link more than one substringof together by adding and/or operators.

You can filter by tag names and values. For example, to filter for a tag name and value, use $filter=tagName eq 'tag1' and tagValue eq 'Value1'. When you filter by a tag name and value, the tags for each resource are not returned in the results.

You can use some properties together when filtering. The combinations you can use are: substringof and/or resourceType, plan and plan/publisher and plan/name, identity and identity/principalId." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Comma-separated list of additional properties to be included in the response. Valid values include `createdTime`, `changedTime` and `provisioningState`. For example, `$expand=createdTime,changedTime`." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The number of results to return. If null is passed, returns all resource groups." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of resources.", + "schema": { + "$ref": "#/definitions/ResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/GenericResourceFilter" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}": { + "head": { + "tags": [ + "Resources" + ], + "operationId": "Resources_CheckExistence", + "description": "Checks whether a resource exists.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing the resource to check. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The resource provider of the resource to check." + }, + { + "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.", + "x-ms-skip-url-encoding": true + }, + { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource to check whether it exists." + }, + { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the operation." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "404": { + "description": "Not Found" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Resources" + ], + "operationId": "Resources_Delete", + "description": "Deletes a resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group that contains the resource to delete. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace of the resource provider." + }, + { + "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.", + "x-ms-skip-url-encoding": true + }, + { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource to delete." + }, + { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the operation." + }, + { + "$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 + }, + "put": { + "tags": [ + "Resources" + ], + "operationId": "Resources_CreateOrUpdate", + "description": "Creates a resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group for the resource. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace of the resource provider." + }, + { + "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 to create.", + "x-ms-skip-url-encoding": true + }, + { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource to create." + }, + { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the operation." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GenericResource" + }, + "description": "Parameters for creating or updating the resource." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the resource.", + "schema": { + "$ref": "#/definitions/GenericResource" + } + }, + "201": { + "description": "Created - Returns information about the resource.", + "schema": { + "$ref": "#/definitions/GenericResource" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Resources" + ], + "operationId": "Resources_Update", + "description": "Updates a resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group for the resource. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace of the resource provider." + }, + { + "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 to update.", + "x-ms-skip-url-encoding": true + }, + { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource to update." + }, + { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the operation." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GenericResource" + }, + "description": "Parameters for updating the resource." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the resource.", + "schema": { + "$ref": "#/definitions/GenericResource" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Resources" + ], + "operationId": "Resources_Get", + "description": "Gets a resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing the resource to get. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace of the resource provider." + }, + { + "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." + }, + { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the operation." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the resource.", + "schema": { + "$ref": "#/definitions/GenericResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/{resourceId}": { + "head": { + "tags": [ + "Resources" + ], + "operationId": "Resources_CheckExistenceById", + "description": "Checks by ID whether a resource exists.", + "parameters": [ + { + "name": "resourceId", + "in": "path", + "required": true, + "type": "string", + "description": "The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}", + "x-ms-skip-url-encoding": true + }, + { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the operation." + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "404": { + "description": "Not Found" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Resources" + ], + "operationId": "Resources_DeleteById", + "description": "Deletes a resource by ID.", + "parameters": [ + { + "name": "resourceId", + "in": "path", + "required": true, + "type": "string", + "description": "The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}", + "x-ms-skip-url-encoding": true + }, + { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the operation." + } + ], + "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 + }, + "put": { + "tags": [ + "Resources" + ], + "operationId": "Resources_CreateOrUpdateById", + "description": "Create a resource by ID.", + "parameters": [ + { + "name": "resourceId", + "in": "path", + "required": true, + "type": "string", + "description": "The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}", + "x-ms-skip-url-encoding": true + }, + { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the operation." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GenericResource" + }, + "description": "Create or update resource parameters." + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the resource.", + "schema": { + "$ref": "#/definitions/GenericResource" + } + }, + "201": { + "description": "Created - Returns information about the resource.", + "schema": { + "$ref": "#/definitions/GenericResource" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Resources" + ], + "operationId": "Resources_UpdateById", + "description": "Updates a resource by ID.", + "parameters": [ + { + "name": "resourceId", + "in": "path", + "required": true, + "type": "string", + "description": "The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}", + "x-ms-skip-url-encoding": true + }, + { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the operation." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GenericResource" + }, + "description": "Update resource parameters." + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the resource.", + "schema": { + "$ref": "#/definitions/GenericResource" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Resources" + ], + "operationId": "Resources_GetById", + "description": "Gets a resource by ID.", + "parameters": [ + { + "name": "resourceId", + "in": "path", + "required": true, + "type": "string", + "description": "The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}", + "x-ms-skip-url-encoding": true + }, + { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the operation." + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the resource.", + "schema": { + "$ref": "#/definitions/GenericResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}": { + "delete": { + "tags": [ + "Tags" + ], + "operationId": "TagsOperation_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": [ + { + "name": "tagName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the tag." + }, + { + "name": "tagValue", + "in": "path", + "required": true, + "type": "string", + "description": "The value of the tag to delete." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Predefined tag value successfully deleted." + }, + "204": { + "description": "Predefined tag value did not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Tags" + ], + "operationId": "TagsOperation_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": [ + { + "name": "tagName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the tag." + }, + { + "name": "tagValue", + "in": "path", + "required": true, + "type": "string", + "description": "The value of the tag to create." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Predefined tag value already exists. Returns information about the predefined tag value.", + "schema": { + "$ref": "#/definitions/TagValue" + } + }, + "201": { + "description": "Predefined tag value successfully created. Returns information about the predefined tag value.", + "schema": { + "$ref": "#/definitions/TagValue" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/tagNames/{tagName}": { + "put": { + "tags": [ + "Tags" + ], + "operationId": "TagsOperation_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": [ + { + "name": "tagName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the tag to create." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Predefined tag name already exists. Returns information about the predefined tag name.", + "schema": { + "$ref": "#/definitions/TagDetails" + } + }, + "201": { + "description": "Predefined tag name successfully created. Returns information about the predefined tag name.", + "schema": { + "$ref": "#/definitions/TagDetails" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Tags" + ], + "operationId": "TagsOperation_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": [ + { + "name": "tagName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the tag." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Predefined tag name successfully deleted." + }, + "204": { + "description": "Predefined tag name did not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/tagNames": { + "get": { + "tags": [ + "Tags" + ], + "operationId": "TagsOperation_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": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of tag names and values.", + "schema": { + "$ref": "#/definitions/TagsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}/operations/{operationId}": { + "get": { + "tags": [ + "DeploymentOperations" + ], + "operationId": "DeploymentOperations_GetAtScope", + "description": "Gets a deployments operation.", + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the operation to get." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the deployment operation.", + "schema": { + "$ref": "#/definitions/DeploymentOperation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}/operations": { + "get": { + "tags": [ + "DeploymentOperations" + ], + "operationId": "DeploymentOperations_ListAtScope", + "description": "Gets all deployments operations for a deployment.", + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The number of results to return." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Return an array of deployment operations.", + "schema": { + "$ref": "#/definitions/DeploymentOperationsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Resources/deployments/{deploymentName}/operations/{operationId}": { + "get": { + "tags": [ + "DeploymentOperations" + ], + "operationId": "DeploymentOperations_GetAtTenantScope", + "description": "Gets a deployments operation.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the operation to get." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the deployment operation.", + "schema": { + "$ref": "#/definitions/DeploymentOperation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Resources/deployments/{deploymentName}/operations": { + "get": { + "tags": [ + "DeploymentOperations" + ], + "operationId": "DeploymentOperations_ListAtTenantScope", + "description": "Gets all deployments operations for a deployment.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The number of results to return." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Return an array of deployment operations.", + "schema": { + "$ref": "#/definitions/DeploymentOperationsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/operations/{operationId}": { + "get": { + "tags": [ + "DeploymentOperations" + ], + "operationId": "DeploymentOperations_GetAtManagementGroupScope", + "description": "Gets a deployments operation.", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the operation to get." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the deployment operation.", + "schema": { + "$ref": "#/definitions/DeploymentOperation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/operations": { + "get": { + "tags": [ + "DeploymentOperations" + ], + "operationId": "DeploymentOperations_ListAtManagementGroupScope", + "description": "Gets all deployments operations for a deployment.", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The number of results to return." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Return an array of deployment operations.", + "schema": { + "$ref": "#/definitions/DeploymentOperationsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/operations/{operationId}": { + "get": { + "tags": [ + "DeploymentOperations" + ], + "operationId": "DeploymentOperations_GetAtSubscriptionScope", + "description": "Gets a deployments operation.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the operation to get." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the deployment operation.", + "schema": { + "$ref": "#/definitions/DeploymentOperation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/operations": { + "get": { + "tags": [ + "DeploymentOperations" + ], + "operationId": "DeploymentOperations_ListAtSubscriptionScope", + "description": "Gets all deployments operations for a deployment.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The number of results to return." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Return an array of deployment operations.", + "schema": { + "$ref": "#/definitions/DeploymentOperationsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations/{operationId}": { + "get": { + "tags": [ + "DeploymentOperations" + ], + "operationId": "DeploymentOperations_Get", + "description": "Gets a deployments operation.", + "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/DeploymentNameParameter" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the operation to get." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the deployment operation.", + "schema": { + "$ref": "#/definitions/DeploymentOperation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations": { + "get": { + "tags": [ + "DeploymentOperations" + ], + "operationId": "DeploymentOperations_List", + "description": "Gets all deployments operations for a deployment.", + "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/DeploymentNameParameter" + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The number of results to return." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Return an array of deployment operations.", + "schema": { + "$ref": "#/definitions/DeploymentOperationsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Resources/calculateTemplateHash": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CalculateTemplateHash", + "description": "Calculate the hash of the given template.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "template", + "in": "body", + "required": true, + "schema": { + "type": "object" + }, + "description": "The template provided to calculate hash." + } + ], + "x-ms-examples": { + "Calculate template hash": { + "$ref": "./examples/CalculateTemplateHash.json" + } + }, + "responses": { + "200": { + "description": "OK - Returns the hash.", + "schema": { + "$ref": "#/definitions/TemplateHashResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/{scope}/providers/Microsoft.Resources/tags/default": { + "put": { + "tags": [ + "Tags" + ], + "operationId": "TagsOperation_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": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TagsResource" + } + } + ], + "responses": { + "200": { + "description": "Tags updated successfully. Returns tags from the specified object.", + "schema": { + "$ref": "#/definitions/TagsResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update tags on a resource": { + "$ref": "./examples/PutTagsResource.json" + }, + "Update tags on a subscription": { + "$ref": "./examples/PutTagsSubscription.json" + } + } + }, + "patch": { + "tags": [ + "Tags" + ], + "operationId": "TagsOperation_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": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TagsPatchResource" + } + } + ], + "responses": { + "200": { + "description": "Tags updated successfully. Returns tags from the specified object.", + "schema": { + "$ref": "#/definitions/TagsResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "Tags" + ], + "operationId": "TagsOperation_GetAtScope", + "summary": "Gets the entire set of tags on a resource or subscription.", + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Returns tags from the specified object.", + "schema": { + "$ref": "#/definitions/TagsResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get tags on a resource": { + "$ref": "./examples/GetTagsResource.json" + }, + "Get tags on a subscription": { + "$ref": "./examples/GetTagsSubscription.json" + } + } + }, + "delete": { + "tags": [ + "Tags" + ], + "operationId": "TagsOperation_DeleteAtScope", + "summary": "Deletes the entire set of tags on a resource or subscription.", + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Tags successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "DeploymentExtendedFilter": { + "properties": { + "provisioningState": { + "type": "string", + "description": "The provisioning state." + } + }, + "description": "Deployment filter." + }, + "GenericResourceFilter": { + "properties": { + "resourceType": { + "type": "string", + "description": "The resource type." + }, + "tagname": { + "type": "string", + "description": "The tag name." + }, + "tagvalue": { + "type": "string", + "description": "The tag value." + } + }, + "description": "Resource filter." + }, + "ResourceGroupFilter": { + "properties": { + "tagName": { + "type": "string", + "description": "The tag name." + }, + "tagValue": { + "type": "string", + "description": "The tag value." + } + }, + "description": "Resource group filter." + }, + "TemplateLink": { + "properties": { + "uri": { + "type": "string", + "description": "The URI of the template to deploy. Use either the uri or id property, but not both." + }, + "id": { + "type": "string", + "description": "The resource id of a Template Spec. Use either the id or uri property, but not both." + }, + "relativePath": { + "type": "string", + "description": "Applicable only if this template link references a Template Spec. This relativePath property can optionally be used to reference a Template Spec artifact by path." + }, + "contentVersion": { + "type": "string", + "description": "If included, must match the ContentVersion in the template." + } + }, + "description": "Entity representing the reference to the template." + }, + "ParametersLink": { + "properties": { + "uri": { + "type": "string", + "description": "The URI of the parameters file." + }, + "contentVersion": { + "type": "string", + "description": "If included, must match the ContentVersion in the template." + } + }, + "required": [ + "uri" + ], + "description": "Entity representing the reference to the deployment parameters." + }, + "DeploymentProperties": { + "properties": { + "template": { + "type": "object", + "description": "The template content. You use this element when you want to pass the template syntax directly in the request rather than link to an existing template. It can be a JObject or well-formed JSON string. Use either the templateLink property or the template property, but not both." + }, + "templateLink": { + "$ref": "#/definitions/TemplateLink", + "description": "The URI of the template. Use either the templateLink property or the template property, but not both." + }, + "parameters": { + "type": "object", + "description": "Name and value pairs that define the deployment parameters for the template. You use this element when you want to provide the parameter values directly in the request rather than link to an existing parameter file. Use either the parametersLink property or the parameters property, but not both. It can be a JObject or a well formed JSON string." + }, + "parametersLink": { + "$ref": "#/definitions/ParametersLink", + "description": "The URI of parameters file. You use this element to link to an existing parameters file. Use either the parametersLink property or the parameters property, but not both." + }, + "mode": { + "type": "string", + "description": "The mode that is used to deploy resources. This value can be either Incremental or Complete. In Incremental mode, resources are deployed without deleting existing resources that are not included in the template. In Complete mode, resources are deployed and existing resources in the resource group that are not included in the template are deleted. Be careful when using Complete mode as you may unintentionally delete resources.", + "enum": [ + "Incremental", + "Complete" + ], + "x-ms-enum": { + "name": "DeploymentMode", + "modelAsString": false + } + }, + "debugSetting": { + "$ref": "#/definitions/DebugSetting", + "description": "The debug setting of the deployment." + }, + "onErrorDeployment": { + "$ref": "#/definitions/OnErrorDeployment", + "description": "The deployment on error behavior." + } + }, + "required": [ + "mode" + ], + "description": "Deployment properties." + }, + "DebugSetting": { + "properties": { + "detailLevel": { + "type": "string", + "description": "Specifies the type of information to log for debugging. The permitted values are none, requestContent, responseContent, or both requestContent and responseContent separated by a comma. The default is none. When setting this value, carefully consider the type of information you are passing in during deployment. By logging information about the request or response, you could potentially expose sensitive data that is retrieved through the deployment operations." + } + }, + "description": "The debug setting." + }, + "Deployment": { + "properties": { + "location": { + "type": "string", + "description": "The location to store the deployment data." + }, + "properties": { + "$ref": "#/definitions/DeploymentProperties", + "description": "The deployment properties." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Deployment tags" + } + }, + "required": [ + "properties" + ], + "description": "Deployment operation parameters." + }, + "ScopedDeployment": { + "properties": { + "location": { + "type": "string", + "description": "The location to store the deployment data." + }, + "properties": { + "$ref": "#/definitions/DeploymentProperties", + "description": "The deployment properties." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Deployment tags" + } + }, + "required": [ + "location", + "properties" + ], + "description": "Deployment operation parameters." + }, + "DeploymentExportResult": { + "properties": { + "template": { + "type": "object", + "description": "The template content." + } + }, + "description": "The deployment export result. " + }, + "DeploymentWhatIf": { + "properties": { + "location": { + "type": "string", + "description": "The location to store the deployment data." + }, + "properties": { + "$ref": "#/definitions/DeploymentWhatIfProperties", + "description": "The deployment properties." + } + }, + "required": [ + "properties" + ], + "description": "Deployment What-if operation parameters." + }, + "DeploymentWhatIfProperties": { + "properties": { + "whatIfSettings": { + "$ref": "#/definitions/DeploymentWhatIfSettings", + "description": "Optional What-If operation settings." + } + }, + "allOf": [ + { + "$ref": "#/definitions/DeploymentProperties" + } + ], + "description": "Deployment What-if properties." + }, + "DeploymentWhatIfSettings": { + "properties": { + "resultFormat": { + "type": "string", + "description": "The format of the What-If results", + "enum": [ + "ResourceIdOnly", + "FullResourcePayloads" + ], + "x-ms-enum": { + "name": "WhatIfResultFormat", + "modelAsString": false + } + } + }, + "description": "Deployment What-If operation settings." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + } + }, + "description": "An error response for a resource management request." + }, + "AliasPath": { + "properties": { + "path": { + "type": "string", + "description": "The path of an alias." + }, + "apiVersions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The API versions." + }, + "pattern": { + "$ref": "#/definitions/AliasPattern", + "description": "The pattern for an alias path." + } + }, + "description": "The type of the paths for alias." + }, + "AliasPattern": { + "properties": { + "phrase": { + "type": "string", + "description": "The alias pattern phrase." + }, + "variable": { + "type": "string", + "description": "The alias pattern variable." + }, + "type": { + "type": "string", + "enum": [ + "NotSpecified", + "Extract" + ], + "x-ms-enum": { + "name": "AliasPatternType", + "modelAsString": false, + "values": [ + { + "value": "NotSpecified", + "description": "NotSpecified is not allowed." + }, + { + "value": "Extract", + "description": "Extract is the only allowed value." + } + ] + }, + "description": "The type of alias pattern" + } + }, + "description": "The type of the pattern for an alias path." + }, + "Alias": { + "properties": { + "name": { + "type": "string", + "description": "The alias name." + }, + "paths": { + "type": "array", + "items": { + "$ref": "#/definitions/AliasPath" + }, + "description": "The paths for an alias." + }, + "type": { + "type": "string", + "description": "The type of the alias.", + "enum": [ + "NotSpecified", + "PlainText", + "Mask" + ], + "x-ms-enum": { + "name": "AliasType", + "modelAsString": false, + "values": [ + { + "value": "NotSpecified", + "description": "Alias type is unknown (same as not providing alias type)." + }, + { + "value": "PlainText", + "description": "Alias value is not secret." + }, + { + "value": "Mask", + "description": "Alias value is secret." + } + ] + } + }, + "defaultPath": { + "type": "string", + "description": "The default path for an alias." + }, + "defaultPattern": { + "$ref": "#/definitions/AliasPattern", + "description": "The default pattern for an alias." + } + }, + "description": "The alias type. " + }, + "ProviderResourceType": { + "properties": { + "resourceType": { + "type": "string", + "description": "The resource type." + }, + "locations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The collection of locations where this resource type can be created." + }, + "aliases": { + "type": "array", + "items": { + "$ref": "#/definitions/Alias" + }, + "description": "The aliases that are supported by this resource type." + }, + "apiVersions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The API version." + }, + "capabilities": { + "type": "string", + "description": "The additional capabilities offered by this resource type." + }, + "properties": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "The additional properties. " + }, + "description": "The properties." + } + }, + "description": "Resource type managed by the resource provider." + }, + "Provider": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The provider ID." + }, + "namespace": { + "type": "string", + "description": "The namespace of the resource provider." + }, + "registrationState": { + "readOnly": true, + "type": "string", + "description": "The registration state of the resource provider." + }, + "registrationPolicy": { + "readOnly": true, + "type": "string", + "description": "The registration policy of the resource provider." + }, + "resourceTypes": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ProviderResourceType" + }, + "description": "The collection of provider resource types." + } + }, + "description": "Resource provider information." + }, + "BasicDependency": { + "properties": { + "id": { + "type": "string", + "description": "The ID of the dependency." + }, + "resourceType": { + "type": "string", + "description": "The dependency resource type." + }, + "resourceName": { + "type": "string", + "description": "The dependency resource name." + } + }, + "description": "Deployment dependency information." + }, + "Dependency": { + "properties": { + "dependsOn": { + "type": "array", + "items": { + "$ref": "#/definitions/BasicDependency" + }, + "description": "The list of dependencies." + }, + "id": { + "type": "string", + "description": "The ID of the dependency." + }, + "resourceType": { + "type": "string", + "description": "The dependency resource type." + }, + "resourceName": { + "type": "string", + "description": "The dependency resource name." + } + }, + "description": "Deployment dependency information." + }, + "DeploymentPropertiesExtended": { + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Denotes the state of provisioning.", + "enum": [ + "NotSpecified", + "Accepted", + "Running", + "Ready", + "Creating", + "Created", + "Deleting", + "Deleted", + "Canceled", + "Failed", + "Succeeded", + "Updating" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "correlationId": { + "readOnly": true, + "type": "string", + "description": "The correlation ID of the deployment." + }, + "timestamp": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The timestamp of the template deployment." + }, + "duration": { + "readOnly": true, + "type": "string", + "description": "The duration of the template deployment." + }, + "outputs": { + "readOnly": true, + "type": "object", + "description": "Key/value pairs that represent deployment output." + }, + "providers": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Provider" + }, + "description": "The list of resource providers needed for the deployment." + }, + "dependencies": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Dependency" + }, + "description": "The list of deployment dependencies." + }, + "templateLink": { + "readOnly": true, + "$ref": "#/definitions/TemplateLink", + "description": "The URI referencing the template." + }, + "parameters": { + "readOnly": true, + "type": "object", + "description": "Deployment parameters. " + }, + "parametersLink": { + "readOnly": true, + "$ref": "#/definitions/ParametersLink", + "description": "The URI referencing the parameters. " + }, + "mode": { + "readOnly": true, + "type": "string", + "description": "The deployment mode. Possible values are Incremental and Complete.", + "enum": [ + "Incremental", + "Complete" + ], + "x-ms-enum": { + "name": "DeploymentMode", + "modelAsString": false + } + }, + "debugSetting": { + "readOnly": true, + "$ref": "#/definitions/DebugSetting", + "description": "The debug setting of the deployment." + }, + "onErrorDeployment": { + "readOnly": true, + "$ref": "#/definitions/OnErrorDeploymentExtended", + "description": "The deployment on error behavior." + }, + "templateHash": { + "readOnly": true, + "type": "string", + "description": "The hash produced for the template." + }, + "outputResources": { + "readOnly": true, + "type": "array", + "description": "Array of provisioned resources.", + "items": { + "$ref": "#/definitions/ResourceReference", + "description": "Details of provisioned resources." + } + }, + "validatedResources": { + "readOnly": true, + "type": "array", + "description": "Array of validated resources.", + "items": { + "$ref": "#/definitions/ResourceReference", + "description": "Details of validated resources." + } + }, + "error": { + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse", + "description": "The deployment error." + } + }, + "description": "Deployment properties with additional details." + }, + "ResourceReference": { + "description": "The resource Id model.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The fully qualified resource Id." + } + } + }, + "OnErrorDeployment": { + "properties": { + "type": { + "type": "string", + "description": "The deployment on error behavior type. Possible values are LastSuccessful and SpecificDeployment.", + "enum": [ + "LastSuccessful", + "SpecificDeployment" + ], + "x-ms-enum": { + "name": "OnErrorDeploymentType", + "modelAsString": false + } + }, + "deploymentName": { + "type": "string", + "description": "The deployment to be used on error case." + } + }, + "description": "Deployment on error behavior." + }, + "OnErrorDeploymentExtended": { + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The state of the provisioning for the on error deployment." + }, + "type": { + "type": "string", + "description": "The deployment on error behavior type. Possible values are LastSuccessful and SpecificDeployment.", + "enum": [ + "LastSuccessful", + "SpecificDeployment" + ], + "x-ms-enum": { + "name": "OnErrorDeploymentType", + "modelAsString": false + } + }, + "deploymentName": { + "type": "string", + "description": "The deployment to be used on error case." + } + }, + "description": "Deployment on error behavior with additional details." + }, + "DeploymentValidateResult": { + "properties": { + "error": { + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse", + "description": "The deployment validation error." + }, + "properties": { + "$ref": "#/definitions/DeploymentPropertiesExtended", + "description": "The template deployment properties." + } + }, + "description": "Information from validate template deployment response." + }, + "DeploymentExtended": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the deployment." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the deployment." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the deployment." + }, + "location": { + "type": "string", + "description": "the location of the deployment." + }, + "properties": { + "$ref": "#/definitions/DeploymentPropertiesExtended", + "description": "Deployment properties." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Deployment tags" + } + }, + "x-ms-azure-resource": true, + "description": "Deployment information." + }, + "DeploymentListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentExtended" + }, + "description": "An array of deployments." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of deployments." + }, + "ProviderListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Provider" + }, + "description": "An array of resource providers." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of resource providers." + }, + "GenericResource": { + "properties": { + "plan": { + "$ref": "#/definitions/Plan", + "description": "The plan of the resource." + }, + "properties": { + "type": "object", + "description": "The resource properties." + }, + "kind": { + "type": "string", + "description": "The kind of the resource.", + "pattern": "^[-\\w\\._,\\(\\)]+$" + }, + "managedBy": { + "type": "string", + "description": "ID of the resource that manages this resource." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of the resource." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Resource information." + }, + "GenericResourceExpanded": { + "properties": { + "createdTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The created time of the resource. This is only present if requested via the $expand query parameter." + }, + "changedTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The changed time of the resource. This is only present if requested via the $expand query parameter." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state of the resource. This is only present if requested via the $expand query parameter." + } + }, + "allOf": [ + { + "$ref": "#/definitions/GenericResource" + } + ], + "description": "Resource information." + }, + "Plan": { + "properties": { + "name": { + "type": "string", + "description": "The plan ID." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + }, + "product": { + "type": "string", + "description": "The offer ID." + }, + "promotionCode": { + "type": "string", + "description": "The promotion code." + }, + "version": { + "type": "string", + "description": "The plan's version." + } + }, + "description": "Plan for the resource." + }, + "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." + } + }, + "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": { + "type": "object", + "x-ms-client-name": "IdentityUserAssignedIdentitiesValue", + "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 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." + }, + "ResourceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/GenericResourceExpanded" + }, + "description": "An array of resources." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of resource groups." + }, + "ResourceGroup": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the resource group." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource group." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource group." + }, + "properties": { + "$ref": "#/definitions/ResourceGroupProperties", + "description": "The resource group properties." + }, + "location": { + "type": "string", + "description": "The location of the resource group. It cannot be changed after the resource group has been created. It must be one of the supported Azure locations." + }, + "managedBy": { + "type": "string", + "description": "The ID of the resource that manages this resource group." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "The additional properties. " + }, + "description": "The tags attached to the resource group." + } + }, + "required": [ + "location" + ], + "x-ms-azure-resource": true, + "description": "Resource group information." + }, + "ResourceGroupPatchable": { + "properties": { + "name": { + "type": "string", + "description": "The name of the resource group." + }, + "properties": { + "$ref": "#/definitions/ResourceGroupProperties", + "description": "The resource group properties." + }, + "managedBy": { + "type": "string", + "description": "The ID of the resource that manages this resource group." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "The additional properties. " + }, + "description": "The tags attached to the resource group." + } + }, + "description": "Resource group information." + }, + "ResourceGroupProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state. " + } + }, + "description": "The resource group properties." + }, + "ResourceGroupListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceGroup" + }, + "description": "An array of resource groups." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of resource groups." + }, + "ResourcesMoveInfo": { + "properties": { + "resources": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IDs of the resources." + }, + "targetResourceGroup": { + "type": "string", + "description": "The target resource group." + } + }, + "description": "Parameters of move resources." + }, + "ExportTemplateRequest": { + "properties": { + "resources": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IDs of the resources to filter the export by. To export all resources, supply an array with single entry '*'." + }, + "options": { + "type": "string", + "description": "The export template options. A CSV-formatted list containing zero or more of the following: 'IncludeParameterDefaultValue', 'IncludeComments', 'SkipResourceNameParameterization', 'SkipAllParameterization'" + } + }, + "description": "Export resource group template request parameters." + }, + "TagCount": { + "properties": { + "type": { + "type": "string", + "description": "Type of count." + }, + "value": { + "type": "integer", + "description": "Value of count." + } + }, + "description": "Tag count." + }, + "TagValue": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The tag value ID." + }, + "tagValue": { + "type": "string", + "description": "The tag value." + }, + "count": { + "$ref": "#/definitions/TagCount", + "description": "The tag value count." + } + }, + "x-ms-azure-resource": true, + "description": "Tag information." + }, + "TagDetails": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The tag name ID." + }, + "tagName": { + "type": "string", + "description": "The tag name." + }, + "count": { + "$ref": "#/definitions/TagCount", + "description": "The total number of resources that use the resource tag. When a tag is initially created and has no associated resources, the value is 0." + }, + "values": { + "type": "array", + "items": { + "$ref": "#/definitions/TagValue" + }, + "description": "The list of tag values." + } + }, + "x-ms-azure-resource": true, + "description": "Tag details." + }, + "TagsListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/TagDetails" + }, + "description": "An array of tags." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of subscription tags." + }, + "TargetResource": { + "properties": { + "id": { + "type": "string", + "description": "The ID of the resource." + }, + "resourceName": { + "type": "string", + "description": "The name of the resource." + }, + "resourceType": { + "type": "string", + "description": "The type of the resource." + } + }, + "description": "Target resource." + }, + "HttpMessage": { + "properties": { + "content": { + "type": "object", + "description": "HTTP message content." + } + }, + "description": "HTTP message." + }, + "DeploymentOperationProperties": { + "properties": { + "provisioningOperation": { + "readOnly": true, + "type": "string", + "description": "The name of the current provisioning operation.", + "enum": [ + "NotSpecified", + "Create", + "Delete", + "Waiting", + "AzureAsyncOperationWaiting", + "ResourceCacheWaiting", + "Action", + "Read", + "EvaluateDeploymentOutput", + "DeploymentCleanup" + ], + "x-ms-enum": { + "name": "ProvisioningOperation", + "modelAsString": false, + "values": [ + { + "value": "NotSpecified", + "description": "The provisioning operation is not specified." + }, + { + "value": "Create", + "description": "The provisioning operation is create." + }, + { + "value": "Delete", + "description": "The provisioning operation is delete." + }, + { + "value": "Waiting", + "description": "The provisioning operation is waiting." + }, + { + "value": "AzureAsyncOperationWaiting", + "description": "The provisioning operation is waiting Azure async operation." + }, + { + "value": "ResourceCacheWaiting", + "description": "The provisioning operation is waiting for resource cache." + }, + { + "value": "Action", + "description": "The provisioning operation is action." + }, + { + "value": "Read", + "description": "The provisioning operation is read." + }, + { + "value": "EvaluateDeploymentOutput", + "description": "The provisioning operation is evaluate output." + }, + { + "value": "DeploymentCleanup", + "description": "The provisioning operation is cleanup. This operation is part of the 'complete' mode deployment." + } + ] + } + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The state of the provisioning." + }, + "timestamp": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The date and time of the operation." + }, + "duration": { + "readOnly": true, + "type": "string", + "description": "The duration of the operation." + }, + "serviceRequestId": { + "readOnly": true, + "type": "string", + "description": "Deployment operation service request id." + }, + "statusCode": { + "readOnly": true, + "type": "string", + "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 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": { + "readOnly": true, + "$ref": "#/definitions/TargetResource", + "description": "The target resource." + }, + "request": { + "readOnly": true, + "$ref": "#/definitions/HttpMessage", + "description": "The HTTP request message." + }, + "response": { + "readOnly": true, + "$ref": "#/definitions/HttpMessage", + "description": "The HTTP response message." + } + }, + "description": "Deployment operation properties." + }, + "DeploymentOperation": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Full deployment operation ID." + }, + "operationId": { + "readOnly": true, + "type": "string", + "description": "Deployment operation ID." + }, + "properties": { + "$ref": "#/definitions/DeploymentOperationProperties", + "description": "Deployment properties." + } + }, + "description": "Deployment operation information." + }, + "DeploymentOperationsListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentOperation" + }, + "description": "An array of deployment operations." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of deployment operations." + }, + "ResourceProviderOperationDisplayProperties": { + "properties": { + "publisher": { + "type": "string", + "description": "Operation description." + }, + "provider": { + "type": "string", + "description": "Operation provider." + }, + "resource": { + "type": "string", + "description": "Operation resource." + }, + "operation": { + "type": "string", + "description": "Resource provider operation." + }, + "description": { + "type": "string", + "description": "Operation description." + } + }, + "description": "Resource provider operation's display properties." + }, + "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" + } + }, + "x-ms-azure-resource": true, + "description": "Specified resource." + }, + "SubResource": { + "properties": { + "id": { + "type": "string", + "description": "Resource ID" + } + }, + "x-ms-azure-resource": true, + "description": "Sub-resource." + }, + "ResourceGroupExportResult": { + "properties": { + "template": { + "type": "object", + "description": "The template content." + }, + "error": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse", + "description": "The template export error." + } + }, + "description": "Resource group export result." + }, + "Operation": { + "description": "Microsoft.Resources 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.Resources", + "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 the operation.", + "type": "string" + } + } + } + } + }, + "OperationListResult": { + "description": "Result of the request to list Microsoft.Resources 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.Resources operations." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "TemplateHashResult": { + "description": "Result of the request to calculate template hash. It contains a string of minified template and its hash.", + "properties": { + "minifiedTemplate": { + "type": "string", + "description": "The minified template string." + }, + "templateHash": { + "type": "string", + "description": "The template hash." + } + } + }, + "WhatIfPropertyChange": { + "required": [ + "path", + "propertyChangeType" + ], + "properties": { + "path": { + "type": "string", + "description": "The path of the property." + }, + "propertyChangeType": { + "type": "string", + "description": "The type of property change.", + "enum": [ + "Create", + "Delete", + "Modify", + "Array" + ], + "x-ms-enum": { + "name": "PropertyChangeType", + "modelAsString": false, + "values": [ + { + "value": "Create", + "description": "The property does not exist in the current state but is present in the desired state. The property will be created when the deployment is executed." + }, + { + "value": "Delete", + "description": "The property exists in the current state and is missing from the desired state. It will be deleted when the deployment is executed." + }, + { + "value": "Modify", + "description": "The property exists in both current and desired state and is different. The value of the property will change when the deployment is executed." + }, + { + "value": "Array", + "description": "The property is an array and contains nested changes." + } + ] + } + }, + "before": { + "type": "object", + "description": "The value of the property before the deployment is executed." + }, + "after": { + "type": "object", + "description": "The value of the property after the deployment is executed." + }, + "children": { + "type": "array", + "items": { + "$ref": "#/definitions/WhatIfPropertyChange" + }, + "description": "Nested property changes." + } + }, + "description": "The predicted change to the resource property." + }, + "WhatIfChange": { + "description": "Information about a single resource change predicted by What-If operation.", + "required": [ + "resourceId", + "changeType" + ], + "properties": { + "resourceId": { + "type": "string", + "description": "Resource ID" + }, + "changeType": { + "type": "string", + "description": "Type of change that will be made to the resource when the deployment is executed.", + "enum": [ + "Create", + "Delete", + "Ignore", + "Deploy", + "NoChange", + "Modify" + ], + "x-ms-enum": { + "name": "ChangeType", + "modelAsString": false, + "values": [ + { + "value": "Create", + "description": "The resource does not exist in the current state but is present in the desired state. The resource will be created when the deployment is executed." + }, + { + "value": "Delete", + "description": "The resource exists in the current state and is missing from the desired state. The resource will be deleted when the deployment is executed." + }, + { + "value": "Ignore", + "description": "The resource exists in the current state and is missing from the desired state. The resource will not be deployed or modified when the deployment is executed." + }, + { + "value": "Deploy", + "description": "The resource exists in the current state and the desired state and will be redeployed when the deployment is executed. The properties of the resource may or may not change." + }, + { + "value": "NoChange", + "description": "The resource exists in the current state and the desired state and will be redeployed when the deployment is executed. The properties of the resource will not change." + }, + { + "value": "Modify", + "description": "The resource exists in the current state and the desired state and will be redeployed when the deployment is executed. The properties of the resource will change." + } + ] + } + }, + "before": { + "type": "object", + "description": "The snapshot of the resource before the deployment is executed." + }, + "after": { + "type": "object", + "description": "The predicted snapshot of the resource after the deployment is executed." + }, + "delta": { + "type": "array", + "items": { + "$ref": "#/definitions/WhatIfPropertyChange" + }, + "description": "The predicted changes to resource properties." + } + } + }, + "WhatIfOperationProperties": { + "description": "Deployment operation properties.", + "properties": { + "changes": { + "type": "array", + "items": { + "$ref": "#/definitions/WhatIfChange" + }, + "description": "List of resource changes predicted by What-If operation." + } + } + }, + "WhatIfOperationResult": { + "description": "Result of the What-If operation. Contains a list of predicted changes and a URL link to get to the next set of results.", + "properties": { + "status": { + "type": "string", + "description": "Status of the What-If operation." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/WhatIfOperationProperties", + "description": "What-If operation properties." + }, + "error": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse", + "description": "Error when What-If operation fails." + } + } + }, + "Tags": { + "description": "A dictionary of name and value pairs.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "The tag value." + } + } + } + }, + "TagsPatchResource": { + "type": "object", + "description": "Wrapper resource for tags patch API request only.", + "properties": { + "operation": { + "type": "string", + "description": "The operation type for the patch API.", + "enum": [ + "Replace", + "Merge", + "Delete" + ] + }, + "properties": { + "$ref": "#/definitions/Tags", + "description": "The set of tags." + } + } + }, + "TagsResource": { + "type": "object", + "description": "Wrapper resource for tags API requests and responses.", + "required": [ + "properties" + ], + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the tags wrapper resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the tags wrapper resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the tags wrapper resource." + }, + "properties": { + "$ref": "#/definitions/Tags", + "description": "The set of tags." + } + }, + "x-ms-azure-resource": true + }, + "StatusMessage": { + "type": "object", + "description": "Operation status message object.", + "properties": { + "status": { + "type": "string", + "description": "Status of the deployment operation." + }, + "error": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse", + "description": "The error reported by the operation." + } + } + } + }, + "parameters": { + "ScopeParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The resource scope.", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "GroupIdParameter": { + "name": "groupId", + "in": "path", + "required": true, + "type": "string", + "description": "The management group ID.", + "x-ms-parameter-location": "method", + "minLength": 1, + "maxLength": 90 + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "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", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "x-ms-parameter-location": "method", + "minLength": 1, + "maxLength": 64, + "description": "The name of the deployment." + }, + "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.csharp.md b/specification/resources/resource-manager/readme.csharp.md index 8035831712c8..0364f5d7d6c2 100644 --- a/specification/resources/resource-manager/readme.csharp.md +++ b/specification/resources/resource-manager/readme.csharp.md @@ -24,6 +24,7 @@ batch: - package-subscriptions: true - package-links: true - package-deploymentscripts: true + - package-templatespecs: true # - package-managedapplications: true ``` @@ -137,6 +138,19 @@ batch: ApiVersionName: Api2019_10_01 - policyD-2016-12-01: true ApiVersionName: Api2019_10_01 + + - resources-2020-06-01: true + ApiVersionName: Api2020_06_01 + - links-2016-09-01: true + ApiVersionName: Api2020_06_01 + - subscription-2016-06-01: true + ApiVersionName: Api2020_06_01 + - locks-2016-09-01: true + ApiVersionName: Api2020_06_01 + - policyA-2016-12-01: true + ApiVersionName: Api2020_06_01 + - policyD-2016-12-01: true + ApiVersionName: Api2020_06_01 ``` @@ -258,6 +272,72 @@ input-file: input-file: - Microsoft.Authorization/stable/2016-12-01/policyDefinitions.json ``` +``` yaml $(Separator) +########################################################################### +########################################################################### +``` + +``` yaml $(resources-2020-06-01) +tag: pkg-2020-06-Az-res +``` + +``` yaml $(links-2016-09-01) +tag: pkg-2020-06-Az-lnk +``` + +``` yaml $(subscription-2016-06-01) +tag: pkg-2020-06-Az-sub +``` + +``` yaml $(locks-2016-09-01) +tag: pkg-2020-06-Az-loc +``` + +``` yaml $(policyA-2016-12-01) +tag: pkg-2020-06-Az-polA +``` + +``` yaml $(policyD-2016-12-01) +tag: pkg-2020-06-Az-polD +``` + + +## Tag: Packages for Azure Stack +### 1) pkg-2020-06-AzStk-res +``` yaml $(tag) == 'pkg-2020-06-Az-res' +input-file: +- Microsoft.Resources/stable/2019-05-01/resources.json +``` + +### 2) pkg-2020-06-AzStk-lnk +``` yaml $(tag) == 'pkg-2020-06-Az-lnk' +input-file: +- Microsoft.Resources/stable/2016-09-01/links.json +``` + +### 3) pkg-2020-06-AzStk-sub +``` yaml $(tag) == 'pkg-2020-06-Az-sub' +input-file: +- Microsoft.Resources/stable/2016-06-01/subscriptions.json +``` + +### 4) pkg-2020-06-AzStk-loc +``` yaml $(tag) == 'pkg-2020-06-Az-loc' +input-file: +- Microsoft.Authorization/stable/2016-09-01/locks.json +``` + +### 5) pkg-2020-06-AzStk-polA +``` yaml $(tag) == 'pkg-2020-06-Az-polA' +input-file: +- Microsoft.Authorization/stable/2016-12-01/policyAssignments.json +``` + +### 6) pkg-2020-06-AzStk-polD +``` yaml $(tag) == 'pkg-2020-06-Az-polD' +input-file: +- Microsoft.Authorization/stable/2016-12-01/policyDefinitions.json +``` ``` yaml $(Separator) ########################################################################### diff --git a/specification/resources/resource-manager/readme.java.md b/specification/resources/resource-manager/readme.java.md index c8705dc8d7f5..5e5e0d5c92b8 100644 --- a/specification/resources/resource-manager/readme.java.md +++ b/specification/resources/resource-manager/readme.java.md @@ -27,6 +27,7 @@ batch: - tag: package-policy-2018-05 - tag: package-policy-2018-03 - tag: package-policy-2016-12 + - tag: package-resources-2020-06 - tag: package-resources-2019-08 - tag: package-resources-2019-07 - tag: package-resources-2019-0510 @@ -189,6 +190,19 @@ directive: transform: $['x-ms-client-name'] = 'scopeProperty' ``` +### Tag: package-resources-2020-06 and java + +These settings apply only when `--tag=package-resources-2020-06 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-resources-2020-06' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.resources.v2020_06_01 + output-folder: $(azure-libraries-for-java-folder)/resources/resource-manager/v2020_06_01 +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-resources-2019-08 and java These settings apply only when `--tag=package-resources-2019-08 --java` is specified on the command line. diff --git a/specification/resources/resource-manager/readme.md b/specification/resources/resource-manager/readme.md index 32aea908a345..7ae41c1ac69c 100644 --- a/specification/resources/resource-manager/readme.md +++ b/specification/resources/resource-manager/readme.md @@ -41,7 +41,7 @@ tag: package-policy-2019-09 ``` ``` yaml $(package-resources) -tag: package-resources-2019-10 +tag: package-resources-2020-06 ``` ``` yaml $(package-subscriptions) @@ -60,6 +60,19 @@ tag: package-managedapplications-2018-06 tag: package-deploymentscripts-2019-10-preview ``` +``` yaml $(package-templatespecs) +tag: package-templatespecs-2019-06-preview +``` + +### 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 +``` + ### Tag: package-subscriptions-2020-01 These settings apply only when `--tag=package-subscriptions-2020-01` is specified on the command line. @@ -209,6 +222,15 @@ override-info: title: PolicyClient ``` +### Tag: package-templatespecs-2019-06-preview + +These settings apply only when `--tag=package-templatespecs-2019-06-preview` is specified on the command line. + +``` yaml $(tag) == 'package-templatespecs-2019-06-preview' +input-file: +- Microsoft.Resources/preview/2019-06-01-preview/templateSpecs.json +``` + ### Tag: package-policy-2016-12 These settings apply only when `--tag=package-policy-2016-12` is specified on the command line. @@ -551,6 +573,26 @@ directive: - $.definitions.AzureCliScript.properties - $.definitions.AzurePowerShellScript.properties reason: Currently systemData is not allowed + - suppress: OperationsAPIImplementation + from: templateSpecs.json + where: $.paths + reason: OperationsAPI will come from Resources + - suppress: R3006 #BodyTopLevelProperties + from: templateSpecs.json + where: + - $.definitions.TemplateSpecModel.properties + - $.definitions.TemplateSpecVersionModel.properties + - $.definitions.TemplateSpecUpdateModel.properties + - $.definitions.TemplateSpecVersionUpdateModel.properties + reason: Currently systemData is not allowed + - suppress: TrackedResourceListByImmediateParent + from: templateSpecs.json + where: $.definitions + reason: Tooling issue + - suppress: TrackedResourceListByResourceGroup + from: templateSpecs.json + where: $.definitions.TemplateSpecVersionModel + reason: Tooling issue ``` --- @@ -574,6 +616,7 @@ swagger-to-sdk: - python ./scripts/multiapi_init_gen.py azure-mgmt-resource#subscriptions - python ./scripts/multiapi_init_gen.py azure-mgmt-resource#links - python ./scripts/multiapi_init_gen.py azure-mgmt-resource#deploymentscripts + - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go - repo: azure-sdk-for-node @@ -602,6 +645,7 @@ batch: - package-links: true - package-managedapplications: true - package-deploymentscripts: true + - package-templatespecs: true ``` ### Tag: profile-hybrid-2019-03-01 diff --git a/specification/resources/resource-manager/readme.python.md b/specification/resources/resource-manager/readme.python.md index e000118f5bbd..709ec28a6bf9 100644 --- a/specification/resources/resource-manager/readme.python.md +++ b/specification/resources/resource-manager/readme.python.md @@ -41,6 +41,7 @@ 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-08 - tag: package-resources-2019-07 @@ -63,9 +64,12 @@ batch: clear-output-folder: true batch: - tag: package-features-2015-12 + - multiapiscript-features: true - tag: package-links-2016-09 + - multiapiscript-links: true - tag: package-locks-2016-09 - tag: package-locks-2015-01 + - multiapiscript-locks: true - tag: package-managedapplications-2018-06 - tag: package-policy-2019-09 - tag: package-policy-2019-06 @@ -76,6 +80,8 @@ batch: - tag: package-policy-2016-12 - tag: package-policy-2016-04 - tag: package-policy-2015-10 + - multiapiscript-policy: true + - tag: package-resources-2020-06 - tag: package-resources-2019-10 - tag: package-resources-2019-08 - tag: package-resources-2019-07 @@ -87,16 +93,61 @@ batch: - tag: package-resources-2017-05 - tag: package-resources-2016-09 - tag: package-resources-2016-02 + - multiapiscript-resources: true - tag: package-subscriptions-2019-11 - tag: package-subscriptions-2019-06 - tag: package-subscriptions-2018-06 - tag: package-subscriptions-2016-06 + - multiapiscript-subscriptions: true - tag: package-deploymentscripts-2019-10-preview - - multiapiscript: true + - multiapiscript-deploymentscripts: true ``` -``` yaml $(multiapiscript) -output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/ +```yaml $(multiapiscript-features) +multiapiscript: true +output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/features +clear-output-folder: false +perform-load: false +``` + +```yaml $(multiapiscript-policy) +multiapiscript: true +output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/policy +clear-output-folder: false +perform-load: false +``` + +```yaml $(multiapiscript-resources) +multiapiscript: true +output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/resources +clear-output-folder: false +perform-load: false +``` + +```yaml $(multiapiscript-subscriptions) +multiapiscript: true +output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/subscriptions +clear-output-folder: false +perform-load: false +``` + +```yaml $(multiapiscript-deploymentscripts) +multiapiscript: true +output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/deploymentscripts +clear-output-folder: false +perform-load: false +``` + +```yaml $(multiapiscript-locks) +multiapiscript: true +output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/locks +clear-output-folder: false +perform-load: false +``` + +```yaml $(multiapiscript-links) +multiapiscript: true +output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/links clear-output-folder: false perform-load: false ``` @@ -283,6 +334,19 @@ python: output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview ``` +### Tag: package-resources-2020-06 and python + +These settings apply only when `--tag=package-resources-2020-06 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-resources-2020-06' +namespace: azure.mgmt.resource.resources.v2020_06_01 +output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/resources/v2020_06_01 +python: + namespace: azure.mgmt.resource.resources.v2020_06_01 + output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/resources/v2020_06_01 +``` + ### Tag: package-resources-2019-10 and python These settings apply only when `--tag=package-resources-2019-10 --python` is specified on the command line. 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/search/data-plane/Azure.Search/preview/2019-05-06-preview/searchservice.json b/specification/search/data-plane/Azure.Search/preview/2019-05-06-preview/searchservice.json index d41c4f4d31dc..c2a69aac29b9 100644 --- a/specification/search/data-plane/Azure.Search/preview/2019-05-06-preview/searchservice.json +++ b/specification/search/data-plane/Azure.Search/preview/2019-05-06-preview/searchservice.json @@ -6830,7 +6830,6 @@ }, "required": [ "name", - "description", "skills" ], "externalDocs": { @@ -7016,10 +7015,6 @@ } ], "properties": { - "textExtractionAlgorithm": { - "$ref": "#/definitions/TextExtractionAlgorithm", - "description": "A value indicating which algorithm to use for extracting text. Default is printed." - }, "defaultLanguageCode": { "$ref": "#/definitions/OcrSkillLanguage", "description": "A value indicating which language code to use. Default is en." @@ -7301,30 +7296,6 @@ ], "description": "Response from a list skillset request. If successful, it includes the full definitions of all skillsets." }, - "TextExtractionAlgorithm": { - "type": "string", - "enum": [ - "printed", - "handwritten" - ], - "x-ms-enum": { - "name": "TextExtractionAlgorithm", - "modelAsString": false, - "values": [ - { - "value": "printed", - "name": "Printed", - "description": "An algorithm suitable for printed text." - }, - { - "value": "handwritten", - "name": "Handwritten", - "description": "An algorithm suitable for handwritten text." - } - ] - }, - "description": "A value indicating which algorithm to use. Default is printed." - }, "TextSplitMode": { "type": "string", "enum": [ @@ -7333,7 +7304,7 @@ ], "x-ms-enum": { "name": "TextSplitMode", - "modelAsString": false, + "modelAsString": true, "values": [ { "value": "pages", @@ -7362,7 +7333,7 @@ ], "x-ms-enum": { "name": "VisualFeature", - "modelAsString": false, + "modelAsString": true, "values": [ { "value": "adult", @@ -7411,7 +7382,7 @@ ], "x-ms-enum": { "name": "ImageDetail", - "modelAsString": false, + "modelAsString": true, "values": [ { "value": "celebrities", @@ -7440,7 +7411,7 @@ ], "x-ms-enum": { "name": "EntityCategory", - "modelAsString": false, + "modelAsString": true, "values": [ { "value": "location", diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2019-05-06-preview/examples/SearchIndexSearchDocumentsGet.json b/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2019-05-06-preview/examples/SearchIndexSearchDocumentsGet.json index d3eff019e3ac..e28054126c8e 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2019-05-06-preview/examples/SearchIndexSearchDocumentsGet.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2019-05-06-preview/examples/SearchIndexSearchDocumentsGet.json @@ -21,7 +21,6 @@ ], "queryType": "simple", "sessionId": "mysessionid", - "featuresMode": "enabled", "scoringStatistics": "global", "scoringParameters": [ "currentLocation--122.123,44.77233" @@ -77,16 +76,6 @@ "Fancy Hotel" ] }, - "@search.features": { - "description": { - "uniqueTokenMatches": 1.0, - "similarityScore": 0.023745812 - }, - "title": { - "uniqueTokenMatches": 1.0, - "similarityScore": 0.016049799 - } - }, "description": "Best hotel in town", "docId": "2", "title": "Fancy Hotel" diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2019-05-06-preview/examples/SearchIndexSearchDocumentsPost.json b/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2019-05-06-preview/examples/SearchIndexSearchDocumentsPost.json index c95e8c51acd2..b834f10417f1 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2019-05-06-preview/examples/SearchIndexSearchDocumentsPost.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2019-05-06-preview/examples/SearchIndexSearchDocumentsPost.json @@ -24,7 +24,6 @@ "searchFields": "title,description", "searchMode": "any", "sessionId": "mysessionid", - "featuresMode": "enabled", "scoringStatistics": "global", "select": "docId,title,description", "skip": 0, @@ -60,7 +59,6 @@ "orderby": "search.score() desc,rating desc", "queryType": "simple", "sessionId": "mysessionid", - "featuresMode": "enabled", "scoringStatistics": "global", "scoringParameters": [ "currentLocation--122.123,44.77233" @@ -92,16 +90,6 @@ "Fancy Hotel" ] }, - "@search.features": { - "description": { - "uniqueTokenMatches": 1.0, - "similarityScore": 0.023745812 - }, - "title": { - "uniqueTokenMatches": 1.0, - "similarityScore": 0.016049799 - } - }, "description": "Best hotel in town", "docId": "2", "title": "Fancy Hotel" diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2019-05-06-preview/searchindex.json b/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2019-05-06-preview/searchindex.json index 073df28cd754..e785feeed67d 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2019-05-06-preview/searchindex.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2019-05-06-preview/searchindex.json @@ -248,24 +248,6 @@ "name": "SearchParameters" } }, - { - "name": "featuresMode", - "in": "query", - "type": "string", - "enum": [ - "disabled", - "enabled" - ], - "x-ms-enum": { - "name": "FeaturesMode", - "modelAsString": false - }, - "x-nullable": false, - "description": "A value that specifies whether the results should include scoring features such as per field similarity.", - "x-ms-parameter-grouping": { - "name": "SearchParameters" - } - }, { "name": "scoringStatistics", "in": "query", @@ -902,27 +884,6 @@ "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." }, - "SearchFeatures": { - "properties": { - "uniqueTokenMatches": { - "type": "number", - "readOnly": true, - "format": "double", - "description": "The number of unique tokens from the search query that matched this field." - }, - "similarityScore": { - "type": "number", - "readOnly": true, - "format": "double", - "description": "The similarity score computed between the search query and this field." - } - }, - "required": [ - "uniqueTokenMatches", - "similarityScore" - ], - "description": "A list of features describing the scoring of a specific field against the search query." - }, "DocumentSearchResult": { "properties": { "@odata.count": { @@ -996,15 +957,6 @@ "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." - }, - "@search.features": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/SearchFeatures" - }, - "readOnly": true, - "x-ms-client-name": "Features", - "description": "description for the feature" } }, "additionalProperties": true, @@ -1114,18 +1066,6 @@ }, "description": "Specifies the syntax of the search query. The default is 'simple'. Use 'full' if your query uses the Lucene query syntax." }, - "FeaturesMode": { - "type": "string", - "enum": [ - "disabled", - "enabled" - ], - "x-ms-enum": { - "name": "FeaturesMode", - "modelAsString": false - }, - "description": "A value that specifies whether the results should include scoring features, such as per field similarity. The default is 'disabled'. Use 'enabled' to expose additional scoring features." - }, "ScoringStatistics": { "type": "string", "enum": [ @@ -1202,10 +1142,6 @@ "$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." }, - "featuresMode": { - "$ref": "#/definitions/FeaturesMode", - "description": "A value that specifies whether the results should include scoring features, such as per field similarity. The default is 'disabled'. Use 'enabled' to expose additional scoring features." - }, "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." 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 index ef0592e7e14f..9a595ad24cd6 100644 --- 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 @@ -6,7 +6,6 @@ "subscriptionId": "subid", "sharedPrivateLinkResourceName": "testResource", "sharedPrivateLinkResource": { - "name": "testResource", "properties": { "requestMessage": "please approve", "groupId": "blob", diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/UpdatePrivateEndpointConnection.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/UpdatePrivateEndpointConnection.json index 00290d4e4d54..6aaee4ae003f 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/UpdatePrivateEndpointConnection.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/UpdatePrivateEndpointConnection.json @@ -6,7 +6,6 @@ "subscriptionId": "subid", "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "privateEndpointConnection": { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", "properties": { "privateLinkServiceConnectionState": { "status": "Rejected", 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 3d29a817eecc..4fe1afbaa3af 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 @@ -1293,6 +1293,11 @@ "$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.", @@ -1324,8 +1329,10 @@ } }, "PrivateEndpointConnection": { + "x-ms-azure-resource": true, "properties": { "id": { + "readOnly": true, "type": "string", "description": "The ID of the private endpoint connection. This can be used with the Azure Resource Manager to link resources together.", "externalDocs": { @@ -1425,20 +1432,37 @@ "$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": { + "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." @@ -1738,6 +1762,11 @@ "$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.", diff --git a/specification/search/resource-manager/readme.md b/specification/search/resource-manager/readme.md index 2013e0992ec4..ea9072326d03 100644 --- a/specification/search/resource-manager/readme.md +++ b/specification/search/resource-manager/readme.md @@ -26,7 +26,7 @@ These are the global settings for the SearchManagementClient API. ``` yaml openapi-type: arm -tag: package-2015-08 +tag: package-2020-03 ``` ### Tag: package-2020-03 diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/alertsSuppressionRules.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/alertsSuppressionRules.json new file mode 100644 index 000000000000..87b002a47d20 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/alertsSuppressionRules.json @@ -0,0 +1,337 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2019-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/alertsSuppressionRules": { + "get": { + "x-ms-examples": { + "Get suppression rules for subscription": { + "$ref": "./examples/AlertsSuppressionRules/GetAlertsSuppressionRules_example.json" + }, + "Get suppression alert rule for subscription, filtered by AlertType": { + "$ref": "./examples/AlertsSuppressionRules/GetAlertsSuppressionRulesWithAlertType_example.json" + } + }, + "tags": [ + "AlertsSuppressionRules" + ], + "description": "List of all the dismiss rules for the given subscription", + "operationId": "AlertsSuppressionRules_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/AlertType" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertsSuppressionRulesList" + } + }, + "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/alertsSuppressionRules/{alertsSuppressionRuleName}": { + "get": { + "x-ms-examples": { + "Get suppression alert rule for subscription": { + "$ref": "./examples/AlertsSuppressionRules/GetAlertsSuppressionRule_example.json" + } + }, + "tags": [ + "AlertsSuppressionRules" + ], + "description": "Get dismiss rule, with name: {alertsSuppressionRuleName}, for the given subscription", + "operationId": "AlertsSuppressionRules_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/AlertsSuppressionRuleName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertsSuppressionRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Update or create suppression rule for subscription": { + "$ref": "./examples/AlertsSuppressionRules/PutAlertsSuppressionRule_example.json" + } + }, + "tags": [ + "AlertsSuppressionRules" + ], + "description": "Update existing rule or create new rule if it doesn't exist", + "operationId": "AlertsSuppressionRules_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/AlertsSuppressionRuleName" + }, + { + "$ref": "#/parameters/AlertsSuppressionRule" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertsSuppressionRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete suppression rule data for a subscription": { + "$ref": "./examples/AlertsSuppressionRules/DeleteAlertsSuppressionRule_example.json" + } + }, + "tags": [ + "AlertsSuppressionRules" + ], + "description": "Delete dismiss alert rule for this subscription.", + "operationId": "AlertsSuppressionRules_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/AlertsSuppressionRuleName" + } + ], + "responses": { + "204": { + "description": "OK, No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "AlertsSuppressionRulesList": { + "type": "object", + "description": "Suppression rules list for subscription.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AlertsSuppressionRule" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "URI to fetch the next page." + } + }, + "required": [ + "value" + ] + }, + "AlertsSuppressionRule": { + "type": "object", + "description": "Describes the suppression rule", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AlertsSuppressionRuleProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "AlertsSuppressionRuleProperties": { + "type": "object", + "description": "describes AlertsSuppressionRule properties", + "properties": { + "alertType": { + "type": "string", + "description": "Type of the alert to automatically suppress. For all alert types, use '*'" + }, + "lastModifiedUtc": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The last time this rule was modified" + }, + "expirationDateUtc": { + "type": "string", + "format": "date-time", + "description": "Expiration date of the rule, if value is not provided or provided as null this field will default to the maximum allowed expiration date." + }, + "reason": { + "type": "string", + "description": "The reason for dismissing the alert" + }, + "state": { + "type": "string", + "description": "Possible states of the rule", + "x-ms-enum": { + "name": "RuleState" + }, + "enum": [ + "Enabled", + "Disabled", + "Expired" + ] + }, + "comment": { + "type": "string", + "description": "Any comment regarding the rule" + }, + "suppressionAlertsScope": { + "type": "object", + "description": "The suppression conditions", + "$ref": "#/definitions/SuppressionAlertsScope" + } + }, + "required": [ + "alertType", + "reason", + "state" + ] + }, + "ScopeElement": { + "type": "object", + "additionalProperties": true, + "description": "A more specific scope used to identify the alerts to suppress.", + "properties": { + "field": { + "type": "string", + "description": "The alert entity type to suppress by." + } + } + }, + "SuppressionAlertsScope": { + "type": "object", + "properties": { + "allOf": { + "type": "array", + "description": "All the conditions inside need to be true in order to suppress the alert", + "items": { + "$ref": "#/definitions/ScopeElement" + } + } + }, + "required": [ + "allOf" + ] + } + }, + "parameters": { + "AlertType": { + "name": "AlertType", + "in": "query", + "type": "string", + "description": "Type of the alert to get rules for", + "x-ms-parameter-location": "method" + }, + "AlertsSuppressionRule": { + "name": "alertsSuppressionRule", + "in": "body", + "required": true, + "description": "Suppression rule object", + "schema": { + "$ref": "#/definitions/AlertsSuppressionRule" + }, + "x-ms-parameter-location": "method" + }, + "AlertsSuppressionRuleName": { + "name": "alertsSuppressionRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The unique name of the suppression alert rule", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AlertsSuppressionRules/DeleteAlertsSuppressionRule_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AlertsSuppressionRules/DeleteAlertsSuppressionRule_example.json new file mode 100644 index 000000000000..d8663e727d45 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AlertsSuppressionRules/DeleteAlertsSuppressionRule_example.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "alertsSuppressionRuleName": "dismissIpAnomalyAlerts" + }, + "responses": { + "204": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AlertsSuppressionRules/GetAlertsSuppressionRule_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AlertsSuppressionRules/GetAlertsSuppressionRule_example.json new file mode 100644 index 000000000000..67228151c5fa --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AlertsSuppressionRules/GetAlertsSuppressionRule_example.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "alertsSuppressionRuleName": "dismissIpAnomalyAlerts" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/alertsSuppressionRules/dismissIpAnomalyAlerts", + "name": "dismissIpAnomalyAlerts", + "type": "Microsoft.Security/alertsSuppressionRules", + "properties": { + "alertType": "IpAnomaly", + "lastModifiedUtc": "2019-07-31T19:50:47.083633Z", + "expirationDateUtc": "2019-12-01T19:50:47.083633Z", + "state": "Enabled", + "reason": "FalsePositive", + "comment": "Test VM", + "suppressionAlertsScope": { + "allOf": [ + { + "field": "entities.ip.address", + "in": [ + "104.215.95.187", + "52.164.206.56" + ] + }, + { + "field": "entities.process.commandline", + "contains": "POWERSHELL.EXE" + } + ] + } + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AlertsSuppressionRules/GetAlertsSuppressionRulesWithAlertType_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AlertsSuppressionRules/GetAlertsSuppressionRulesWithAlertType_example.json new file mode 100644 index 000000000000..a12282315400 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AlertsSuppressionRules/GetAlertsSuppressionRulesWithAlertType_example.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "alertType": "IpAnomaly" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/alertsSuppressionRules/dismissIpAnomalyAlerts", + "name": "dismissIpAnomalyAlerts", + "type": "Microsoft.Security/alertsSuppressionRules", + "properties": { + "alertType": "IpAnomaly", + "lastModifiedUtc": "2019-07-31T19:50:47.083633Z", + "expirationDateUtc": "2019-12-01T19:50:47.083633Z", + "state": "Enabled", + "reason": "FalsePositive", + "comment": "Test VM", + "suppressionAlertsScope": { + "allOf": [ + { + "field": "entities.ip.address", + "in": [ + "104.215.95.187", + "52.164.206.56" + ] + }, + { + "field": "entities.process.commandline", + "contains": "POWERSHELL.EXE" + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AlertsSuppressionRules/GetAlertsSuppressionRules_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AlertsSuppressionRules/GetAlertsSuppressionRules_example.json new file mode 100644 index 000000000000..493b914255bf --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AlertsSuppressionRules/GetAlertsSuppressionRules_example.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/alertsSuppressionRules/dismissIpAnomalyAlerts", + "name": "dismissIpAnomalyAlerts", + "type": "Microsoft.Security/alertsSuppressionRules", + "properties": { + "alertType": "IpAnomaly", + "lastModifiedUtc": "2019-07-31T19:50:47.083633Z", + "expirationDateUtc": "2019-12-01T19:50:47.083633Z", + "state": "Enabled", + "reason": "FalsePositive", + "comment": "Test VM", + "suppressionAlertsScope": { + "allOf": [ + { + "field": "entities.ip.address", + "in": [ + "104.215.95.187", + "52.164.206.56" + ] + }, + { + "field": "entities.process.commandline", + "contains": "POWERSHELL.EXE" + } + ] + } + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/alertsSuppressionRules/dismissDataExfiltrationAnomalyAlertsOnTestVMs", + "name": "dismissDataExfiltrationAnomalyAlertsOnTestVMs", + "type": "Microsoft.Security/alertsSuppressionRules", + "properties": { + "alertType": "DataExfiltrationAnomaly", + "lastModifiedUtc": "2019-07-31T19:50:47.083633Z", + "expirationDateUtc": "2019-12-01T19:50:47.083633Z", + "state": "Enabled", + "reason": "FalsePositive" + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AlertsSuppressionRules/PutAlertsSuppressionRule_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AlertsSuppressionRules/PutAlertsSuppressionRule_example.json new file mode 100644 index 000000000000..efd66de8a29d --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AlertsSuppressionRules/PutAlertsSuppressionRule_example.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "alertsSuppressionRuleName": "dismissIpAnomalyAlerts", + "alertsSuppressionRule": { + "properties": { + "alertType": "IpAnomaly", + "expirationDateUtc": "2019-12-01T19:50:47.083633Z", + "state": "Enabled", + "reason": "FalsePositive", + "comment": "Test VM", + "suppressionAlertsScope": { + "allOf": [ + { + "field": "entities.ip.address", + "in": [ + "104.215.95.187", + "52.164.206.56" + ] + }, + { + "field": "entities.process.commandline", + "contains": "POWERSHELL.EXE" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/alertsSuppressionRules/dismissIpAnomalyAlerts", + "name": "dismissIpAnomalyAlerts", + "type": "Microsoft.Security/alertsSuppressionRules", + "properties": { + "alertType": "IpAnomaly", + "lastModifiedUtc": "2019-07-31T19:50:47.083633Z", + "expirationDateUtc": "2019-12-01T19:50:47.083633Z", + "state": "Enabled", + "reason": "FalsePositive", + "comment": "Test VM", + "suppressionAlertsScope": { + "allOf": [ + { + "field": "entities.ip.address", + "in": [ + "104.215.95.187", + "52.164.206.56" + ] + }, + { + "field": "entities.process.commandline", + "contains": "POWERSHELL.EXE" + } + ] + } + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScoreControlDefinitions/ListSecureScoreControlDefinitions_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScoreControlDefinitions/ListSecureScoreControlDefinitions_example.json new file mode 100644 index 000000000000..6556847ce39e --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScoreControlDefinitions/ListSecureScoreControlDefinitions_example.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Security/SecureScoreControlDefinitions/a9909064-42b4-4d34-8143-275477afe18b", + "name": "a9909064-42b4-4d34-8143-275477afe18b", + "type": "Microsoft.Security/SecureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Protect applications against DDoS attacks", + "description": "This control contains recommendations regarding DDoS attack prevention", + "maxScore": 2, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e3de1cc0-f4dd-3b34-e496-8b5381ba2d70" + } + ] + } + }, + { + "id": "/providers/Microsoft.Security/SecureScoreControlDefinitions/a000c66f-6da2-4f9d-826d-2364347d2588", + "name": "a000c66f-6da2-4f9d-826d-2364347d2588", + "type": "Microsoft.Security/SecureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Apply adaptive application control", + "description": "This control contains recommendations regarding enabling adaptive application control", + "maxScore": 3, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/35f45c95-27cf-4e52-891f-8390d1de5828" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/d1db3318-01ff-16de-29eb-28b344515626" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e7ee30c4-bac9-2966-54bd-2023a4282872" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8e2b96ff-3de2-289b-b5c1-3b9921a3441e" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScoreControlDefinitions/ListSecureScoreControlDefinitions_subscription_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScoreControlDefinitions/ListSecureScoreControlDefinitions_subscription_example.json new file mode 100644 index 000000000000..899b522bce20 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScoreControlDefinitions/ListSecureScoreControlDefinitions_subscription_example.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Security/SecureScoreControlDefinitions/a9909064-42b4-4d34-8143-275477afe18b", + "name": "a9909064-42b4-4d34-8143-275477afe18b", + "type": "Microsoft.Security/SecureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Protect applications against DDoS attacks", + "description": "This control contains recommendations regarding DDoS attack prevention", + "maxScore": 2, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e3de1cc0-f4dd-3b34-e496-8b5381ba2d70" + } + ] + } + }, + { + "id": "/providers/Microsoft.Security/SecureScoreControlDefinitions/34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "name": "34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "type": "Microsoft.Security/SecureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Enable MFA", + "description": "This control contains recommendations regarding MFA", + "maxScore": 10, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/151e82c5-5341-a74b-1eb0-bc38d2c84bb5" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/57e98606-6b1e-6193-0e3d-fe621387c16b" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/94290b00-4d0c-d7b4-7cea-064a9554e681" + } + ] + } + }, + { + "id": "/providers/Microsoft.Security/SecureScoreControlDefinitions/a000c66f-6da2-4f9d-826d-2364347d2588", + "name": "a000c66f-6da2-4f9d-826d-2364347d2588", + "type": "Microsoft.Security/SecureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Apply adaptive application control", + "description": "This control contains recommendations regarding enabling adaptive application control", + "maxScore": 3, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/35f45c95-27cf-4e52-891f-8390d1de5828" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/d1db3318-01ff-16de-29eb-28b344515626" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e7ee30c4-bac9-2966-54bd-2023a4282872" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8e2b96ff-3de2-289b-b5c1-3b9921a3441e" + } + ] + } + } + ] + } + } + } +} 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 new file mode 100644 index 000000000000..58c0d683cb8c --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/GetSecureScoresSingle_example.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "secureScoreName": "ascScore" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore", + "name": "ascScore", + "type": "Microsoft.Security/secureScores", + "properties": { + "displayName": "ASC score", + "score": { + "max": 13, + "current": 3 + } + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControlsForNameWithExpand_builtin_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControlsForNameWithExpand_builtin_example.json new file mode 100644 index 000000000000..99b0d5df2e2e --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControlsForNameWithExpand_builtin_example.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "secureScoreName": "ascScore", + "$expand": "definition" + }, + "responses": { + "200": { + "parameters": { + "secureScoreName": "ascScore" + }, + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/SecureScoreControls/a9909064-42b4-4d34-8143-275477afe18b", + "name": "a9909064-42b4-4d34-8143-275477afe18b", + "type": "Microsoft.Security/secureScoreControls", + "properties": { + "displayName": "Protect applications against DDoS attacks", + "healthyResourceCount": 0, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 10, + "score": { + "max": 0, + "current": 0 + }, + "definition": { + "id": "/providers/Microsoft.Security/SecureScoreControlDefinitions/a9909064-42b4-4d34-8143-275477afe18b", + "name": "a9909064-42b4-4d34-8143-275477afe18b", + "type": "Microsoft.Security/SecureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Protect applications against DDoS attacks", + "description": "This control contains recommendations regarding DDoS attack prevention", + "maxScore": 2, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e3de1cc0-f4dd-3b34-e496-8b5381ba2d70" + } + ] + } + } + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/SecureScoreControls/34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "name": "34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "type": "Microsoft.Security/SecureScoreControls", + "properties": { + "displayName": "Enable MFA", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 10, + "current": 0 + }, + "definition": { + "id": "/providers/Microsoft.Security/SecureScoreControlDefinitions/34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "name": "34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "type": "Microsoft.Security/SecureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Enable MFA", + "description": "This control contains recommendations regarding MFA", + "maxScore": 10, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/151e82c5-5341-a74b-1eb0-bc38d2c84bb5" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/57e98606-6b1e-6193-0e3d-fe621387c16b" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/94290b00-4d0c-d7b4-7cea-064a9554e681" + } + ] + } + } + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/SecureScoreControls/a000c66f-6da2-4f9d-826d-2364347d2588", + "name": "a000c66f-6da2-4f9d-826d-2364347d2588", + "type": "Microsoft.Security/SecureScoreControls", + "properties": { + "displayName": "Apply adaptive application control", + "healthyResourceCount": 20, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 10, + "score": { + "max": 3, + "current": 3 + }, + "definition": { + "id": "/providers/Microsoft.Security/SecureScoreControlDefinitions/a000c66f-6da2-4f9d-826d-2364347d2588", + "name": "a000c66f-6da2-4f9d-826d-2364347d2588", + "type": "Microsoft.Security/SecureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Apply adaptive application control", + "description": "This control contains recommendations regarding enabling adaptive application control", + "maxScore": 3, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/35f45c95-27cf-4e52-891f-8390d1de5828" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/d1db3318-01ff-16de-29eb-28b344515626" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e7ee30c4-bac9-2966-54bd-2023a4282872" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8e2b96ff-3de2-289b-b5c1-3b9921a3441e" + } + ] + } + } + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControlsForName_builtin_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControlsForName_builtin_example.json new file mode 100644 index 000000000000..aae8856966ea --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControlsForName_builtin_example.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "secureScoreName": "ascScore" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/SecureScoreControls/a9909064-42b4-4d34-8143-275477afe18b", + "name": "a9909064-42b4-4d34-8143-275477afe18b", + "type": "Microsoft.Security/SecureScoreControls", + "properties": { + "displayName": "Protect applications against DDoS attacks", + "healthyResourceCount": 0, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 10, + "score": { + "max": 0, + "current": 0 + } + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/SecureScoreControls/34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "name": "34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "type": "Microsoft.Security/SecureScoreControls", + "properties": { + "displayName": "Enable MFA", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 10, + "current": 0 + } + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/SecureScoreControls/a000c66f-6da2-4f9d-826d-2364347d2588", + "name": "a000c66f-6da2-4f9d-826d-2364347d2588", + "type": "Microsoft.Security/SecureScoreControls", + "properties": { + "displayName": "Apply adaptive application control", + "healthyResourceCount": 20, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 10, + "score": { + "max": 3, + "current": 3 + } + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControls_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControls_example.json new file mode 100644 index 000000000000..c3c4542a72f3 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControls_example.json @@ -0,0 +1,59 @@ +{ + "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/SecureScoreControls/a9909064-42b4-4d34-8143-275477afe18b", + "name": "a9909064-42b4-4d34-8143-275477afe18b", + "type": "Microsoft.Security/SecureScoreControls", + "properties": { + "displayName": "Protect applications against DDoS attacks", + "healthyResourceCount": 0, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 10, + "score": { + "max": 0, + "current": 0 + } + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/SecureScoreControls/34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "name": "34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "type": "Microsoft.Security/SecureScoreControls", + "properties": { + "displayName": "Enable MFA", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 10, + "current": 0 + } + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/SecureScoreControls/a000c66f-6da2-4f9d-826d-2364347d2588", + "name": "a000c66f-6da2-4f9d-826d-2364347d2588", + "type": "Microsoft.Security/SecureScoreControls", + "properties": { + "displayName": "Apply adaptive application control", + "healthyResourceCount": 20, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 10, + "score": { + "max": 3, + "current": 3 + } + } + } + ] + } + } + } +} 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 new file mode 100644 index 000000000000..c9fc267708c1 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScores_example.json @@ -0,0 +1,26 @@ +{ + "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/secureScores/ascScore", + "name": "ascScore", + "type": "Microsoft.Security/secureScores", + "properties": { + "displayName": "ASC score", + "score": { + "max": 13, + "current": 3.5 + } + } + } + ] + } + } + } +} 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 new file mode 100644 index 000000000000..3e742573ba4f --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/secureScore.json @@ -0,0 +1,586 @@ +{ + "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/secureScores": { + "get": { + "x-ms-examples": { + "List secure scores": { + "$ref": "./examples/secureScores/ListSecureScores_example.json" + } + }, + "tags": [ + "Secure Score" + ], + "description": "List secure scores for all your Security Center initiatives within your current scope.", + "operationId": "SecureScores_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecureScoresList" + } + }, + "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/secureScores/{secureScoreName}": { + "get": { + "x-ms-examples": { + "Get single secure score": { + "$ref": "./examples/secureScores/GetSecureScoresSingle_example.json" + } + }, + "tags": [ + "Secure Score" + ], + "description": "Get secure score for a specific Security Center initiative within your current scope. For the ASC Default initiative, use 'ascScore'.", + "operationId": "SecureScores_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/secureScoreName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecureScoreItem" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/secureScores/{secureScoreName}/secureScoreControls": { + "get": { + "x-ms-examples": { + "Get security controls and their current score for the specified initiative": { + "$ref": "./examples/secureScores/ListSecureScoreControlsForName_builtin_example.json" + }, + "Get security controls and their current score for the specified initiative with the expand parameter": { + "$ref": "./examples/secureScores/ListSecureScoreControlsForNameWithExpand_builtin_example.json" + } + }, + "tags": [ + "Secure Score" + ], + "description": "Get all security controls for a specific initiative within a scope", + "operationId": "SecureScoreControls_ListBySecureScore", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/secureScoreName" + }, + { + "$ref": "#/parameters/ExpandControlsDefinition" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecureScoreControlList" + } + }, + "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/secureScoreControls": { + "get": { + "x-ms-examples": { + "List all secure scores controls": { + "$ref": "./examples/secureScores/ListSecureScoreControls_example.json" + } + }, + "tags": [ + "Secure Score Controls" + ], + "description": "Get all security controls within a scope", + "operationId": "SecureScoreControls_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ExpandControlsDefinition" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecureScoreControlList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Security/secureScoreControlDefinitions": { + "get": { + "x-ms-examples": { + "List security controls definition": { + "$ref": "./examples/secureScoreControlDefinitions/ListSecureScoreControlDefinitions_example.json" + } + }, + "tags": [ + "Secure Score Control Definitions" + ], + "description": "List the available security controls, their assessments, and the max score", + "operationId": "SecureScoreControlDefinitions_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/secureScoreControlDefinitionList" + } + }, + "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/secureScoreControlDefinitions": { + "get": { + "x-ms-examples": { + "List security controls definition by subscription": { + "$ref": "./examples/secureScoreControlDefinitions/ListSecureScoreControlDefinitions_subscription_example.json" + } + }, + "tags": [ + "Secure Score Control Definitions" + ], + "description": "For a specified subscription, list the available security controls, their assessments, and the max score", + "operationId": "SecureScoreControlDefinitions_ListBySubscription", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/secureScoreControlDefinitionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "SecureScoresList": { + "type": "object", + "description": "List of secure scores", + "properties": { + "value": { + "description": "Collection of secure scores in this page", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SecureScoreItem" + } + }, + "nextLink": { + "description": "The URI to fetch the next page.", + "readOnly": true, + "type": "string" + } + } + }, + "SecureScoreItem": { + "description": "Secure score item data model", + "readOnly": true, + "type": "object", + "properties": { + "properties": { + "description": "Secure score item", + "readOnly": true, + "x-ms-client-flatten": true, + "$ref": "#/definitions/SecureScoreItemProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "SecureScoreItemProperties": { + "description": "Describes properties of a calculated secure score.", + "readOnly": true, + "type": "object", + "properties": { + "displayName": { + "description": "The initiative’s name", + "readOnly": true, + "type": "string" + }, + "score": { + "description": "score object", + "readOnly": true, + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScoreDetails" + } + } + }, + "ScoreDetails": { + "description": "Calculation result data", + "readOnly": true, + "type": "object", + "properties": { + "max": { + "description": "Maximum score available", + "readOnly": true, + "type": "integer", + "format": "int32", + "minimum": 0, + "exclusiveMinimum": false + }, + "current": { + "description": "Current score", + "readOnly": true, + "type": "number", + "format": "double", + "minimum": 0.00, + "exclusiveMinimum": false + } + } + }, + "SecureScoreControlScore": { + "description": "Calculation result data", + "type": "object", + "properties": { + "max": { + "description": "Maximum control score (0..10)", + "readOnly": true, + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 10, + "exclusiveMinimum": false + }, + "current": { + "description": "Actual score for the control = (achieved points / total points) * max score. if total points is zeroed, the return number is 0.00", + "readOnly": true, + "type": "number", + "format": "double", + "minimum": 0.00, + "maximum": 10.00, + "exclusiveMinimum": false + } + } + }, + "SecureScoreControlList": { + "description": "List of security controls", + "type": "object", + "properties": { + "value": { + "description": "Collection of security controls in this page", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SecureScoreControlDetails" + } + }, + "nextLink": { + "description": "The URI to fetch the next page.", + "readOnly": true, + "type": "string" + } + } + }, + "SecureScoreControlDetails": { + "description": "Details of the security control, its score, and the health status of the relevant resources.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SecureScoreControlScoreDetails" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "SecureScoreControlScoreDetails": { + "description": "Calculation result data in control level", + "type": "object", + "properties": { + "displayName": { + "description": "User friendly display name of the control", + "readOnly": true, + "type": "string" + }, + "score": { + "description": "Actual score object for the control", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScoreDetails" + }, + "healthyResourceCount": { + "description": "Number of healthy resources in the control", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "unhealthyResourceCount": { + "description": "Number of unhealthy resources in the control", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "notApplicableResourceCount": { + "description": "Number of not applicable resources in the control", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "definition": { + "$ref": "#/definitions/SecureScoreControlDefinitionItem" + } + } + }, + "secureScoreControlDefinitionList": { + "description": "List of security controls definition", + "type": "object", + "properties": { + "value": { + "description": "Collection of security controls definition in this page", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SecureScoreControlDefinitionItem" + } + }, + "nextLink": { + "description": "The URI to fetch the next page.", + "readOnly": true, + "type": "string" + } + } + }, + "SecureScoreControlDefinitionItem": { + "description": "Information about the security control.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SecureScoreControlDefinitionItemProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "SecureScoreControlDefinitionItemProperties": { + "description": "Security Control Definition Properties.", + "type": "object", + "properties": { + "displayName": { + "description": "User friendly display name of the control", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "User friendly description of the control", + "readOnly": true, + "type": "string", + "maxLength": 256 + }, + "maxScore": { + "description": "Maximum control score (0..10)", + "readOnly": true, + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 10, + "exclusiveMinimum": false + }, + "source": { + "description": "Source object from which the control was created", + "readOnly": true, + "$ref": "#/definitions/SecureScoreControlDefinitionSource" + }, + "assessmentDefinitions": { + "description": "Array of assessments metadata IDs that are included in this security control", + "readOnly": true, + "$ref": "../../../common/v1/types.json#/definitions/AzureResourceLinks" + } + } + }, + "SecureScoreControlDefinitionSource": { + "description": "The type of the security control (For example, BuiltIn)", + "readOnly": true, + "type": "object", + "properties": { + "sourceType": { + "description": "The type of security control (for example, BuiltIn)", + "type": "string", + "enum": [ + "BuiltIn", + "Custom" + ], + "x-ms-enum": { + "name": "controlType", + "modelAsString": true, + "values": [ + { + "value": "BuiltIn", + "description": "Azure Security Center managed assessments" + }, + { + "value": "Custom", + "description": "Non Azure Security Center managed assessments" + } + ] + } + } + } + } + }, + "parameters": { + "ExpandControlsDefinition": { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "OData expand. Optional.", + "x-ms-parameter-location": "method", + "enum": [ + "definition" + ], + "x-ms-enum": { + "name": "ExpandControlsEnum", + "modelAsString": true, + "values": [ + { + "value": "definition", + "description": "Add definition object for each control" + } + ] + } + }, + "secureScoreName": { + "name": "secureScoreName", + "in": "path", + "required": true, + "type": "string", + "description": "The initiative name. For the ASC Default initiative, use 'ascScore' as in the sample request below.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/alerts.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/alerts.json index 5f1aeadddebe..cc3894b377cb 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/alerts.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/alerts.json @@ -39,6 +39,9 @@ "x-ms-examples": { "Get security alerts on a subscription": { "$ref": "./examples/Alerts/GetAlertsSubscription_example.json" + }, + "Get security alerts, that were affected by auto dismiss rule, on a subscription": { + "$ref": "./examples/Alerts/GetAlertsSubscriptionWithAutoDismissRule_example.json" } }, "tags": [ @@ -61,6 +64,9 @@ }, { "$ref": "#/parameters/ODataExpand" + }, + { + "$ref": "#/parameters/AutoDismissRuleName" } ], "responses": { @@ -87,6 +93,9 @@ "x-ms-examples": { "Get security alerts on a resource group": { "$ref": "./examples/Alerts/GetAlertsResourceGroup_example.json" + }, + "Get security alerts, that should be dismissed by auto dismiss rule, on a resource group": { + "$ref": "./examples/Alerts/GetAlertsResourceGroupWithAutoDismissRule_example.json" } }, "tags": [ @@ -112,6 +121,9 @@ }, { "$ref": "#/parameters/ODataExpand" + }, + { + "$ref": "#/parameters/AutoDismissRuleName" } ], "responses": { @@ -138,6 +150,9 @@ "x-ms-examples": { "Get security alerts on a subscription from a security data location": { "$ref": "./examples/Alerts/GetAlertsSubscriptionsLocation_example.json" + }, + "Get security alerts, that should be dismissed by auto dismiss rule, on a subscription from a security data location": { + "$ref": "./examples/Alerts/GetAlertsSubscriptionsLocationWithAutoDismissRule_example.json" } }, "tags": [ @@ -163,6 +178,9 @@ }, { "$ref": "#/parameters/ODataExpand" + }, + { + "$ref": "#/parameters/AutoDismissRuleName" } ], "responses": { @@ -189,6 +207,9 @@ "x-ms-examples": { "Get security alerts on a resource group from a security data location": { "$ref": "./examples/Alerts/GetAlertsResourceGroupLocation_example.json" + }, + "Get security alerts, that should be dismissed by auto dismiss rule, on a resource group from a security data location": { + "$ref": "./examples/Alerts/GetAlertsResourceGroupLocationWithAutoDismissRule_example.json" } }, "tags": [ @@ -217,6 +238,9 @@ }, { "$ref": "#/parameters/ODataExpand" + }, + { + "$ref": "#/parameters/AutoDismissRuleName" } ], "responses": { @@ -739,6 +763,13 @@ "type": "string", "description": "Name of the alert object", "x-ms-parameter-location": "method" + }, + "AutoDismissRuleName": { + "name": "autoDismissRuleName", + "in": "query", + "type": "string", + "description": "The name of an existing auto dismiss rule. Use it to simulate the rule on existing alerts and get the alerts that would have been dismissed if the rule was enabled when the alert was created", + "x-ms-parameter-location": "method" } } } diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/examples/Alerts/GetAlertsResourceGroupLocationWithAutoDismissRule_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/examples/Alerts/GetAlertsResourceGroupLocationWithAutoDismissRule_example.json new file mode 100644 index 000000000000..0815c5f5bd32 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/examples/Alerts/GetAlertsResourceGroupLocationWithAutoDismissRule_example.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2019-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myRg1", + "ascLocation": "westeurope", + "autoDismissRuleName": "dismissThreatIntelligence" + }, + "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": "2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "vendorName": "Microsoft", + "alertDisplayName": "Threat Intelligence Alert", + "alertName": "ThreatIntelligence", + "detectedTimeUtc": "2018-05-01T19:50:47.083633Z", + "description": "Process was detected running on the host and is considered to be suspicious, verify that the user run it", + "remediationSteps": "verify that the user invoked this process\r\nrun antimalware scan of the VM", + "actionTaken": "Detected", + "reportedSeverity": "High", + "compromisedEntity": "vm1", + "associatedResource": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "instanceId": "f144ee95-a3e5-42da-a279-967d115809aa", + "extendedProperties": { + "user Name": "administrator", + "domain Name": "Contoso", + "attacker IP": "192.0.2.1", + "resourceType": "Virtual Machine" + }, + "state": "Dismissed", + "reportedTimeUtc": "2018-05-02T05:36:12.2089889Z", + "confidenceScore": 0.8, + "confidenceReasons": [ + { + "type": "User", + "reason": "Some user reason" + }, + { + "type": "Process", + "reason": "Some proccess reason" + }, + { + "type": "Computer", + "reason": "Some computer reason" + } + ], + "canBeInvestigated": true, + "isIncident": false, + "entities": [ + { + "address": "192.0.2.1", + "location": { + "countryCode": "gb", + "state": "wokingham", + "city": "sonning", + "longitude": -0.909, + "latitude": 51.468, + "asn": 6584 + }, + "threatIntelligence": [ + { + "providerName": "Team Cymru", + "threatType": "C2", + "threatName": "rarog", + "confidence": 0.8, + "reportLink": "http://www.microsoft.com", + "threatDescription": "In bot armies, the controller is the server machine(s) that gives instructions to the controlled (zombied) hosts that connect to the command and control (C2) network. The controller host is usually running a botnet management application that is sending the commands to the zombied members of the bot army. These commands include, but are not limited to, the following: updating bitcoin wallet information, distributed denial-of-service (DDoS) target listings, updated C2 communication contact lists, and targeting data. C2 servers may be either directly controlled by the malware operators or run on hardware compromised by malware. There are multiple techniques for dynamically changing the control servers so that they are not isolated and brought down. Control servers utilize two general architectures: client-server and peer-to-peer. In a client-server model, all the hosts are controlled by a single server or a few control servers. In a peer-to-peer model, the infected hosts are both clients and servers, and they control other hosts so that instead of isolating the few control servers, all the hosts need to be removed." + } + ], + "type": "ip" + } + ], + "correlationKey": "Rkso6LFWxzCll5tqrk4hnrBJ+MY1BX806W6q6+0s9Jk=" + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/examples/Alerts/GetAlertsResourceGroupWithAutoDismissRule_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/examples/Alerts/GetAlertsResourceGroupWithAutoDismissRule_example.json new file mode 100644 index 000000000000..55f3b45eb732 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/examples/Alerts/GetAlertsResourceGroupWithAutoDismissRule_example.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2019-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myRg1", + "autoDismissRuleName": "dismissThreatIntelligence" + }, + "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": "2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "vendorName": "Microsoft", + "alertDisplayName": "Threat Intelligence Alert", + "alertName": "ThreatIntelligence", + "detectedTimeUtc": "2018-05-01T19:50:47.083633Z", + "description": "Process was detected running on the host and is considered to be suspicious, verify that the user run it", + "remediationSteps": "verify that the user invoked this process\r\nrun antimalware scan of the VM", + "actionTaken": "Detected", + "reportedSeverity": "High", + "compromisedEntity": "vm1", + "associatedResource": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "instanceId": "f144ee95-a3e5-42da-a279-967d115809aa", + "extendedProperties": { + "user Name": "administrator", + "domain Name": "Contoso", + "attacker IP": "192.0.2.1", + "resourceType": "Virtual Machine" + }, + "state": "Dismissed", + "reportedTimeUtc": "2018-05-02T05:36:12.2089889Z", + "confidenceScore": 0.8, + "confidenceReasons": [ + { + "type": "User", + "reason": "Some user reason" + }, + { + "type": "Process", + "reason": "Some proccess reason" + }, + { + "type": "Computer", + "reason": "Some computer reason" + } + ], + "canBeInvestigated": true, + "isIncident": false, + "entities": [ + { + "address": "192.0.2.1", + "location": { + "countryCode": "gb", + "state": "wokingham", + "city": "sonning", + "longitude": -0.909, + "latitude": 51.468, + "asn": 6584 + }, + "threatIntelligence": [ + { + "providerName": "Team Cymru", + "threatType": "C2", + "threatName": "rarog", + "confidence": 0.8, + "reportLink": "http://www.microsoft.com", + "threatDescription": "In bot armies, the controller is the server machine(s) that gives instructions to the controlled (zombied) hosts that connect to the command and control (C2) network. The controller host is usually running a botnet management application that is sending the commands to the zombied members of the bot army. These commands include, but are not limited to, the following: updating bitcoin wallet information, distributed denial-of-service (DDoS) target listings, updated C2 communication contact lists, and targeting data. C2 servers may be either directly controlled by the malware operators or run on hardware compromised by malware. There are multiple techniques for dynamically changing the control servers so that they are not isolated and brought down. Control servers utilize two general architectures: client-server and peer-to-peer. In a client-server model, all the hosts are controlled by a single server or a few control servers. In a peer-to-peer model, the infected hosts are both clients and servers, and they control other hosts so that instead of isolating the few control servers, all the hosts need to be removed." + } + ], + "type": "ip" + } + ], + "correlationKey": "Rkso6LFWxzCll5tqrk4hnrBJ+MY1BX806W6q6+0s9Jk=" + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/examples/Alerts/GetAlertsSubscriptionWithAutoDismissRule_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/examples/Alerts/GetAlertsSubscriptionWithAutoDismissRule_example.json new file mode 100644 index 000000000000..85011eda2695 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/examples/Alerts/GetAlertsSubscriptionWithAutoDismissRule_example.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2019-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "autoDismissRuleName": "dismissThreatIntelligence" + }, + "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": "2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "vendorName": "Microsoft", + "alertDisplayName": "Threat Intelligence Alert", + "alertName": "ThreatIntelligence", + "detectedTimeUtc": "2018-05-01T19:50:47.083633Z", + "description": "Process was detected running on the host and is considered to be suspicious, verify that the user run it", + "remediationSteps": "verify that the user invoked this process\r\nrun antimalware scan of the VM", + "actionTaken": "Detected", + "reportedSeverity": "High", + "compromisedEntity": "vm1", + "associatedResource": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "instanceId": "f144ee95-a3e5-42da-a279-967d115809aa", + "extendedProperties": { + "user Name": "administrator", + "domain Name": "Contoso", + "attacker IP": "192.0.2.1", + "resourceType": "Virtual Machine" + }, + "state": "Dismissed", + "reportedTimeUtc": "2018-05-02T05:36:12.2089889Z", + "confidenceScore": 0.8, + "confidenceReasons": [ + { + "type": "User", + "reason": "Some user reason" + }, + { + "type": "Process", + "reason": "Some proccess reason" + }, + { + "type": "Computer", + "reason": "Some computer reason" + } + ], + "canBeInvestigated": true, + "isIncident": false, + "entities": [ + { + "address": "192.0.2.1", + "location": { + "countryCode": "gb", + "state": "wokingham", + "city": "sonning", + "longitude": -0.909, + "latitude": 51.468, + "asn": 6584 + }, + "threatIntelligence": [ + { + "providerName": "Team Cymru", + "threatType": "C2", + "threatName": "rarog", + "confidence": 0.8, + "reportLink": "http://www.microsoft.com", + "threatDescription": "In bot armies, the controller is the server machine(s) that gives instructions to the controlled (zombied) hosts that connect to the command and control (C2) network. The controller host is usually running a botnet management application that is sending the commands to the zombied members of the bot army. These commands include, but are not limited to, the following: updating bitcoin wallet information, distributed denial-of-service (DDoS) target listings, updated C2 communication contact lists, and targeting data. C2 servers may be either directly controlled by the malware operators or run on hardware compromised by malware. There are multiple techniques for dynamically changing the control servers so that they are not isolated and brought down. Control servers utilize two general architectures: client-server and peer-to-peer. In a client-server model, all the hosts are controlled by a single server or a few control servers. In a peer-to-peer model, the infected hosts are both clients and servers, and they control other hosts so that instead of isolating the few control servers, all the hosts need to be removed." + } + ], + "type": "ip" + } + ], + "correlationKey": "Rkso6LFWxzCll5tqrk4hnrBJ+MY1BX806W6q6+0s9Jk=" + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/examples/Alerts/GetAlertsSubscriptionsLocationWithAutoDismissRule_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/examples/Alerts/GetAlertsSubscriptionsLocationWithAutoDismissRule_example.json new file mode 100644 index 000000000000..3b7698a86967 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/examples/Alerts/GetAlertsSubscriptionsLocationWithAutoDismissRule_example.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2019-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "ascLocation": "westeurope", + "autoDismissRuleName": "dismissThreatIntelligence" + }, + "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": "2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "vendorName": "Microsoft", + "alertDisplayName": "Threat Intelligence Alert", + "alertName": "ThreatIntelligence", + "detectedTimeUtc": "2018-05-01T19:50:47.083633Z", + "description": "Process was detected running on the host and is considered to be suspicious, verify that the user run it", + "remediationSteps": "verify that the user invoked this process\r\nrun antimalware scan of the VM", + "actionTaken": "Detected", + "reportedSeverity": "High", + "compromisedEntity": "vm1", + "associatedResource": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "instanceId": "f144ee95-a3e5-42da-a279-967d115809aa", + "extendedProperties": { + "user Name": "administrator", + "domain Name": "Contoso", + "attacker IP": "192.0.2.1", + "resourceType": "Virtual Machine" + }, + "state": "Dismissed", + "reportedTimeUtc": "2018-05-02T05:36:12.2089889Z", + "confidenceScore": 0.8, + "confidenceReasons": [ + { + "type": "User", + "reason": "Some user reason" + }, + { + "type": "Process", + "reason": "Some proccess reason" + }, + { + "type": "Computer", + "reason": "Some computer reason" + } + ], + "canBeInvestigated": true, + "isIncident": false, + "entities": [ + { + "address": "192.0.2.1", + "location": { + "countryCode": "gb", + "state": "wokingham", + "city": "sonning", + "longitude": -0.909, + "latitude": 51.468, + "asn": 6584 + }, + "threatIntelligence": [ + { + "providerName": "Team Cymru", + "threatType": "C2", + "threatName": "rarog", + "confidence": 0.8, + "reportLink": "http://www.microsoft.com", + "threatDescription": "In bot armies, the controller is the server machine(s) that gives instructions to the controlled (zombied) hosts that connect to the command and control (C2) network. The controller host is usually running a botnet management application that is sending the commands to the zombied members of the bot army. These commands include, but are not limited to, the following: updating bitcoin wallet information, distributed denial-of-service (DDoS) target listings, updated C2 communication contact lists, and targeting data. C2 servers may be either directly controlled by the malware operators or run on hardware compromised by malware. There are multiple techniques for dynamically changing the control servers so that they are not isolated and brought down. Control servers utilize two general architectures: client-server and peer-to-peer. In a client-server model, all the hosts are controlled by a single server or a few control servers. In a peer-to-peer model, the infected hosts are both clients and servers, and they control other hosts so that instead of isolating the few control servers, all the hosts need to be removed." + } + ], + "type": "ip" + } + ], + "correlationKey": "Rkso6LFWxzCll5tqrk4hnrBJ+MY1BX806W6q6+0s9Jk=" + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/iotSecuritySolutions.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/iotSecuritySolutions.json index 347b29d179dd..8ff974f8c864 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/iotSecuritySolutions.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/iotSecuritySolutions.json @@ -482,7 +482,6 @@ }, "required": [ "iotHubs", - "workspace", "displayName" ] }, diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/ServerVulnerabilityAssessments/CreateServerVulnerabilityAssessments_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ServerVulnerabilityAssessments/CreateServerVulnerabilityAssessments_example.json similarity index 96% rename from specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/ServerVulnerabilityAssessments/CreateServerVulnerabilityAssessments_example.json rename to specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ServerVulnerabilityAssessments/CreateServerVulnerabilityAssessments_example.json index 1bccb5ea5cce..eaed80294950 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/ServerVulnerabilityAssessments/CreateServerVulnerabilityAssessments_example.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ServerVulnerabilityAssessments/CreateServerVulnerabilityAssessments_example.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2019-01-01-preview", + "api-version": "2020-01-01", "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", "resourceGroupName": "rg1", "resourceNamespace": "Microsoft.Compute", diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/ServerVulnerabilityAssessments/DeleteServerVulnerabilityAssessments_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ServerVulnerabilityAssessments/DeleteServerVulnerabilityAssessments_example.json similarity index 88% rename from specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/ServerVulnerabilityAssessments/DeleteServerVulnerabilityAssessments_example.json rename to specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ServerVulnerabilityAssessments/DeleteServerVulnerabilityAssessments_example.json index ebe431b2e5ae..b47510ee03bc 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/ServerVulnerabilityAssessments/DeleteServerVulnerabilityAssessments_example.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ServerVulnerabilityAssessments/DeleteServerVulnerabilityAssessments_example.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2019-01-01-preview", + "api-version": "2020-01-01", "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", "resourceGroupName": "rg1", "resourceNamespace": "Microsoft.Compute", diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/ServerVulnerabilityAssessments/GetServerVulnerabilityAssessments_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ServerVulnerabilityAssessments/GetServerVulnerabilityAssessments_example.json similarity index 94% rename from specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/ServerVulnerabilityAssessments/GetServerVulnerabilityAssessments_example.json rename to specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ServerVulnerabilityAssessments/GetServerVulnerabilityAssessments_example.json index aec69b3e88bf..59dddaa785dd 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/ServerVulnerabilityAssessments/GetServerVulnerabilityAssessments_example.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ServerVulnerabilityAssessments/GetServerVulnerabilityAssessments_example.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2019-01-01-preview", + "api-version": "2020-01-01", "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", "resourceGroupName": "rg1", "resourceNamespace": "Microsoft.Compute", diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/ServerVulnerabilityAssessments/ListByExtendedResourceServerVulnerabilityAssessments_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ServerVulnerabilityAssessments/ListByExtendedResourceServerVulnerabilityAssessments_example.json similarity index 94% rename from specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/ServerVulnerabilityAssessments/ListByExtendedResourceServerVulnerabilityAssessments_example.json rename to specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ServerVulnerabilityAssessments/ListByExtendedResourceServerVulnerabilityAssessments_example.json index d96e15730233..cdf6cd825bdb 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/ServerVulnerabilityAssessments/ListByExtendedResourceServerVulnerabilityAssessments_example.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ServerVulnerabilityAssessments/ListByExtendedResourceServerVulnerabilityAssessments_example.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2019-01-01-preview", + "api-version": "2020-01-01", "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", "resourceGroupName": "rg1", "resourceNamespace": "Microsoft.Compute", diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/serverVulnerabilityAssessments.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/serverVulnerabilityAssessments.json similarity index 99% rename from specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/serverVulnerabilityAssessments.json rename to specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/serverVulnerabilityAssessments.json index 534a37477127..d21a7bca94c7 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/serverVulnerabilityAssessments.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/serverVulnerabilityAssessments.json @@ -3,7 +3,7 @@ "info": { "title": "Security Center", "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", - "version": "2019-01-01-preview" + "version": "2020-01-01" }, "host": "management.azure.com", "schemes": [ diff --git a/specification/security/resource-manager/common/v1/types.json b/specification/security/resource-manager/common/v1/types.json index 5996220fe2bc..48bec7b159a3 100644 --- a/specification/security/resource-manager/common/v1/types.json +++ b/specification/security/resource-manager/common/v1/types.json @@ -241,6 +241,25 @@ "sourceComputerId", "machineName" ] + }, + "AzureResourceLinks": { + "description": "array of azure resource IDs", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/AzureResourceLink" + } + }, + "AzureResourceLink": { + "type": "object", + "description": "Describes an Azure resource with kind", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Azure resource Id" + } + } } }, "parameters": { @@ -284,7 +303,8 @@ "required": true, "type": "string", "description": "The identifier of the resource.", - "x-ms-parameter-location": "method" + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true }, "Scope": { "name": "scope", @@ -292,7 +312,8 @@ "required": true, "type": "string", "description": "Scope of the query, can be subscription (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or management group (/providers/Microsoft.Management/managementGroups/mgName).", - "x-ms-parameter-location": "method" + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true }, "ODataFilter": { "name": "$filter", diff --git a/specification/security/resource-manager/readme.md b/specification/security/resource-manager/readme.md index 4c9f60ada878..ea3392274978 100644 --- a/specification/security/resource-manager/readme.md +++ b/specification/security/resource-manager/readme.md @@ -59,6 +59,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/2019-01-01-preview/automations.json - Microsoft.Security/preview/2019-01-01-preview/subAssessments.json - Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json @@ -82,6 +83,7 @@ input-file: - 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 +- Microsoft.Security/preview/2019-01-01-preview/alertsSuppressionRules.json # Needed when there is more than one input file override-info: @@ -94,6 +96,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/2019-01-01-preview/automations.json - Microsoft.Security/preview/2019-01-01-preview/subAssessments.json - Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json @@ -119,6 +122,7 @@ input-file: - 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 +- Microsoft.Security/preview/2019-01-01-preview/alertsSuppressionRules.json # Needed when there is more than one input file override-info: @@ -148,9 +152,11 @@ input-file: - Microsoft.Security/preview/2017-08-01-preview/securityContacts.json - Microsoft.Security/preview/2017-08-01-preview/workspaceSettings.json - Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json -- Microsoft.Security/preview/2019-01-01-preview/serverVulnerabilityAssessments.json + - Microsoft.Security/preview/2019-01-01-preview/subAssessments.json - Microsoft.Security/preview/2019-01-01-preview/automations.json +- Microsoft.Security/preview/2019-01-01-preview/alertsSuppressionRules.json +- 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 @@ -160,6 +166,7 @@ input-file: - Microsoft.Security/stable/2020-01-01/jitNetworkAccessPolicies.json - Microsoft.Security/stable/2020-01-01/discoveredSecuritySolutions.json - Microsoft.Security/stable/2020-01-01/externalSecuritySolutions.json +- Microsoft.Security/preview/2020-01-01-preview/secureScore.json # Needed when there is more than one input file override-info: @@ -168,7 +175,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: @@ -191,7 +198,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: @@ -214,12 +221,12 @@ 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: - Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json -- Microsoft.Security/preview/2019-01-01-preview/serverVulnerabilityAssessments.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 @@ -228,9 +235,22 @@ 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-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-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: @@ -243,7 +263,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: @@ -256,7 +276,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: @@ -270,7 +290,7 @@ 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: @@ -282,6 +302,41 @@ 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/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 +``` + --- # Code Generation @@ -336,6 +391,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.Security/preview/2020-01-01-preview/secureScore.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 @@ -359,6 +415,7 @@ input-file: - $(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 + - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/alertsSuppressionRules.json - $(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 @@ -369,7 +426,7 @@ input-file: - $(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/preview/2019-01-01-preview/serverVulnerabilityAssessments.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 @@ -388,6 +445,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 -``` \ 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 753356e4ea76..0bfdb0305304 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 @@ -2391,14 +2391,56 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/settings/{settingsName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/settings": { "get": { "x-ms-examples": { - "Get UEBA settings.": { - "$ref": "./examples/settings/GetUebaSettings.json" + "Get EyesOn settings.": { + "$ref": "./examples/settings/GetAllSettings.json" + } + }, + "tags": [ + "Settings" + ], + "description": "List of all the settings", + "operationId": "ProductSettings_GetAll", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" }, - "Get Fusion settings.": { - "$ref": "./examples/settings/GetFusionSettings.json" + { + "$ref": "#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SettingList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/settings/{settingsName}": { + "get": { + "x-ms-examples": { + "Get EyesOn settings.": { + "$ref": "./examples/settings/GetEyesOnSetting.json" } }, "tags": [ @@ -2441,16 +2483,62 @@ } } }, + "delete": { + "x-ms-examples": { + "Delete EyesOn settings.": { + "$ref": "./examples/settings/DeleteEyesOnSetting.json" + } + }, + "tags": [ + "Settings" + ], + "description": "Delete setting of the product.", + "operationId": "ProductSettings_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SettingsName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, "put": { "x-ms-examples": { - "Update UEBA settings.": { - "$ref": "./examples/settings/UpdateUebaSettings.json" + "Update EyesOn settings.": { + "$ref": "./examples/settings/UpdateEyesOnSetting.json" } }, "tags": [ "Settings" ], - "description": "Updates the setting.", + "description": "Updates setting.", "operationId": "ProductSettings_Update", "parameters": [ { @@ -7731,6 +7819,11 @@ "description": "The name of the vendor that raise the alert.", "readOnly": true, "type": "string" + }, + "alertLink": { + "description": "The uri link of the alert.", + "readOnly": true, + "type": "string" } }, "type": "object" @@ -7779,6 +7872,21 @@ }, "type": "object" }, + "SettingList": { + "description": "List of all the settings.", + "properties": { + "value": { + "description": "Array of settings.", + "items": { + "$ref": "#/definitions/Settings" + }, + "type": "array" + } + }, + "required": [ + "value" + ] + }, "Settings": { "allOf": [ { @@ -7790,10 +7898,7 @@ ], "description": "The Setting.", "discriminator": "kind", - "type": "object", - "required": [ - "kind" - ] + "type": "object" }, "SettingsKind": { "description": "Describes an Azure resource with kind.", @@ -7801,8 +7906,7 @@ "kind": { "description": "The kind of the setting", "enum": [ - "UebaSettings", - "ToggleSettings" + "EyesOn" ], "type": "string", "x-ms-enum": { @@ -8024,7 +8128,7 @@ }, "type": "object" }, - "ToggleSettings": { + "EyesOn": { "allOf": [ { "$ref": "#/definitions/Settings" @@ -8033,73 +8137,21 @@ "description": "Settings with single toggle.", "properties": { "properties": { - "$ref": "#/definitions/ToggleSettingsProperties", - "description": "toggle properties", + "$ref": "#/definitions/EyesOnSettingsProperties", + "description": "EyesOn properties", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "ToggleSettings" + "x-ms-discriminator-value": "EyesOn" }, - "ToggleSettingsProperties": { - "description": "toggle property bag.", + "EyesOnSettingsProperties": { + "description": "EyesOn property bag.", "properties": { "isEnabled": { "description": "Determines whether the setting is enable or disabled.", - "type": "boolean" - } - }, - "type": "object" - }, - "UebaSettings": { - "allOf": [ - { - "$ref": "#/definitions/Settings" - } - ], - "description": "Represents settings for User and Entity Behavior Analytics enablement.", - "properties": { - "properties": { - "$ref": "#/definitions/UebaSettingsProperties", - "description": "User and Entity Behavior Analytics settings properties", - "x-ms-client-flatten": true - } - }, - "type": "object", - "x-ms-discriminator-value": "UebaSettings" - }, - "UebaSettingsProperties": { - "description": "User and Entity Behavior Analytics settings property bag.", - "properties": { - "atpLicenseStatus": { - "description": "Determines whether the tenant has ATP (Advanced Threat Protection) license.", - "enum": [ - "Enabled", - "Disabled" - ], "readOnly": true, - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "LicenseStatus" - } - }, - "isEnabled": { - "description": "Determines whether User and Entity Behavior Analytics is enabled for this workspace.", "type": "boolean" - }, - "statusInMcas": { - "description": "Determines whether User and Entity Behavior Analytics is enabled from MCAS (Microsoft Cloud App Security).", - "enum": [ - "Enabled", - "Disabled" - ], - "readOnly": true, - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "StatusInMcas" - } } }, "type": "object" @@ -8609,7 +8661,7 @@ "x-ms-parameter-location": "method" }, "SettingsName": { - "description": "The setting name. Supports- Fusion, UEBA", + "description": "The setting name. Supports- EyesOn", "in": "path", "name": "settingsName", "required": true, diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetSecurityAlertEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetSecurityAlertEntityById.json index af742bb18b0a..640d2f28fa68 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetSecurityAlertEntityById.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetSecurityAlertEntityById.json @@ -43,7 +43,8 @@ "Search Query Results Overall Count": "203", "Total Account Entities": "1" }, - "friendlyName": "Suspicious account detected" + "friendlyName": "Suspicious account detected", + "alertLink": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518119885989999999_4aa486e0-6f85-41af-99ea-7acdce7be6c8/subscriptionId/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/myRg/myWorkspace/referencedFrom/alertDeepLink/location/centralus" } } } diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/settings/DeleteEyesOnSetting.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/settings/DeleteEyesOnSetting.json new file mode 100644 index 000000000000..1190612db5e6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/settings/DeleteEyesOnSetting.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", + "settingsName": "EyesOn" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/settings/GetAllSettings.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/settings/GetAllSettings.json new file mode 100644 index 000000000000..6bd881fec292 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/settings/GetAllSettings.json @@ -0,0 +1,26 @@ +{ + "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/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/avdvirInt/providers/Microsoft.SecurityInsights/settings/EyesOn", + "name": "EyesOn", + "type": "Microsoft.SecurityInsights/settings", + "kind": "EyesOn", + "properties": { + "isEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/settings/GetFusionSettings.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/settings/GetEyesOnSetting.json similarity index 56% rename from specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/settings/GetFusionSettings.json rename to specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/settings/GetEyesOnSetting.json index e3bea3867310..de6a916d486f 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/settings/GetFusionSettings.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/settings/GetEyesOnSetting.json @@ -5,16 +5,15 @@ "resourceGroupName": "myRg", "workspaceName": "myWorkspace", "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", - "settingsName": "Fusion" + "settingsName": "EyesOn" }, "responses": { "200": { "body": { - "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/settings/Fusion", - "name": "Fusion", + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/avdvirInt/providers/Microsoft.SecurityInsights/settings/EyesOn", + "name": "EyesOn", "type": "Microsoft.SecurityInsights/settings", - "kind": "ToggleSettings", - "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "kind": "EyesOn", "properties": { "isEnabled": true } diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/settings/GetUebaSettings.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/settings/GetUebaSettings.json deleted file mode 100644 index 615415059d28..000000000000 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/settings/GetUebaSettings.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "parameters": { - "api-version": "2019-01-01-preview", - "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", - "resourceGroupName": "myRg", - "workspaceName": "myWorkspace", - "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", - "settingsName": "UEBA" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/settings/UEBA", - "name": "UEBA", - "type": "Microsoft.SecurityInsights/settings", - "kind": "UebaSettings", - "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", - "properties": { - "isEnabled": true, - "statusInMcas": "Enabled", - "atpLicenseStatus": "Enabled" - } - } - } - } -} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/settings/UpdateUebaSettings.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/settings/UpdateEyesOnSetting.json similarity index 54% rename from specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/settings/UpdateUebaSettings.json rename to specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/settings/UpdateEyesOnSetting.json index 35fef4992659..6da0f3ed95de 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/settings/UpdateUebaSettings.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/settings/UpdateEyesOnSetting.json @@ -5,27 +5,23 @@ "resourceGroupName": "myRg", "workspaceName": "myWorkspace", "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", - "settingsName": "UEBA", + "settingsName": "EyesOn", "settings": { - "kind": "UebaSettings", "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", - "properties": { - "isEnabled": true - } + "kind": "EyesOn", + "properties": {} } }, "responses": { "200": { "body": { - "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/settings/UEBA", - "name": "UEBA", + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/avdvirInt/providers/Microsoft.SecurityInsights/settings/EyesOn", + "name": "EyesOn", "type": "Microsoft.SecurityInsights/settings", - "kind": "UebaSettings", "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "kind": "EyesOn", "properties": { - "isEnabled": true, - "statusInMcas": "Enabled", - "atpLicenseStatus": "Enabled" + "isEnabled": true } } } diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/Operations_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/Operations_List.json new file mode 100644 index 000000000000..d43346e00368 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/Operations_List.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-05-01" + }, + "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/stable/2020-05-01/examples/SignalRPrivateEndpointConnections_Delete.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/SignalRPrivateEndpointConnections_Delete.json new file mode 100644 index 000000000000..f9c6b18ec351 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/SignalRPrivateEndpointConnections_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "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/stable/2020-05-01/examples/SignalRPrivateEndpointConnections_Get.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/SignalRPrivateEndpointConnections_Get.json new file mode 100644 index 000000000000..afdb580d1bba --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/SignalRPrivateEndpointConnections_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "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/stable/2020-05-01/examples/SignalRPrivateEndpointConnections_Update.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/SignalRPrivateEndpointConnections_Update.json new file mode 100644 index 000000000000..1fa8b532aac5 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/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-05-01", + "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/stable/2020-05-01/examples/SignalRPrivateLinkResources_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/SignalRPrivateLinkResources_List.json new file mode 100644 index 000000000000..90120de37bab --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/SignalRPrivateLinkResources_List.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "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/stable/2020-05-01/examples/SignalR_CheckNameAvailability.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/SignalR_CheckNameAvailability.json new file mode 100644 index 000000000000..a330b6b9ca3f --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/SignalR_CheckNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "location": "eastus", + "parameters": { + "type": "Microsoft.SignalRService/SignalR", + "name": "my-signalr-service" + }, + "api-version": "2020-05-01", + "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/stable/2020-05-01/examples/SignalR_CreateOrUpdate.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/SignalR_CreateOrUpdate.json new file mode 100644 index 000000000000..3eb1a78ba38b --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/SignalR_CreateOrUpdate.json @@ -0,0 +1,278 @@ +{ + "parameters": { + "parameters": { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "capacity": 1 + }, + "properties": { + "hostNamePrefix": null, + "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" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ], + "deny": null + }, + "privateEndpoints": [ + { + "name": "mySignalRService.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ], + "deny": null + } + ] + } + }, + "kind": "SignalR", + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2020-05-01", + "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" + } + ], + "hostNamePrefix": "mysignalrservice", + "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" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ], + "deny": null + }, + "privateEndpoints": [ + { + "name": "mySignalRService.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ], + "deny": null + } + ] + } + }, + "kind": "SignalR", + "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" + } + ], + "hostNamePrefix": "mysignalrservice", + "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" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ], + "deny": null + }, + "privateEndpoints": [ + { + "name": "mySignalRService.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ], + "deny": null + } + ] + } + }, + "kind": "SignalR", + "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/stable/2020-05-01/examples/SignalR_Delete.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/SignalR_Delete.json new file mode 100644 index 000000000000..d9e03852aebb --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/SignalR_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "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/stable/2020-05-01/examples/SignalR_Get.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/SignalR_Get.json new file mode 100644 index 000000000000..2c7bdf651621 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/SignalR_Get.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "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" + } + ], + "hostNamePrefix": "mysignalrservice", + "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" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ], + "deny": null + }, + "privateEndpoints": [ + { + "name": "mySignalRService.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ], + "deny": null + } + ] + } + }, + "kind": "SignalR", + "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/stable/2020-05-01/examples/SignalR_ListByResourceGroup.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/SignalR_ListByResourceGroup.json new file mode 100644 index 000000000000..f862bb2cfa40 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/SignalR_ListByResourceGroup.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "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" + } + ], + "hostNamePrefix": "mysignalrservice", + "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" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ], + "deny": null + }, + "privateEndpoints": [ + { + "name": "mySignalRService.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ], + "deny": null + } + ] + } + }, + "kind": "SignalR", + "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/stable/2020-05-01/examples/SignalR_ListBySubscription.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/SignalR_ListBySubscription.json new file mode 100644 index 000000000000..1ed24a8269e7 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/SignalR_ListBySubscription.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "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" + } + ], + "hostNamePrefix": "mysignalrservice", + "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" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ], + "deny": null + }, + "privateEndpoints": [ + { + "name": "mySignalRService.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ], + "deny": null + } + ] + } + }, + "kind": "SignalR", + "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/stable/2020-05-01/examples/SignalR_ListKeys.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/SignalR_ListKeys.json new file mode 100644 index 000000000000..8932231e33c4 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/SignalR_ListKeys.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "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/stable/2020-05-01/examples/SignalR_RegenerateKey.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/SignalR_RegenerateKey.json new file mode 100644 index 000000000000..0fb7ffb871bb --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/SignalR_RegenerateKey.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "parameters": { + "keyType": "Primary" + }, + "api-version": "2020-05-01", + "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/stable/2020-05-01/examples/SignalR_Restart.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/SignalR_Restart.json new file mode 100644 index 000000000000..d9e03852aebb --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/SignalR_Restart.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "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/stable/2020-05-01/examples/SignalR_Update.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/SignalR_Update.json new file mode 100644 index 000000000000..29a1ef2fd73f --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/SignalR_Update.json @@ -0,0 +1,178 @@ +{ + "parameters": { + "parameters": { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "capacity": 1 + }, + "properties": { + "hostNamePrefix": null, + "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" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ], + "deny": null + }, + "privateEndpoints": [ + { + "name": "mySignalRService.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ], + "deny": null + } + ] + } + }, + "kind": "SignalR", + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2020-05-01", + "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" + } + ], + "hostNamePrefix": "mysignalrservice", + "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" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ], + "deny": null + }, + "privateEndpoints": [ + { + "name": "mySignalRService.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ], + "deny": null + } + ] + } + }, + "kind": "SignalR", + "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/stable/2020-05-01/examples/Usages_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/Usages_List.json new file mode 100644 index 000000000000..ae2279860df6 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/examples/Usages_List.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "location": "eastus", + "api-version": "2020-05-01", + "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/stable/2020-05-01/signalr.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/signalr.json new file mode 100644 index 000000000000..844d2f52801c --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2020-05-01/signalr.json @@ -0,0 +1,1741 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-05-01", + "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" + ] + } + } + }, + "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 + } + } + }, + "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": { + "hostNamePrefix": { + "description": "Prefix for the hostName of the SignalR service. Retained for future use.\r\nThe hostname will be of format: <hostNamePrefix>.service.signalr.net.", + "type": "string" + }, + "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" + } + } + }, + "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" + } + } + }, + "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": {} + }, + "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.go.md b/specification/signalr/resource-manager/readme.go.md index f84c87f6866a..c7fed8130266 100644 --- a/specification/signalr/resource-manager/readme.go.md +++ b/specification/signalr/resource-manager/readme.go.md @@ -15,6 +15,7 @@ go: batch: - tag: package-2018-03-01-preview - tag: package-2018-10-01 + - tag: package-2020-05-01 ``` ### Tag: package-2018-03-01-preview and go @@ -34,3 +35,12 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-05-01' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-05-01/$(namespace) +``` diff --git a/specification/signalr/resource-manager/readme.java.md b/specification/signalr/resource-manager/readme.java.md index b6b8cbf12242..332c4a397833 100644 --- a/specification/signalr/resource-manager/readme.java.md +++ b/specification/signalr/resource-manager/readme.java.md @@ -18,6 +18,20 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-signalr batch: - tag: package-2018-03-01-preview - tag: package-2018-10-01 + - tag: package-2020-05-01 +``` + +### Tag: package-2020-05-01 and java + +These settings apply only when `--tag=package-2020-05-01 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2020-05-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.signalr.v2020_05_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/signalr/mgmt-v2020_05_01 +regenerate-manager: true +generate-interface: true ``` ### Tag: package-2018-10-01 and java @@ -44,4 +58,4 @@ java: output-folder: $(azure-libraries-for-java-folder)/sdk/signalr/mgmt-v2018_03_01_preview regenerate-manager: true generate-interface: true -``` \ No newline at end of file +``` diff --git a/specification/signalr/resource-manager/readme.md b/specification/signalr/resource-manager/readme.md index dd35a4918a1f..807ff01765c9 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-2018-10-01 +tag: package-2020-05-01 ``` ### Suppression @@ -41,10 +41,27 @@ directive: from: signalr.json where: $.definitions.Dimension.properties.toBeExportedForShoebox reason: The boolean properties 'toBeExportedForShoebox' is defined by Geneva metrics. - - suppress: PutRequestResponseScheme + - suppress: EnumInsteadOfBoolean + from: signalr.json + where: $.definitions.Operation.properties.isDataAction + reason: The boolean properties 'isDataAction' is a standard property for Azuer Operatoins. + - suppress: TrackedResourceListByImmediateParent + reason: Another list APIs naming approach is used over the specs + - suppress: AvoidNestedProperties from: signalr.json - where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}"].put - reason: The schema of the PUT request body is a superset of the GET response body, we have a PATCH operation to make the resource updatable + where: + - $.definitions.SignalRFeature.properties.properties + - $.definitions.PrivateEndpointConnection.properties.properties + reason: The 'properties' is a user-defined dictionary, cannot be flattened. +``` + +### Tag: package-2020-05-01 + +These settings apply only when `--tag=package-2020-05-01` is specified on the command line. + +``` yaml $(tag) == 'package-2020-05-01' +input-file: +- Microsoft.SignalRService/stable/2020-05-01/signalr.json ``` ### Tag: package-2018-10-01 @@ -123,6 +140,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(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 39b11888ae39..b10560ba58b6 100644 --- a/specification/signalr/resource-manager/readme.ruby.md +++ b/specification/signalr/resource-manager/readme.ruby.md @@ -14,6 +14,17 @@ azure-arm: true batch: - tag: package-2018-03-01-preview - tag: package-2018-10-01 + - tag: package-2020-05-01 +``` + +### Tag: package-2020-05-01 and ruby + +These settings apply only when `--tag=package-2020-05-01 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-05-01' && $(ruby) +namespace: "Azure::Signalr::Mgmt::V2020_05_01" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_signalr/lib ``` ### Tag: package-2018-10-01 and ruby 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/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/SyncGroupCancelSync.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupCancelSync.json new file mode 100644 index 000000000000..48b0b1dad5ee --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupCancelSync.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupCreate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupCreate.json new file mode 100644 index 000000000000..8a6f8994ec21 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupCreate.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "api-version": "2019-06-01-preview", + "parameters": { + "properties": { + "interval": -1, + "conflictResolutionPolicy": "HubWin", + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", + "hubDatabaseUserName": "hubUser", + "usePrivateLinkConnection": false + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "interval": -1, + "lastSyncTime": "0001-01-01T08:00:00Z", + "conflictResolutionPolicy": "HubWin", + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", + "hubDatabaseUserName": "hubUser", + "syncState": "NotReady", + "usePrivateLinkConnection": false + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187", + "name": "syncgroupcrud-3187", + "type": "Microsoft.Sql/servers/databases/syncGroups" + } + }, + "201": { + "body": { + "properties": { + "interval": -1, + "lastSyncTime": "0001-01-01T08:00:00Z", + "conflictResolutionPolicy": "HubWin", + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", + "hubDatabaseUserName": "hubUser", + "syncState": "NotReady", + "usePrivateLinkConnection": false + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187", + "name": "syncgroupcrud-3187", + "type": "Microsoft.Sql/servers/databases/syncGroups" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupDelete.json new file mode 100644 index 000000000000..a9691bbae29d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupGet.json new file mode 100644 index 000000000000..8a88e81a9966 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "interval": -1, + "lastSyncTime": "0001-01-01T08:00:00Z", + "conflictResolutionPolicy": "HubWin", + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", + "hubDatabaseUserName": "hubUser", + "syncState": "NotReady", + "usePrivateLinkConnection": false + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187", + "name": "syncgroupcrud-3187", + "type": "Microsoft.Sql/servers/databases/syncGroups" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupGetHubSchema.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupGetHubSchema.json new file mode 100644 index 000000000000..06aa277287aa --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupGetHubSchema.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "tables": [ + { + "columns": [ + { + "dataSize": "4", + "dataType": "int", + "hasError": false, + "isPrimaryKey": false, + "name": "intField", + "quotedName": "[intField]" + }, + { + "dataSize": "100", + "dataType": "nvarchar", + "hasError": false, + "isPrimaryKey": false, + "name": "charField", + "quotedName": "[charField]" + } + ], + "errorId": "Schema_TableHasNoPrimaryKey", + "hasError": true, + "name": "dbo.myTable", + "quotedName": "[dbo].[myTable]" + } + ], + "lastUpdateTime": "2017-05-30T07:16:08.21Z" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupGetLog.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupGetLog.json new file mode 100644 index 000000000000..8c3db95f2725 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupGetLog.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "startTime": "2017-01-01T00:00:00", + "endTime": "2017-12-31T00:00:00", + "type": "All", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timestamp": "2017-05-30T07:16:08.25Z", + "type": "Success", + "source": "syncgroupcrud-8475.database.windows.net/hub", + "details": "Schema information obtained successfully.", + "tracingId": "c0480c8e-6269-424e-9404-b00efce0ebae", + "operationStatus": "SchemaRefreshSuccess" + }, + { + "timestamp": "2017-05-30T07:03:37.5733333Z", + "type": "Error", + "source": "syncgroupcrud-8475.database.windows.net/member", + "details": "Getting schema information for the database failed with the exception \"Failed to connect to server .\nInner exception: SqlException Error Code: -2146232060 - SqlError Number:53, Message: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) \nInner exception: The network path was not found\n For more information, provide tracing ID ‘cd3aa28c-0c31-471f-8a77-f1b21c908cbd’ to customer support.\"", + "tracingId": "cd3aa28c-0c31-471f-8a77-f1b21c908cbd", + "operationStatus": "SchemaRefreshFailure" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupGetSyncDatabaseId.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupGetSyncDatabaseId.json new file mode 100644 index 000000000000..73987d320296 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupGetSyncDatabaseId.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "locationName": "westus", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupListByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupListByDatabase.json new file mode 100644 index 000000000000..4b6924abcdd7 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupListByDatabase.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "interval": -1, + "lastSyncTime": "0001-01-01T08:00:00Z", + "conflictResolutionPolicy": "HubWin", + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", + "hubDatabaseUserName": "hubUser", + "syncState": "NotReady", + "usePrivateLinkConnection": false + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187", + "name": "syncgroupcrud-3187", + "type": "Microsoft.Sql/servers/databases/syncGroups" + }, + { + "properties": { + "interval": -1, + "lastSyncTime": "0001-01-01T08:00:00Z", + "conflictResolutionPolicy": "HubWin", + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", + "hubDatabaseUserName": "hubUser", + "syncState": "NotReady", + "usePrivateLinkConnection": false + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-5374", + "name": "syncgroupcrud-5374", + "type": "Microsoft.Sql/servers/databases/syncGroups" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupPatch.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupPatch.json new file mode 100644 index 000000000000..9ac1bb8b2539 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupPatch.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "api-version": "2019-06-01-preview", + "parameters": { + "properties": { + "interval": -1, + "conflictResolutionPolicy": "HubWin", + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", + "hubDatabaseUserName": "hubUser", + "hubDatabasePassword": "hubPassword", + "usePrivateLinkConnection": false + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "interval": -1, + "lastSyncTime": "0001-01-01T08:00:00Z", + "conflictResolutionPolicy": "HubWin", + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", + "hubDatabaseUserName": "hubUser", + "syncState": "NotReady", + "usePrivateLinkConnection": false + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187", + "name": "syncgroup", + "type": "Microsoft.Sql/servers/databases/syncGroups" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupRefreshHubSchema.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupRefreshHubSchema.json new file mode 100644 index 000000000000..a81b4f0950db --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupRefreshHubSchema.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupTriggerSync.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupTriggerSync.json new file mode 100644 index 000000000000..48b0b1dad5ee --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupTriggerSync.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupUpdate.json new file mode 100644 index 000000000000..8a6f8994ec21 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupUpdate.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "api-version": "2019-06-01-preview", + "parameters": { + "properties": { + "interval": -1, + "conflictResolutionPolicy": "HubWin", + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", + "hubDatabaseUserName": "hubUser", + "usePrivateLinkConnection": false + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "interval": -1, + "lastSyncTime": "0001-01-01T08:00:00Z", + "conflictResolutionPolicy": "HubWin", + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", + "hubDatabaseUserName": "hubUser", + "syncState": "NotReady", + "usePrivateLinkConnection": false + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187", + "name": "syncgroupcrud-3187", + "type": "Microsoft.Sql/servers/databases/syncGroups" + } + }, + "201": { + "body": { + "properties": { + "interval": -1, + "lastSyncTime": "0001-01-01T08:00:00Z", + "conflictResolutionPolicy": "HubWin", + "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", + "hubDatabaseUserName": "hubUser", + "syncState": "NotReady", + "usePrivateLinkConnection": false + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187", + "name": "syncgroupcrud-3187", + "type": "Microsoft.Sql/servers/databases/syncGroups" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberCreate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberCreate.json new file mode 100644 index 000000000000..1ccc734d27a2 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberCreate.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "syncMemberName": "syncgroupcrud-4879", + "api-version": "2019-06-01-preview", + "parameters": { + "properties": { + "databaseType": "AzureSqlDatabase", + "serverName": "syncgroupcrud-3379.database.windows.net", + "databaseName": "syncgroupcrud-7421", + "userName": "myUser", + "syncDirection": "Bidirectional", + "usePrivateLinkConnection": true, + "syncMemberAzureDatabaseResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "databaseType": "AzureSqlDatabase", + "serverName": "syncgroupcrud-3379.database.windows.net", + "databaseName": "syncgroupcrud-7421", + "userName": "myUser", + "syncDirection": "Bidirectional", + "syncState": "UnProvisioned", + "usePrivateLinkConnection": true, + "syncMemberAzureDatabaseResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187/syncMembers/syncgroupcrud-4879", + "name": "syncgroupcrud-4879", + "type": "Microsoft.Sql/servers/databases/syncGroups/syncMembers" + } + }, + "201": { + "body": { + "properties": { + "databaseType": "AzureSqlDatabase", + "serverName": "syncgroupcrud-3379.database.windows.net", + "databaseName": "syncgroupcrud-7421", + "userName": "myUser", + "syncDirection": "Bidirectional", + "syncState": "UnProvisioned", + "usePrivateLinkConnection": true, + "syncMemberAzureDatabaseResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187/syncMembers/syncgroupcrud-4879", + "name": "syncgroupcrud-4879", + "type": "Microsoft.Sql/servers/databases/syncGroups/syncMembers" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberDelete.json new file mode 100644 index 000000000000..f6f8db22c960 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberDelete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "syncMemberName": "syncgroupcrud-4879", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberGet.json new file mode 100644 index 000000000000..8a1e356bfa96 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "syncMemberName": "syncgroupcrud-4879", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "databaseType": "AzureSqlDatabase", + "serverName": "syncgroupcrud-3379.database.windows.net", + "databaseName": "syncgroupcrud-7421", + "userName": "myUser", + "syncDirection": "Bidirectional", + "syncState": "UnProvisioned", + "usePrivateLinkConnection": true, + "syncMemberAzureDatabaseResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187/syncMembers/syncgroupcrud-4879", + "name": "syncgroupcrud-4879", + "type": "Microsoft.Sql/servers/databases/syncGroups/syncMembers" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberGetSchema.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberGetSchema.json new file mode 100644 index 000000000000..3cf3816fd255 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberGetSchema.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "syncMemberName": "syncgroupcrud-4879", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "tables": [ + { + "columns": [ + { + "dataSize": "4", + "dataType": "int", + "hasError": false, + "isPrimaryKey": false, + "name": "intField", + "quotedName": "[intField]" + }, + { + "dataSize": "100", + "dataType": "nvarchar", + "hasError": false, + "isPrimaryKey": false, + "name": "charField", + "quotedName": "[charField]" + } + ], + "errorId": "Schema_TableHasNoPrimaryKey", + "hasError": true, + "name": "dbo.myTable", + "quotedName": "[dbo].[myTable]" + } + ], + "lastUpdateTime": "2017-05-30T07:16:08.21Z" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberListBySyncGroup.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberListBySyncGroup.json new file mode 100644 index 000000000000..11497c9e4d7d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberListBySyncGroup.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "databaseType": "AzureSqlDatabase", + "serverName": "syncgroupcrud-3379.database.windows.net", + "databaseName": "syncgroupcrud-7421", + "userName": "myUser", + "syncDirection": "Bidirectional", + "syncState": "UnProvisioned", + "usePrivateLinkConnection": true, + "syncMemberAzureDatabaseResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187/syncMembers/syncgroupcrud-4879", + "name": "syncgroupcrud-4879", + "type": "Microsoft.Sql/servers/databases/syncGroups/syncMembers" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberPatch.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberPatch.json new file mode 100644 index 000000000000..1746bb5774c7 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberPatch.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "syncMemberName": "syncgroupcrud-4879", + "api-version": "2019-06-01-preview", + "parameters": { + "properties": { + "databaseType": "AzureSqlDatabase", + "serverName": "syncgroupcrud-3379.database.windows.net", + "databaseName": "syncgroupcrud-7421", + "userName": "myUser", + "syncDirection": "Bidirectional", + "usePrivateLinkConnection": true, + "syncMemberAzureDatabaseResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "databaseType": "AzureSqlDatabase", + "serverName": "syncgroupcrud-3379.database.windows.net", + "databaseName": "syncgroupcrud-7421", + "userName": "myUser", + "syncDirection": "Bidirectional", + "syncState": "UnProvisioned", + "usePrivateLinkConnection": true, + "syncMemberAzureDatabaseResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187/syncMembers/syncgroupcrud-4879", + "name": "syncgroupcrud-4879", + "type": "Microsoft.Sql/servers/databases/syncGroups/syncMembers" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberRefreshSchema.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberRefreshSchema.json new file mode 100644 index 000000000000..e1624a144833 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberRefreshSchema.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "syncMemberName": "syncgroupcrud-4879", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberUpdate.json new file mode 100644 index 000000000000..1ccc734d27a2 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberUpdate.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "syncgroupcrud-65440", + "serverName": "syncgroupcrud-8475", + "databaseName": "syncgroupcrud-4328", + "syncGroupName": "syncgroupcrud-3187", + "syncMemberName": "syncgroupcrud-4879", + "api-version": "2019-06-01-preview", + "parameters": { + "properties": { + "databaseType": "AzureSqlDatabase", + "serverName": "syncgroupcrud-3379.database.windows.net", + "databaseName": "syncgroupcrud-7421", + "userName": "myUser", + "syncDirection": "Bidirectional", + "usePrivateLinkConnection": true, + "syncMemberAzureDatabaseResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "databaseType": "AzureSqlDatabase", + "serverName": "syncgroupcrud-3379.database.windows.net", + "databaseName": "syncgroupcrud-7421", + "userName": "myUser", + "syncDirection": "Bidirectional", + "syncState": "UnProvisioned", + "usePrivateLinkConnection": true, + "syncMemberAzureDatabaseResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187/syncMembers/syncgroupcrud-4879", + "name": "syncgroupcrud-4879", + "type": "Microsoft.Sql/servers/databases/syncGroups/syncMembers" + } + }, + "201": { + "body": { + "properties": { + "databaseType": "AzureSqlDatabase", + "serverName": "syncgroupcrud-3379.database.windows.net", + "databaseName": "syncgroupcrud-7421", + "userName": "myUser", + "syncDirection": "Bidirectional", + "syncState": "UnProvisioned", + "usePrivateLinkConnection": true, + "syncMemberAzureDatabaseResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187/syncMembers/syncgroupcrud-4879", + "name": "syncgroupcrud-4879", + "type": "Microsoft.Sql/servers/databases/syncGroups/syncMembers" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/managedDatabases.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/managedDatabases.json index 195dd2b4ce58..37b1e4031a56 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/managedDatabases.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/managedDatabases.json @@ -101,7 +101,7 @@ } }, "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." + "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": { @@ -146,7 +146,7 @@ } }, "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." + "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": { @@ -257,7 +257,7 @@ "description": "Successfully deleted the managed database." }, "default": { - "description": "*** Error Responses: ***\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 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 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 DropDisallowedDuringFailover - Can not drop database because a failover operation is in progress on the failover group.\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 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 * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + "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." @@ -313,7 +313,7 @@ } }, "default": { - "description": "*** Error Responses: ***\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 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\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 ManagedDatabaseNameInUse - Database '{0}' already exists. Choose a different database name.\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 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 SourceDatabaseNotFound - The source database does not exist.\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 PasswordNotComplex - The provided password is not complex enough.\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 InvalidServerName - Invalid server name specified.\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 TokenTooLong - The provided token is too long.\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 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 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 DatabaseNumberLimitReached - Maximum number of databases for SQL Database Managed Instance reached.\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 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 CannotFindServerCertificateWithThumbprint - Cannot find server certificate with thumbprint '{0}'. Please use PowerShell Cmdlet 'Add-AzureRmSqlManagedInstanceTransparentDataEncryptionCertificate' to create the certificate.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\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 * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\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 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ManagementServiceDatabaseBusy - Database '{0}' is busy with another operation. Please try your operation later.\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 DatabaseUnavailable - The operation failed because the database is unavailable.\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." + "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." @@ -359,7 +359,7 @@ } }, "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." + "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": { @@ -410,7 +410,7 @@ "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 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\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 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 ExternalBackupUpgradeInProgress - The restore request cannot be completed, since upgrade is in progress.\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 IncompatiblePhysicalLayoutTooManyXTPFiles - Database backup contains incompatible physical layout. Multiple files found in the filegroup that contains MEMORY_OPTIMIZED_DATA.\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 ManagedInstanceStorageLimitHit - The managed instance has reached its storage limit.\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." + "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." @@ -606,7 +606,7 @@ ] }, "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.", + "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", diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/syncGroups.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/syncGroups.json new file mode 100644 index 000000000000..ab80ff901950 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/syncGroups.json @@ -0,0 +1,1079 @@ +{ + "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" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/syncDatabaseIds": { + "get": { + "tags": [ + "SyncGroups" + ], + "description": "Gets a collection of sync database ids.", + "operationId": "SyncGroups_ListSyncDatabaseIds", + "parameters": [ + { + "name": "locationName", + "in": "path", + "description": "The name of the region where the resource is located.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved collection of sync database ids.", + "schema": { + "$ref": "#/definitions/SyncDatabaseIdListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource 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 * 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." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get a sync database ID": { + "$ref": "./examples/SyncGroupGetSyncDatabaseId.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/refreshHubSchema": { + "post": { + "tags": [ + "SyncGroups" + ], + "description": "Refreshes a hub database schema.", + "operationId": "SyncGroups_RefreshHubSchema", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully refreshed a sync hub schema." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource 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 InvalidSyncGroup - Sync group is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\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 * 409 CannotCreateSyncGroupDueToQuotaExceeded - Cannot create sync group due to quota exceeded." + }, + "202": { + "description": "The sync hub schema refresh operation is on going." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Refresh a hub database schema.": { + "$ref": "./examples/SyncGroupRefreshHubSchema.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/hubSchemas": { + "get": { + "tags": [ + "SyncGroups" + ], + "description": "Gets a collection of hub database schemas.", + "operationId": "SyncGroups_ListHubSchemas", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully get a sync group hub database schema.", + "schema": { + "$ref": "#/definitions/SyncFullSchemaPropertiesListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource 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 InvalidSyncGroup - Sync group is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\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 * 409 CannotCreateSyncGroupDueToQuotaExceeded - Cannot create sync group due to quota exceeded." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get a hub database schema.": { + "$ref": "./examples/SyncGroupGetHubSchema.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/logs": { + "get": { + "tags": [ + "SyncGroups" + ], + "description": "Gets a collection of sync group logs.", + "operationId": "SyncGroups_ListLogs", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group.", + "required": true, + "type": "string" + }, + { + "name": "startTime", + "in": "query", + "description": "Get logs generated after this time.", + "required": true, + "type": "string" + }, + { + "name": "endTime", + "in": "query", + "description": "Get logs generated before this time.", + "required": true, + "type": "string" + }, + { + "name": "type", + "in": "query", + "description": "The types of logs to retrieve.", + "required": true, + "type": "string", + "enum": [ + "All", + "Error", + "Warning", + "Success" + ] + }, + { + "name": "continuationToken", + "in": "query", + "description": "The continuation token for this operation.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved sync group logs.", + "schema": { + "$ref": "#/definitions/SyncGroupLogListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource 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 InvalidSyncGroup - Sync group is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\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 * 409 CannotCreateSyncGroupDueToQuotaExceeded - Cannot create sync group due to quota exceeded." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get sync group logs": { + "$ref": "./examples/SyncGroupGetLog.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/cancelSync": { + "post": { + "tags": [ + "SyncGroups" + ], + "description": "Cancels a sync group synchronization.", + "operationId": "SyncGroups_CancelSync", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully cancel a sync group synchronization." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource 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 InvalidSyncGroup - Sync group is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\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 * 409 CannotCreateSyncGroupDueToQuotaExceeded - Cannot create sync group due to quota exceeded." + } + }, + "x-ms-examples": { + "Cancel a sync group synchronization": { + "$ref": "./examples/SyncGroupCancelSync.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/triggerSync": { + "post": { + "tags": [ + "SyncGroups" + ], + "description": "Triggers a sync group synchronization.", + "operationId": "SyncGroups_TriggerSync", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully triggered a sync group synchronization." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource 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 InvalidSyncGroup - Sync group is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\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 * 409 CannotCreateSyncGroupDueToQuotaExceeded - Cannot create sync group due to quota exceeded." + } + }, + "x-ms-examples": { + "Trigger a sync group synchronization.": { + "$ref": "./examples/SyncGroupTriggerSync.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}": { + "get": { + "tags": [ + "SyncGroups" + ], + "description": "Gets a sync group.", + "operationId": "SyncGroups_Get", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified sync group.", + "schema": { + "$ref": "#/definitions/SyncGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource 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 InvalidSyncGroup - Sync group is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\n\n * 404 ResourceNotFound - The requested resource was not found.\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 * 409 CannotCreateSyncGroupDueToQuotaExceeded - Cannot create sync group due to quota exceeded." + } + }, + "x-ms-examples": { + "Get a sync group": { + "$ref": "./examples/SyncGroupGet.json" + } + } + }, + "put": { + "tags": [ + "SyncGroups" + ], + "description": "Creates or updates a sync group.", + "operationId": "SyncGroups_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested sync group resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/SyncGroup" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the sync group.", + "schema": { + "$ref": "#/definitions/SyncGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource 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 InvalidSyncGroup - Sync group is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\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 * 409 CannotCreateSyncGroupDueToQuotaExceeded - Cannot create sync group due to quota exceeded." + }, + "202": { + "description": "Creating or updating the sync group is in progress." + }, + "201": { + "description": "Successfully created the sync group.", + "schema": { + "$ref": "#/definitions/SyncGroup" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a sync group": { + "$ref": "./examples/SyncGroupCreate.json" + }, + "Update a sync group": { + "$ref": "./examples/SyncGroupUpdate.json" + } + } + }, + "delete": { + "tags": [ + "SyncGroups" + ], + "description": "Deletes a sync group.", + "operationId": "SyncGroups_Delete", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the sync group." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource 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 InvalidSyncGroup - Sync group is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\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 * 409 CannotCreateSyncGroupDueToQuotaExceeded - Cannot create sync group due to quota exceeded." + }, + "202": { + "description": "Deleting the sync group is in progress." + }, + "204": { + "description": "The specified sync group does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a sync group": { + "$ref": "./examples/SyncGroupDelete.json" + } + } + }, + "patch": { + "tags": [ + "SyncGroups" + ], + "description": "Updates a sync group.", + "operationId": "SyncGroups_Update", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested sync group resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/SyncGroup" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the sync group.", + "schema": { + "$ref": "#/definitions/SyncGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource 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 InvalidSyncGroup - Sync group is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\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 * 409 CannotCreateSyncGroupDueToQuotaExceeded - Cannot create sync group due to quota exceeded." + }, + "202": { + "description": "Updating the sync group is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a sync group": { + "$ref": "./examples/SyncGroupPatch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups": { + "get": { + "tags": [ + "SyncGroups" + ], + "description": "Lists sync groups under a hub database.", + "operationId": "SyncGroups_ListByDatabase", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of sync groups.", + "schema": { + "$ref": "#/definitions/SyncGroupListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource 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 InvalidSyncGroup - Sync group is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\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 * 409 CannotCreateSyncGroupDueToQuotaExceeded - Cannot create sync group due to quota exceeded." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List sync groups under a given database": { + "$ref": "./examples/SyncGroupListByDatabase.json" + } + } + } + } + }, + "definitions": { + "SyncDatabaseIdListResult": { + "description": "A list of sync database ID properties.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SyncDatabaseIdProperties" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "SyncDatabaseIdProperties": { + "description": "Properties of the sync database id.", + "type": "object", + "properties": { + "id": { + "description": "ARM resource id of sync database.", + "type": "string", + "readOnly": true + } + } + }, + "SyncFullSchemaPropertiesListResult": { + "description": "A list of sync schema properties.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SyncFullSchemaProperties" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "SyncFullSchemaProperties": { + "description": "Properties of the database full schema.", + "type": "object", + "properties": { + "tables": { + "description": "List of tables in the database full schema.", + "type": "array", + "items": { + "$ref": "#/definitions/SyncFullSchemaTable" + }, + "readOnly": true + }, + "lastUpdateTime": { + "format": "date-time", + "description": "Last update time of the database schema.", + "type": "string", + "readOnly": true + } + } + }, + "SyncFullSchemaTable": { + "description": "Properties of the table in the database full schema.", + "type": "object", + "properties": { + "columns": { + "description": "List of columns in the table of database full schema.", + "type": "array", + "items": { + "$ref": "#/definitions/SyncFullSchemaTableColumn" + }, + "readOnly": true + }, + "errorId": { + "description": "Error id of the table.", + "type": "string", + "readOnly": true + }, + "hasError": { + "description": "If there is error in the table.", + "type": "boolean", + "readOnly": true + }, + "name": { + "description": "Name of the table.", + "type": "string", + "readOnly": true + }, + "quotedName": { + "description": "Quoted name of the table.", + "type": "string", + "readOnly": true + } + } + }, + "SyncFullSchemaTableColumn": { + "description": "Properties of the column in the table of database full schema.", + "type": "object", + "properties": { + "dataSize": { + "description": "Data size of the column.", + "type": "string", + "readOnly": true + }, + "dataType": { + "description": "Data type of the column.", + "type": "string", + "readOnly": true + }, + "errorId": { + "description": "Error id of the column.", + "type": "string", + "readOnly": true + }, + "hasError": { + "description": "If there is error in the table.", + "type": "boolean", + "readOnly": true + }, + "isPrimaryKey": { + "description": "If it is the primary key of the table.", + "type": "boolean", + "readOnly": true + }, + "name": { + "description": "Name of the column.", + "type": "string", + "readOnly": true + }, + "quotedName": { + "description": "Quoted name of the column.", + "type": "string", + "readOnly": true + } + } + }, + "SyncGroupLogListResult": { + "description": "A list of sync group log properties.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SyncGroupLogProperties" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "SyncGroupLogProperties": { + "description": "Properties of an Azure SQL Database sync group log.", + "type": "object", + "properties": { + "timestamp": { + "format": "date-time", + "description": "Timestamp of the sync group log.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of the sync group log.", + "enum": [ + "All", + "Error", + "Warning", + "Success" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SyncGroupLogType", + "modelAsString": true + } + }, + "source": { + "description": "Source of the sync group log.", + "type": "string", + "readOnly": true + }, + "details": { + "description": "Details of the sync group log.", + "type": "string", + "readOnly": true + }, + "tracingId": { + "format": "uuid", + "description": "TracingId of the sync group log.", + "type": "string", + "readOnly": true + }, + "operationStatus": { + "description": "OperationStatus of the sync group log.", + "type": "string", + "readOnly": true + } + } + }, + "SyncGroupProperties": { + "description": "Properties of a sync group.", + "type": "object", + "properties": { + "interval": { + "format": "int32", + "description": "Sync interval of the sync group.", + "type": "integer" + }, + "lastSyncTime": { + "format": "date-time", + "description": "Last sync time of the sync group.", + "type": "string", + "readOnly": true + }, + "conflictResolutionPolicy": { + "description": "Conflict resolution policy of the sync group.", + "enum": [ + "HubWin", + "MemberWin" + ], + "type": "string", + "x-ms-enum": { + "name": "SyncConflictResolutionPolicy", + "modelAsString": true + } + }, + "syncDatabaseId": { + "description": "ARM resource id of the sync database in the sync group.", + "type": "string" + }, + "hubDatabaseUserName": { + "description": "User name for the sync group hub database credential.", + "type": "string" + }, + "hubDatabasePassword": { + "description": "Password for the sync group hub database credential.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "syncState": { + "description": "Sync state of the sync group.", + "enum": [ + "NotReady", + "Error", + "Warning", + "Progressing", + "Good" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SyncGroupState", + "modelAsString": true + } + }, + "schema": { + "$ref": "#/definitions/SyncGroupSchema", + "description": "Sync schema of the sync group." + }, + "usePrivateLinkConnection": { + "description": "If use private link connection is enabled.", + "type": "boolean" + } + } + }, + "SyncGroupSchema": { + "description": "Properties of sync group schema.", + "type": "object", + "properties": { + "tables": { + "description": "List of tables in sync group schema.", + "type": "array", + "items": { + "$ref": "#/definitions/SyncGroupSchemaTable" + } + }, + "masterSyncMemberName": { + "description": "Name of master sync member where the schema is from.", + "type": "string" + } + } + }, + "SyncGroupSchemaTable": { + "description": "Properties of table in sync group schema.", + "type": "object", + "properties": { + "columns": { + "description": "List of columns in sync group schema.", + "type": "array", + "items": { + "$ref": "#/definitions/SyncGroupSchemaTableColumn" + } + }, + "quotedName": { + "description": "Quoted name of sync group schema table.", + "type": "string" + } + } + }, + "SyncGroupSchemaTableColumn": { + "description": "Properties of column in sync group table.", + "type": "object", + "properties": { + "quotedName": { + "description": "Quoted name of sync group table column.", + "type": "string" + }, + "dataSize": { + "description": "Data size of the column.", + "type": "string" + }, + "dataType": { + "description": "Data type of the column.", + "type": "string" + } + } + }, + "SyncGroup": { + "description": "An Azure SQL Database sync group.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SyncGroupProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "SyncGroupListResult": { + "description": "A list of sync groups.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SyncGroup" + }, + "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" + }, + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "description": "The name of the 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/2019-06-01-preview/syncMembers.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/syncMembers.json new file mode 100644 index 000000000000..ba60112d1b74 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/syncMembers.json @@ -0,0 +1,774 @@ +{ + "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" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}": { + "get": { + "tags": [ + "SyncMembers" + ], + "description": "Gets a sync member.", + "operationId": "SyncMembers_Get", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group on which the sync member is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncMemberName", + "in": "path", + "description": "The name of the sync member.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified sync member.", + "schema": { + "$ref": "#/definitions/SyncMember" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource 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 InvalidSyncGroup - Sync group is invalid.\n\n * 400 InvalidSyncMember - Sync member is invalid.\n\n * 400 InvalidSyncAgent - Sync agent is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\n\n * 404 ResourceNotFound - The requested resource was not found.\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 * 409 CannotCreateSyncMemberDueToQuotaExceeded - Cannot create sync member due to quota exceeded." + } + }, + "x-ms-examples": { + "Get a sync member": { + "$ref": "./examples/SyncMemberGet.json" + } + } + }, + "put": { + "tags": [ + "SyncMembers" + ], + "description": "Creates or updates a sync member.", + "operationId": "SyncMembers_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group on which the sync member is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncMemberName", + "in": "path", + "description": "The name of the sync member.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested sync member resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/SyncMember" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the sync member.", + "schema": { + "$ref": "#/definitions/SyncMember" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource 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 InvalidSyncGroup - Sync group is invalid.\n\n * 400 InvalidSyncMember - Sync member is invalid.\n\n * 400 InvalidSyncAgent - Sync agent is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\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 * 409 CannotCreateSyncMemberDueToQuotaExceeded - Cannot create sync member due to quota exceeded." + }, + "202": { + "description": "Creating or updating the sync member is in progress." + }, + "201": { + "description": "Successfully created the sync member.", + "schema": { + "$ref": "#/definitions/SyncMember" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a new sync member": { + "$ref": "./examples/SyncMemberCreate.json" + }, + "Update a sync member": { + "$ref": "./examples/SyncMemberUpdate.json" + } + } + }, + "delete": { + "tags": [ + "SyncMembers" + ], + "description": "Deletes a sync member.", + "operationId": "SyncMembers_Delete", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group on which the sync member is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncMemberName", + "in": "path", + "description": "The name of the sync member.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the sync member." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource 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 InvalidSyncGroup - Sync group is invalid.\n\n * 400 InvalidSyncMember - Sync member is invalid.\n\n * 400 InvalidSyncAgent - Sync agent is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\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 * 409 CannotCreateSyncMemberDueToQuotaExceeded - Cannot create sync member due to quota exceeded." + }, + "202": { + "description": "Deleting the sync member is in progress." + }, + "204": { + "description": "The specified sync member does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a sync member": { + "$ref": "./examples/SyncMemberDelete.json" + } + } + }, + "patch": { + "tags": [ + "SyncMembers" + ], + "description": "Updates an existing sync member.", + "operationId": "SyncMembers_Update", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group on which the sync member is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncMemberName", + "in": "path", + "description": "The name of the sync member.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested sync member resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/SyncMember" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the sync member.", + "schema": { + "$ref": "#/definitions/SyncMember" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource 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 InvalidSyncGroup - Sync group is invalid.\n\n * 400 InvalidSyncMember - Sync member is invalid.\n\n * 400 InvalidSyncAgent - Sync agent is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\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 * 409 CannotCreateSyncMemberDueToQuotaExceeded - Cannot create sync member due to quota exceeded." + }, + "202": { + "description": "Updating the sync member is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update an existing sync member": { + "$ref": "./examples/SyncMemberPatch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers": { + "get": { + "tags": [ + "SyncMembers" + ], + "description": "Lists sync members in the given sync group.", + "operationId": "SyncMembers_ListBySyncGroup", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of sync members.", + "schema": { + "$ref": "#/definitions/SyncMemberListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource 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 InvalidSyncGroup - Sync group is invalid.\n\n * 400 InvalidSyncMember - Sync member is invalid.\n\n * 400 InvalidSyncAgent - Sync agent is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\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 * 409 CannotCreateSyncMemberDueToQuotaExceeded - Cannot create sync member due to quota exceeded." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List sync members under a sync group": { + "$ref": "./examples/SyncMemberListBySyncGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}/schemas": { + "get": { + "tags": [ + "SyncMembers" + ], + "description": "Gets a sync member database schema.", + "operationId": "SyncMembers_ListMemberSchemas", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group on which the sync member is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncMemberName", + "in": "path", + "description": "The name of the sync member.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully get a sync member schema.", + "schema": { + "$ref": "#/definitions/SyncFullSchemaPropertiesListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource 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 InvalidSyncGroup - Sync group is invalid.\n\n * 400 InvalidSyncMember - Sync member is invalid.\n\n * 400 InvalidSyncAgent - Sync agent is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\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 * 409 CannotCreateSyncMemberDueToQuotaExceeded - Cannot create sync member due to quota exceeded." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get a sync member schema": { + "$ref": "./examples/SyncMemberGetSchema.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}/refreshSchema": { + "post": { + "tags": [ + "SyncMembers" + ], + "description": "Refreshes a sync member database schema.", + "operationId": "SyncMembers_RefreshMemberSchema", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database on which the sync group is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "The name of the sync group on which the sync member is hosted.", + "required": true, + "type": "string" + }, + { + "name": "syncMemberName", + "in": "path", + "description": "The name of the sync member.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully refreshed a sync member schema." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.\n\n * 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.\n\n * 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.\n\n * 400 InvalidDatabaseResourceId - Invalid database resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidSyncAgentResourceId - Invalid sync agent resource 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 InvalidSyncGroup - Sync group is invalid.\n\n * 400 InvalidSyncMember - Sync member is invalid.\n\n * 400 InvalidSyncAgent - Sync agent is invalid.\n\n * 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.\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 * 409 CannotCreateSyncMemberDueToQuotaExceeded - Cannot create sync member due to quota exceeded." + }, + "202": { + "description": "The sync member schema refresh operation is on going." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Refresh a sync member database schema": { + "$ref": "./examples/SyncMemberRefreshSchema.json" + } + } + } + } + }, + "definitions": { + "SyncMemberProperties": { + "description": "Properties of a sync member.", + "type": "object", + "properties": { + "databaseType": { + "description": "Database type of the sync member.", + "enum": [ + "AzureSqlDatabase", + "SqlServerDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "SyncMemberDbType", + "modelAsString": true + } + }, + "syncAgentId": { + "description": "ARM resource id of the sync agent in the sync member.", + "type": "string" + }, + "sqlServerDatabaseId": { + "format": "uuid", + "description": "SQL Server database id of the sync member.", + "type": "string" + }, + "syncMemberAzureDatabaseResourceId": { + "description": "ARM resource id of the sync member logical database, for sync members in Azure.", + "type": "string" + }, + "usePrivateLinkConnection": { + "description": "Whether to use private link connection.", + "type": "boolean" + }, + "serverName": { + "description": "Server name of the member database in the sync member", + "type": "string" + }, + "databaseName": { + "description": "Database name of the member database in the sync member.", + "type": "string" + }, + "userName": { + "description": "User name of the member database in the sync member.", + "type": "string" + }, + "password": { + "description": "Password of the member database in the sync member.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "syncDirection": { + "description": "Sync direction of the sync member.", + "enum": [ + "Bidirectional", + "OneWayMemberToHub", + "OneWayHubToMember" + ], + "type": "string", + "x-ms-enum": { + "name": "SyncDirection", + "modelAsString": true + } + }, + "syncState": { + "description": "Sync state of the sync member.", + "enum": [ + "SyncInProgress", + "SyncSucceeded", + "SyncFailed", + "DisabledTombstoneCleanup", + "DisabledBackupRestore", + "SyncSucceededWithWarnings", + "SyncCancelling", + "SyncCancelled", + "UnProvisioned", + "Provisioning", + "Provisioned", + "ProvisionFailed", + "DeProvisioning", + "DeProvisioned", + "DeProvisionFailed", + "Reprovisioning", + "ReprovisionFailed", + "UnReprovisioned" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SyncMemberState", + "modelAsString": true + } + } + } + }, + "SyncMember": { + "description": "An Azure SQL Database sync member.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SyncMemberProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "SyncMemberListResult": { + "description": "A list of Azure SQL Database sync members.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SyncMember" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "SyncFullSchemaPropertiesListResult": { + "description": "A list of sync schema properties.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SyncFullSchemaProperties" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "SyncFullSchemaProperties": { + "description": "Properties of the database full schema.", + "type": "object", + "properties": { + "tables": { + "description": "List of tables in the database full schema.", + "type": "array", + "items": { + "$ref": "#/definitions/SyncFullSchemaTable" + }, + "readOnly": true + }, + "lastUpdateTime": { + "format": "date-time", + "description": "Last update time of the database schema.", + "type": "string", + "readOnly": true + } + } + }, + "SyncFullSchemaTable": { + "description": "Properties of the table in the database full schema.", + "type": "object", + "properties": { + "columns": { + "description": "List of columns in the table of database full schema.", + "type": "array", + "items": { + "$ref": "#/definitions/SyncFullSchemaTableColumn" + }, + "readOnly": true + }, + "errorId": { + "description": "Error id of the table.", + "type": "string", + "readOnly": true + }, + "hasError": { + "description": "If there is error in the table.", + "type": "boolean", + "readOnly": true + }, + "name": { + "description": "Name of the table.", + "type": "string", + "readOnly": true + }, + "quotedName": { + "description": "Quoted name of the table.", + "type": "string", + "readOnly": true + } + } + }, + "SyncFullSchemaTableColumn": { + "description": "Properties of the column in the table of database full schema.", + "type": "object", + "properties": { + "dataSize": { + "description": "Data size of the column.", + "type": "string", + "readOnly": true + }, + "dataType": { + "description": "Data type of the column.", + "type": "string", + "readOnly": true + }, + "errorId": { + "description": "Error id of the column.", + "type": "string", + "readOnly": true + }, + "hasError": { + "description": "If there is error in the table.", + "type": "boolean", + "readOnly": true + }, + "isPrimaryKey": { + "description": "If it is the primary key of the table.", + "type": "boolean", + "readOnly": true + }, + "name": { + "description": "Name of the column.", + "type": "string", + "readOnly": true + }, + "quotedName": { + "description": "Quoted name of the column.", + "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" + } + }, + "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/backupLongTermRetentionPolicies.json b/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/backupLongTermRetentionPolicies.json deleted file mode 100644 index 63699e0d02b9..000000000000 --- a/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/backupLongTermRetentionPolicies.json +++ /dev/null @@ -1,279 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Azure SQL Database Backup Long Term Retention Policy", - "description": "Provides read and update functionality for Azure SQL Database backup long term retention policy", - "version": "2014-04-01" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/{backupLongTermRetentionPolicyName}": { - "get": { - "tags": [ - "BackupLongTermRetentionPolicies" - ], - "operationId": "BackupLongTermRetentionPolicies_Get", - "description": "Returns a database backup long term retention policy", - "x-ms-examples": { - "Get backup long term retention policy": { - "$ref": "./examples/BackupLongTermRetentionPolicyGet.json" - } - }, - "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": "databaseName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the database." - }, - { - "name": "backupLongTermRetentionPolicyName", - "in": "path", - "description": "The name of the backup long term retention policy", - "required": true, - "type": "string", - "enum": [ - "Default" - ], - "x-ms-enum": { - "name": "BackupLongTermRetentionPolicyName", - "modelAsString": true - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/BackupLongTermRetentionPolicy" - } - } - } - }, - "put": { - "tags": [ - "BackupLongTermRetentionPolicies" - ], - "operationId": "BackupLongTermRetentionPolicies_CreateOrUpdate", - "description": "Creates or updates a database backup long term retention policy", - "x-ms-examples": { - "Update backup long term retention policy": { - "$ref": "./examples/BackupLongTermRetentionPolicyUpdate.json" - } - }, - "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": "databaseName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the database" - }, - { - "name": "backupLongTermRetentionPolicyName", - "in": "path", - "description": "The name of the backup long term retention policy", - "required": true, - "type": "string", - "enum": [ - "Default" - ], - "x-ms-enum": { - "name": "BackupLongTermRetentionPolicyName", - "modelAsString": true - } - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/BackupLongTermRetentionPolicy" - }, - "description": "The required parameters to update a backup long term retention policy" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/BackupLongTermRetentionPolicy" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/BackupLongTermRetentionPolicy" - } - }, - "202": { - "description": "Accepted" - } - }, - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies": { - "get": { - "tags": [ - "BackupLongTermRetentionPolicies" - ], - "operationId": "BackupLongTermRetentionPolicies_ListByDatabase", - "description": "Returns a database backup long term retention policy", - "x-ms-examples": { - "Get backup long term retention policy": { - "$ref": "./examples/BackupLongTermRetentionPolicyList.json" - } - }, - "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": "databaseName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the database." - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/BackupLongTermRetentionPolicyListResult" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - } - }, - "definitions": { - "BackupLongTermRetentionPolicyProperties": { - "properties": { - "state": { - "type": "string", - "description": "The status of the backup long term retention policy", - "enum": [ - "Disabled", - "Enabled" - ], - "x-ms-enum": { - "name": "BackupLongTermRetentionPolicyState" - } - }, - "recoveryServicesBackupPolicyResourceId": { - "type": "string", - "description": "The azure recovery services backup protection policy resource id" - } - }, - "required": [ - "state", - "recoveryServicesBackupPolicyResourceId" - ], - "description": "The properties of a backup long term retention policy" - }, - "BackupLongTermRetentionPolicy": { - "properties": { - "location": { - "type": "string", - "readOnly": true, - "description": "The geo-location where the resource lives" - }, - "properties": { - "$ref": "#/definitions/BackupLongTermRetentionPolicyProperties", - "description": "The properties of the backup long term retention policy", - "x-ms-client-flatten": true - } - }, - "allOf": [ - { - "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" - } - ], - "description": "A backup long term retention policy" - }, - "BackupLongTermRetentionPolicyListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/BackupLongTermRetentionPolicy" - }, - "description": "The list of long-term retention policies in the database." - } - }, - "required": [ - "value" - ], - "description": "Represents the response to a list long-term retention policies request." - } - }, - "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", - "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/backupLongTermRetentionVaults.json b/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/backupLongTermRetentionVaults.json deleted file mode 100644 index f99b9020d32c..000000000000 --- a/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/backupLongTermRetentionVaults.json +++ /dev/null @@ -1,246 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Azure SQL Server Backup Long Term Retention Vault", - "description": "Provides read and update functionality for Azure SQL Server backup long term retention vault", - "version": "2014-04-01" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/backupLongTermRetentionVaults/{backupLongTermRetentionVaultName}": { - "get": { - "tags": [ - "BackupLongTermRetentionVaults" - ], - "operationId": "BackupLongTermRetentionVaults_Get", - "description": "Gets a server backup long term retention vault", - "x-ms-examples": { - "Get backup long term retention vault": { - "$ref": "./examples/BackupLongTermRetentionVaultGet.json" - } - }, - "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": "backupLongTermRetentionVaultName", - "in": "path", - "description": "The name of the Azure SQL Server backup LongTermRetention vault", - "required": true, - "type": "string", - "enum": [ - "RegisteredVault" - ], - "x-ms-enum": { - "name": "BackupLongTermRetentionVaultName", - "modelAsString": true - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/BackupLongTermRetentionVault" - } - } - } - }, - "put": { - "tags": [ - "BackupLongTermRetentionVaults" - ], - "operationId": "BackupLongTermRetentionVaults_CreateOrUpdate", - "description": "Updates a server backup long term retention vault", - "x-ms-examples": { - "Update backup long term retention vault": { - "$ref": "./examples/BackupLongTermRetentionVaultUpdate.json" - } - }, - "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": "backupLongTermRetentionVaultName", - "in": "path", - "description": "The name of the backup long term retention vault", - "required": true, - "type": "string", - "enum": [ - "RegisteredVault" - ], - "x-ms-enum": { - "name": "BackupLongTermRetentionVaultName", - "modelAsString": true - } - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/BackupLongTermRetentionVault" - }, - "description": "The required parameters to update a backup long term retention vault" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/BackupLongTermRetentionVault" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/BackupLongTermRetentionVault" - } - }, - "202": { - "description": "Accepted" - } - }, - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/backupLongTermRetentionVaults": { - "get": { - "tags": [ - "BackupLongTermRetentionVaults" - ], - "operationId": "BackupLongTermRetentionVaults_ListByServer", - "description": "Gets server backup long term retention vaults in a server", - "x-ms-examples": { - "Get backup long term retention vault": { - "$ref": "./examples/BackupLongTermRetentionVaultList.json" - } - }, - "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": "OK", - "schema": { - "$ref": "#/definitions/BackupLongTermRetentionVaultListResult" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - } - }, - "definitions": { - "BackupLongTermRetentionVaultProperties": { - "properties": { - "recoveryServicesVaultResourceId": { - "type": "string", - "description": "The azure recovery services vault resource id" - } - }, - "required": [ - "recoveryServicesVaultResourceId" - ], - "description": "The properties of a backup long term retention vault." - }, - "BackupLongTermRetentionVault": { - "properties": { - "location": { - "type": "string", - "readOnly": true, - "description": "The geo-location where the resource lives" - }, - "properties": { - "$ref": "#/definitions/BackupLongTermRetentionVaultProperties", - "description": "The properties of the backup long term retention vault", - "x-ms-client-flatten": true - } - }, - "allOf": [ - { - "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" - } - ], - "description": "A backup long term retention vault" - }, - "BackupLongTermRetentionVaultListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/BackupLongTermRetentionVault" - }, - "description": "The list of vaults in the server." - } - }, - "required": [ - "value" - ], - "description": "Represents the response to a list vaults request." - } - }, - "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", - "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/BackupLongTermRetentionPolicyGet.json b/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/BackupLongTermRetentionPolicyGet.json deleted file mode 100644 index 93363b068510..000000000000 --- a/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/BackupLongTermRetentionPolicyGet.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "longtermretentiontest-1234", - "serverName": "longtermretentiontest-5678", - "databaseName": "longtermretentiontest-9012", - "backupLongTermRetentionPolicyName": "Default", - "api-version": "2014-04-01" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/longtermretentiontest-1234/providers/Microsoft.Sql/servers/longtermretentiontest-5678/databases/longtermretentiontest-9012/backupLongTermRetentionPolicies/Default", - "name": "Default", - "type": "Microsoft.Sql/servers/databases/backupLongTermRetentionPolicies", - "location": "Japan East", - "properties": { - "recoveryServicesBackupPolicyResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/longtermretentionvaulttest-1234/providers/Microsoft.RecoveryServices/vaults/testVaultabc/backupPolicies/testPolicyxyz", - "state": "Enabled" - } - } - } - } -} diff --git a/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/BackupLongTermRetentionPolicyList.json b/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/BackupLongTermRetentionPolicyList.json deleted file mode 100644 index 28f8c70d6fd4..000000000000 --- a/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/BackupLongTermRetentionPolicyList.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "longtermretentiontest-1234", - "serverName": "longtermretentiontest-5678", - "databaseName": "longtermretentiontest-9012", - "backupLongTermRetentionPolicyName": "Default", - "api-version": "2014-04-01" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/longtermretentiontest-1234/providers/Microsoft.Sql/servers/longtermretentiontest-5678/databases/longtermretentiontest-9012/backupLongTermRetentionPolicies/Default", - "name": "Default", - "type": "Microsoft.Sql/servers/databases/backupLongTermRetentionPolicies", - "location": "Japan East", - "properties": { - "recoveryServicesBackupPolicyResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/longtermretentionvaulttest-1234/providers/Microsoft.RecoveryServices/vaults/testVaultabc/backupPolicies/testPolicyxyz", - "state": "Enabled" - } - } - ] - } - } - } -} diff --git a/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/BackupLongTermRetentionPolicyUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/BackupLongTermRetentionPolicyUpdate.json deleted file mode 100644 index de1cf5233a3a..000000000000 --- a/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/BackupLongTermRetentionPolicyUpdate.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "longtermretentiontest-1234", - "serverName": "longtermretentiontest-5678", - "databaseName": "longtermretentiontest-9012", - "backupLongTermRetentionPolicyName": "Default", - "api-version": "2014-04-01", - "parameters": { - "properties": { - "recoveryServicesBackupPolicyResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/longtermretentionvaulttest-1234/providers/Microsoft.RecoveryServices/vaults/testVaultabc/backupPolicies/testPolicyxyz", - "state": "Enabled" - }, - "location": "Japan East" - } - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/longtermretentiontest-1234/providers/Microsoft.Sql/servers/longtermretentiontest-5678/databases/longtermretentiontest-9012/backupLongTermRetentionPolicies/Default", - "name": "Default", - "type": "Microsoft.Sql/servers/databases/backupLongTermRetentionPolicies", - "location": "Japan East", - "properties": { - "recoveryServicesBackupPolicyResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/longtermretentionvaulttest-1234/providers/Microsoft.RecoveryServices/vaults/testVaultabc/backupPolicies/testPolicyxyz", - "state": "Enabled" - } - } - }, - "201": { - "body": { - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/longtermretentiontest-1234/providers/Microsoft.Sql/servers/longtermretentiontest-5678/databases/longtermretentiontest-9012/backupLongTermRetentionPolicies/Default", - "name": "Default", - "type": "Microsoft.Sql/servers/databases/backupLongTermRetentionPolicies", - "location": "Japan East", - "properties": { - "recoveryServicesBackupPolicyResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/longtermretentionvaulttest-1234/providers/Microsoft.RecoveryServices/vaults/testVaultabc/backupPolicies/testPolicyxyz", - "state": "Enabled" - } - } - }, - "202": {} - } -} diff --git a/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/BackupLongTermRetentionVaultGet.json b/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/BackupLongTermRetentionVaultGet.json deleted file mode 100644 index 71d522217d44..000000000000 --- a/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/BackupLongTermRetentionVaultGet.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "longtermretentiontest-1234", - "serverName": "longtermretentiontest-5678", - "backupLongTermRetentionVaultName": "RegisteredVault", - "api-version": "2014-04-01" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/longtermretentiontest-1234/providers/Microsoft.Sql/servers/longtermretentiontest-5678/backupLongTermRetentionVaults/RegisteredVault", - "name": "RegisteredVault", - "type": "Microsoft.Sql/servers/backupLongTermRetentionVaults", - "location": "Japan East", - "properties": { - "recoveryServicesVaultResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/longtermretentionvaulttest-1234/providers/Microsoft.RecoveryServices/vaults/testVaultabc" - } - } - } - } -} diff --git a/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/BackupLongTermRetentionVaultList.json b/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/BackupLongTermRetentionVaultList.json deleted file mode 100644 index 309ca317552c..000000000000 --- a/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/BackupLongTermRetentionVaultList.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "longtermretentiontest-1234", - "serverName": "longtermretentiontest-5678", - "api-version": "2014-04-01" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/longtermretentiontest-1234/providers/Microsoft.Sql/servers/longtermretentiontest-5678/backupLongTermRetentionVaults/RegisteredVault", - "name": "RegisteredVault", - "type": "Microsoft.Sql/servers/backupLongTermRetentionVaults", - "location": "Japan East", - "properties": { - "recoveryServicesVaultResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/longtermretentionvaulttest-1234/providers/Microsoft.RecoveryServices/vaults/testVaultabc" - } - } - ] - } - } - } -} diff --git a/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/BackupLongTermRetentionVaultUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/BackupLongTermRetentionVaultUpdate.json deleted file mode 100644 index f6c1aadd3e9b..000000000000 --- a/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/BackupLongTermRetentionVaultUpdate.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "longtermretentiontest-1234", - "serverName": "longtermretentiontest-5678", - "backupLongTermRetentionVaultName": "RegisteredVault", - "api-version": "2014-04-01", - "parameters": { - "properties": { - "recoveryServicesVaultResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/longtermretentiontest-5678/providers/Microsoft.RecoveryServices/vaults/testVaultabc" - }, - "location": "Japan East" - } - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/longtermretentiontest-1234/providers/Microsoft.Sql/servers/longtermretentiontest-5678/backupLongTermRetentionVaults/RegisteredVault", - "name": "RegisteredVault", - "type": "Microsoft.Sql/servers/backupLongTermRetentionVaults", - "location": "Japan East", - "properties": { - "recoveryServicesVaultResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/longtermretentionvaulttest-1234/providers/Microsoft.RecoveryServices/vaults/testVaultabc" - } - } - }, - "201": { - "body": { - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/longtermretentiontest-1234/providers/Microsoft.Sql/servers/longtermretentiontest-5678/backupLongTermRetentionVaults/RegisteredVault", - "name": "RegisteredVault", - "type": "Microsoft.Sql/servers/backupLongTermRetentionVaults", - "location": "Japan East", - "properties": { - "recoveryServicesVaultResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/longtermretentionvaulttest-1234/providers/Microsoft.RecoveryServices/vaults/testVaultabc" - } - } - }, - "202": {} - } -} diff --git a/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/OperationList.json b/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/OperationList.json index 5b54c709b1f8..e2eebc1c75e7 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/OperationList.json +++ b/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/OperationList.json @@ -1136,22 +1136,6 @@ "resource": "Data Warehouse Query Step", "operation": "Get details about data warehouse query step" } - }, - { - "name": "Microsoft.Sql/servers/backupLongTermRetentionVaults/read", - "display": { - "provider": "Microsoft SQL Database", - "resource": "A backup long term retention vault", - "operation": "Read a backup long term retention vault" - } - }, - { - "name": "Microsoft.Sql/servers/backupLongTermRetentionVaults/write", - "display": { - "provider": "Microsoft SQL Database", - "resource": "A backup long term retention vault", - "operation": "This operation is used to register a backup long term retention vault to a server." - } } ] } diff --git a/specification/sql/resource-manager/readme.md b/specification/sql/resource-manager/readme.md index 6aaa7bfd7c89..2af3444b6aca 100644 --- a/specification/sql/resource-manager/readme.md +++ b/specification/sql/resource-manager/readme.md @@ -85,8 +85,6 @@ input-file: - 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/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 @@ -140,6 +138,9 @@ input-file: - 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/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: @@ -189,8 +190,6 @@ input-file: - 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/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 @@ -241,6 +240,9 @@ input-file: - 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 # Needed when there is more than one input file override-info: @@ -257,8 +259,6 @@ APIs must only be added to this section when the API is publicly available in at ``` yaml $(tag) == 'package-composite-v1' input-file: -- Microsoft.Sql/stable/2014-04-01/backupLongTermRetentionPolicies.json -- Microsoft.Sql/stable/2014-04-01/backupLongTermRetentionVaults.json - Microsoft.Sql/stable/2014-04-01/backups.json - Microsoft.Sql/stable/2014-04-01/capabilities.json - Microsoft.Sql/stable/2014-04-01/connectionPolicies.json @@ -282,8 +282,6 @@ input-file: - 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/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 @@ -333,6 +331,9 @@ input-file: - 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 # Needed when there is more than one input file override-info: @@ -349,8 +350,6 @@ APIs must only be added to this section when the API is publicly available in at ``` yaml $(tag) == 'package-2017-03-preview' input-file: -- Microsoft.Sql/stable/2014-04-01/backupLongTermRetentionPolicies.json -- Microsoft.Sql/stable/2014-04-01/backupLongTermRetentionVaults.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 @@ -414,8 +413,6 @@ APIs must only be added to this section when the API is publicly available in at ``` yaml $(tag) == 'package-2015-05-preview' input-file: -- Microsoft.Sql/stable/2014-04-01/backupLongTermRetentionPolicies.json -- Microsoft.Sql/stable/2014-04-01/backupLongTermRetentionVaults.json - Microsoft.Sql/stable/2014-04-01/backups.json - Microsoft.Sql/stable/2014-04-01/restorePoints.json - Microsoft.Sql/stable/2014-04-01/checkNameAvailability.json @@ -501,6 +498,9 @@ input-file: - ./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 # Needed when there is more than one input file override-info: @@ -660,8 +660,6 @@ These can be regenerated by running the following PowerShell script from this re ``` yaml $(tag) == 'package-pure-2014-04' input-file: - ./Microsoft.Sql/stable/2014-04-01/advisors.json - - ./Microsoft.Sql/stable/2014-04-01/backupLongTermRetentionPolicies.json - - ./Microsoft.Sql/stable/2014-04-01/backupLongTermRetentionVaults.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 @@ -821,8 +819,6 @@ input-file: - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/operations.json - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/serverKeys.json - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/syncAgents.json - - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/syncGroups.json - - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/syncMembers.json - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/usages.json - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/virtualclusters.json - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/virtualNetworkRules.json @@ -876,17 +872,19 @@ input-file: - $(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/syncGroups.json + - $(this-folder)/Microsoft.Sql/preview/2019-06-01-preview/syncMembers.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/recommendedElasticPools.json - $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/renameDatabase.json - - $(this-folder)/Microsoft.Sql/stable/2014-04-01/backupLongTermRetentionPolicies.json - - $(this-folder)/Microsoft.Sql/stable/2014-04-01/backupLongTermRetentionVaults.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 - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/servers.json + - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/syncGroups.json + - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/syncMembers.json - $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/cancelOperations.json - $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/dataWarehouseUserActivities.json - $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/managedDatabases.json @@ -901,6 +899,8 @@ input-file: - $(this-folder)/./Microsoft.Sql/preview/2019-06-01-preview/WorkloadClassifiers.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/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 @@ -970,8 +970,6 @@ input-file: - $(this-folder)/./Microsoft.Sql/preview/2015-05-01-preview/virtualclusters.json - $(this-folder)/./Microsoft.Sql/preview/2015-05-01-preview/virtualNetworkRules.json - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/advisors.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/backupLongTermRetentionPolicies.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/backupLongTermRetentionVaults.json - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/backups.json - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/capabilities.json - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/checkNameAvailability.json diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2016-12-01/storage.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2016-12-01/storage.json index 5675ac9790fd..8a63727a08be 100644 --- a/specification/storage/resource-manager/Microsoft.Storage/stable/2016-12-01/storage.json +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2016-12-01/storage.json @@ -1191,6 +1191,10 @@ "f", "s" ], + "x-ms-enum": { + "name": "signedResource", + "modelAsString": true + }, "x-ms-client-name": "Resource", "description": "The signed services accessible with the service SAS. Possible values include: Blob (b), Container (c), File (f), Share (s)." }, @@ -1206,6 +1210,10 @@ "u", "p" ], + "x-ms-enum": { + "name": "Permissions", + "modelAsString": true + }, "x-ms-client-name": "Permissions", "description": "The signed permissions for the service SAS. Possible values include: Read (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p)." }, 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/examples/StorageAccountCreate.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountCreate.json index 6b81e637edb1..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, @@ -28,6 +30,7 @@ "enabled": true } }, + "requireInfrastructureEncryption": false, "keySource": "Microsoft.Storage" } }, @@ -46,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/", @@ -89,6 +94,7 @@ "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" } }, + "requireInfrastructureEncryption": false, "keySource": "Microsoft.Storage" }, "secondaryLocation": "centraluseuap", 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/queue.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/queue.json index f1a166d16aa7..d7cf16d5a438 100644 --- a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/queue.json +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/queue.json @@ -52,7 +52,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "./file.json#/definitions/CloudError" } } } @@ -106,7 +106,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "./file.json#/definitions/CloudError" } } } @@ -149,7 +149,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "./file.json#/definitions/CloudError" } } } @@ -206,7 +206,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "./file.json#/definitions/CloudError" } } } @@ -258,7 +258,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "./file.json#/definitions/CloudError" } } } @@ -301,7 +301,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "./file.json#/definitions/CloudError" } } } @@ -341,7 +341,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "./file.json#/definitions/CloudError" } } } @@ -395,7 +395,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "./file.json#/definitions/CloudError" } } }, @@ -513,40 +513,6 @@ } }, "description": "Response schema. Contains list of queues returned" - }, - "CloudError": { - "x-ms-external": true, - "properties": { - "error": { - "$ref": "#/definitions/CloudErrorBody" - } - }, - "description": "An error response from the Storage service." - }, - "CloudErrorBody": { - "x-ms-external": true, - "properties": { - "code": { - "type": "string", - "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." - }, - "message": { - "type": "string", - "description": "A message describing the error, intended to be suitable for display in a user interface." - }, - "target": { - "type": "string", - "description": "The target of the particular error. For example, the name of the property in error." - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/CloudErrorBody" - }, - "description": "A list of additional details about the error." - } - }, - "description": "An error response from the Storage service." } }, "parameters": { 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 0eafcd6749fb..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" } } } @@ -1878,6 +1878,11 @@ }, "default": "Microsoft.Storage" }, + "requireInfrastructureEncryption": { + "type": "boolean", + "x-ms-client-name": "RequireInfrastructureEncryption", + "description": "A boolean indicating whether or not the service applies a secondary layer of encryption with platform managed keys for data at rest." + }, "keyvaultproperties": { "$ref": "#/definitions/KeyVaultProperties", "x-ms-client-name": "KeyVaultProperties", @@ -2126,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." @@ -2547,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" }, @@ -2561,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." @@ -2728,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/Microsoft.Storage/stable/2019-06-01/table.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/table.json index fdec08c8d5fb..3d99550ab402 100644 --- a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/table.json +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/table.json @@ -52,7 +52,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "./file.json#/definitions/CloudError" } } } @@ -106,7 +106,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "./file.json#/definitions/CloudError" } } } @@ -149,7 +149,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "./file.json#/definitions/CloudError" } } } @@ -194,7 +194,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "./file.json#/definitions/CloudError" } } } @@ -237,7 +237,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "./file.json#/definitions/CloudError" } } } @@ -280,7 +280,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "./file.json#/definitions/CloudError" } } } @@ -320,7 +320,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "./file.json#/definitions/CloudError" } } } @@ -362,7 +362,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "./file.json#/definitions/CloudError" } } }, @@ -448,40 +448,6 @@ } }, "description": "Response schema. Contains list of tables returned" - }, - "CloudError": { - "x-ms-external": true, - "properties": { - "error": { - "$ref": "#/definitions/CloudErrorBody" - } - }, - "description": "An error response from the Storage service." - }, - "CloudErrorBody": { - "x-ms-external": true, - "properties": { - "code": { - "type": "string", - "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." - }, - "message": { - "type": "string", - "description": "A message describing the error, intended to be suitable for display in a user interface." - }, - "target": { - "type": "string", - "description": "The target of the particular error. For example, the name of the property in error." - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/CloudErrorBody" - }, - "description": "A list of additional details about the error." - } - }, - "description": "An error response from the Storage service." } }, "parameters": { diff --git a/specification/storage/resource-manager/readme.md b/specification/storage/resource-manager/readme.md index 27132c56a3d2..2e22b135e433 100644 --- a/specification/storage/resource-manager/readme.md +++ b/specification/storage/resource-manager/readme.md @@ -271,6 +271,7 @@ swagger-to-sdk: after_scripts: - python ./scripts/multiapi_init_gen.py azure-mgmt-storage - python ./scripts/trim_aio.py ./sdk/storage/azure-mgmt-storage + - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go - repo: azure-sdk-for-node diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/examples/AscOperations_Get.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/examples/AscOperations_Get.json new file mode 100644 index 000000000000..783476d2d00e --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/examples/AscOperations_Get.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60", + "location": "West US", + "operationId": "testoperationid", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/id/locations/westus/ascOperations/testoperationid", + "name": "testoperationid", + "startTime": "2020-03-01T13:13:13.933Z", + "endTime": "2020-03-01T16:13:13.933Z", + "status": "Succeeded" + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/examples/Caches_CreateOrUpdate.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/examples/Caches_CreateOrUpdate.json index 8749b6b5c3e7..5673dedad5c4 100644 --- a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/examples/Caches_CreateOrUpdate.json +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/examples/Caches_CreateOrUpdate.json @@ -6,7 +6,7 @@ "api-version": "2020-03-01", "cache": { "tags": { - "Dept": "Initech" + "Dept": "ContosoAds" }, "location": "westus", "properties": { @@ -22,7 +22,7 @@ "201": { "body": { "tags": { - "Dept": "Initech" + "Dept": "ContosoAds" }, "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1", "location": "westus", @@ -38,7 +38,7 @@ "192.168.1.1", "192.168.1.2" ], - "provisioningState": "Booting", + "provisioningState": "Succeeded", "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", "upgradeStatus": { "currentFirmwareVersion": "5.3.23", @@ -59,7 +59,7 @@ "200": { "body": { "tags": { - "Dept": "Initech" + "Dept": "ContosoAds" }, "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1", "location": "westus", @@ -75,14 +75,14 @@ "192.168.1.1", "192.168.1.2" ], - "provisioningState": "Booting", + "provisioningState": "Updating", "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", "upgradeStatus": { - "currentFirmwareVersion": "AvereOS V5.1.1.2", + "currentFirmwareVersion": "V5.1.12", "firmwareUpdateStatus": "available", "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", - "pendingFirmwareVersion": "AvereOS V5.1.1.32" + "pendingFirmwareVersion": "V5.1.15" }, "networkSettings": { "mtu": 1500 diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/examples/Caches_Get.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/examples/Caches_Get.json index 39e20ed9a4cd..51ff1db2e017 100644 --- a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/examples/Caches_Get.json +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/examples/Caches_Get.json @@ -9,7 +9,7 @@ "200": { "body": { "tags": { - "Dept": "Initech" + "Dept": "ContosoAds" }, "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1", "location": "westus", @@ -25,14 +25,14 @@ "192.168.1.1", "192.168.1.2" ], - "provisioningState": "Booting", + "provisioningState": "Succeeded", "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", "upgradeStatus": { - "currentFirmwareVersion": "AvereOS V5.1.1.2", + "currentFirmwareVersion": "V5.1.12", "firmwareUpdateStatus": "available", "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", - "pendingFirmwareVersion": "AvereOS V5.1.1.32" + "pendingFirmwareVersion": "V5.1.15" }, "networkSettings": { "mtu": 1500 diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/examples/Caches_List.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/examples/Caches_List.json index e4274e6b3a9f..30094bbfd392 100644 --- a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/examples/Caches_List.json +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/examples/Caches_List.json @@ -9,7 +9,7 @@ "value": [ { "tags": { - "Dept": "Initech" + "Dept": "ContosoAds" }, "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1", "location": "westus", @@ -25,14 +25,14 @@ "192.168.1.1", "192.168.1.2" ], - "provisioningState": "Booting", + "provisioningState": "Succeeded", "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", "upgradeStatus": { - "currentFirmwareVersion": "AvereOS V5.1.1.2", + "currentFirmwareVersion": "V5.1.12", "firmwareUpdateStatus": "available", "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", - "pendingFirmwareVersion": "AvereOS V5.1.1.32" + "pendingFirmwareVersion": "V5.1.15" }, "networkSettings": { "mtu": 1500 @@ -44,7 +44,7 @@ }, { "tags": { - "Dept": "Intertrode" + "Dept": "ContosoAds" }, "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc2", "location": "westus", @@ -60,14 +60,14 @@ "192.168.1.1", "192.168.1.2" ], - "provisioningState": "Configuring", + "provisioningState": "Updating", "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub2", "upgradeStatus": { - "currentFirmwareVersion": "AvereOS V5.1.1.2", + "currentFirmwareVersion": "V5.1.12", "firmwareUpdateStatus": "available", "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", - "pendingFirmwareVersion": "AvereOS V5.1.1.32" + "pendingFirmwareVersion": "V5.1.15" }, "networkSettings": { "mtu": 1500 diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/examples/Caches_ListByResourceGroup.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/examples/Caches_ListByResourceGroup.json index 258735a01725..015a5719b0a4 100644 --- a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/examples/Caches_ListByResourceGroup.json +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/examples/Caches_ListByResourceGroup.json @@ -10,7 +10,7 @@ "value": [ { "tags": { - "Dept": "Initech" + "Dept": "ContosoAds" }, "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1", "location": "westus", @@ -26,14 +26,14 @@ "192.168.1.1", "192.168.1.2" ], - "provisioningState": "Booting", + "provisioningState": "Succeeded", "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", "upgradeStatus": { - "currentFirmwareVersion": "AvereOS V5.1.1.2", + "currentFirmwareVersion": "V5.1.12", "firmwareUpdateStatus": "available", "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", - "pendingFirmwareVersion": "AvereOS V5.1.1.32" + "pendingFirmwareVersion": "V5.1.15" }, "networkSettings": { "mtu": 1500 @@ -45,7 +45,7 @@ }, { "tags": { - "Dept": "Intertrode" + "Dept": "ContosoAds" }, "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc2", "location": "westus", @@ -61,14 +61,14 @@ "192.168.1.1", "192.168.1.2" ], - "provisioningState": "Booting", + "provisioningState": "Updating", "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub2", "upgradeStatus": { - "currentFirmwareVersion": "AvereOS V5.1.1.2", + "currentFirmwareVersion": "V5.1.12", "firmwareUpdateStatus": "available", "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", - "pendingFirmwareVersion": "AvereOS V5.1.1.32" + "pendingFirmwareVersion": "V5.1.15" }, "networkSettings": { "mtu": 1500 diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/examples/Caches_Update.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/examples/Caches_Update.json index b5fdb34b4458..61fac4750c6d 100644 --- a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/examples/Caches_Update.json +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/examples/Caches_Update.json @@ -6,7 +6,7 @@ "api-version": "2020-03-01", "cache": { "tags": { - "Dept": "Initech" + "Dept": "ContosoAds" }, "location": "westus", "properties": { @@ -22,7 +22,7 @@ "200": { "body": { "tags": { - "Dept": "Initech" + "Dept": "ContosoAds" }, "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1", "location": "westus", @@ -38,14 +38,14 @@ "192.168.1.1", "192.168.1.2" ], - "provisioningState": "Booting", + "provisioningState": "Updating", "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", "upgradeStatus": { - "currentFirmwareVersion": "AvereOS V5.1.1.2", + "currentFirmwareVersion": "V5.1.12", "firmwareUpdateStatus": "available", "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", - "pendingFirmwareVersion": "AvereOS V5.1.1.32" + "pendingFirmwareVersion": "V5.1.15" }, "networkSettings": { "mtu": 1500 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 3549bc83126f..2e1cdcb3872d 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 @@ -158,6 +158,59 @@ "operationId": "UsageModels_List" } }, + "/subscriptions/{subscriptionId}/providers/Microsoft.StorageCache/locations/{location}/ascOperations/{operationId}": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The region name which the operation will lookup into." + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "The operation id which uniquely identifies the asynchronous operation." + } + ], + "responses": { + "200": { + "description": "Gets the status of an asynchronous operation for the Azure HPC cache", + "schema": { + "$ref": "#/definitions/AscOperation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "AscOperations_Get": { + "$ref": "./examples/AscOperations_Get.json" + } + }, + "tags": [ + "AscOperations" + ], + "description": "Gets the status of an asynchronous operation for the Azure HPC cache", + "operationId": "AscOperations_Get" + } + }, "/subscriptions/{subscriptionId}/providers/Microsoft.StorageCache/caches": { "get": { "produces": [ @@ -1097,6 +1150,51 @@ }, "type": "object" }, + "AscOperation": { + "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": "#/definitions/ErrorResponse" + } + } + }, + "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" + } + } + }, "Cache": { "description": "A Cache instance. Follows Azure Resource Manager standards: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md", "properties": { diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2019-10-01/storagesync.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2019-10-01/storagesync.json index 79e43cd1bd1f..fc8ffc68f0ae 100644 --- a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2019-10-01/storagesync.json +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2019-10-01/storagesync.json @@ -3864,22 +3864,22 @@ "readOnly": true }, "uploadStatus": { - "$ref": "#/definitions/ServerEndpointSyncSessionStatus", + "$ref": "#/definitions/SyncSessionStatus", "description": "Upload Status", "readOnly": true }, "downloadStatus": { - "$ref": "#/definitions/ServerEndpointSyncSessionStatus", + "$ref": "#/definitions/SyncSessionStatus", "description": "Download Status", "readOnly": true }, "uploadActivity": { - "$ref": "#/definitions/ServerEndpointSyncActivityStatus", + "$ref": "#/definitions/SyncActivityStatus", "description": "Upload sync activity", "readOnly": true }, "downloadActivity": { - "$ref": "#/definitions/ServerEndpointSyncActivityStatus", + "$ref": "#/definitions/SyncActivityStatus", "description": "Download sync activity", "readOnly": true }, @@ -3890,7 +3890,7 @@ } } }, - "ServerEndpointSyncSessionStatus": { + "SyncSessionStatus": { "type": "object", "description": "Sync Session status object.", "properties": { @@ -3943,7 +3943,7 @@ } } }, - "ServerEndpointSyncActivityStatus": { + "SyncActivityStatus": { "type": "object", "description": "Sync Session status object.", "properties": { diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_Create.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_Create.json new file mode 100644 index 000000000000..8a5307bf3614 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_Create.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "cloudEndpointName": "SampleCloudEndpoint_1", + "api-version": "2020-03-01", + "parameters": { + "properties": { + "storageAccountResourceId": "/subscriptions/744f4d70-6d17-4921-8970-a765d14f763f/resourceGroups/tminienv59svc/providers/Microsoft.Storage/storageAccounts/tminienv59storage", + "azureFileShareName": "cvcloud-afscv-0719-058-a94a1354-a1fd-4e9a-9a50-919fad8c4ba4", + "storageAccountTenantId": "\"72f988bf-86f1-41af-91ab-2d7cd011db47\"", + "friendlyName": "ankushbsubscriptionmgmtmab" + } + } + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + }, + "body": { + "name": "SampleCloudEndpoint_1", + "properties": { + "backupEnabled": "false", + "provisioningState": "Succeeded", + "storageAccountResourceId": "/subscriptions/744f4d70-6d17-4921-8970-a765d14f763f/resourceGroups/tminienv59svc/providers/Microsoft.Storage/storageAccounts/tminienv59storage", + "azureFileShareName": "cvcloud-afscv-0719-058-a94a1354-a1fd-4e9a-9a50-919fad8c4ba4", + "storageAccountTenantId": "\"72f988bf-86f1-41af-91ab-2d7cd011db47\"", + "friendlyName": "ankushbsubscriptionmgmtmab", + "lastWorkflowId": "storageSyncServices/GATest/workflows/24ba0c4a-348e-419b-8f7a-091d0d9f07a4", + "partnershipId": "1|U0VSVkVSQVNTWU5DQ0xJRU5USEZTVjJ8RjhDODcwQTItMkFGNi00NDUyLTgzMDgtRjJCQTZEQjI3RkEwfEdFTkVSSUN8NTJCOERBMkYtNjFFMC00QTFGLThEREUtMzM2OTExRjM2N0ZC", + "lastOperationName": "ICreateCloudEndpointWorkflow" + }, + "id": "/subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/syncGroups/SampleSyncGroup_1/cloudEndpoints/SampleCloudEndpoint_1", + "type": "Microsoft.StorageSync/storageSyncServices/syncGroups/cloudEndpoints" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncservice_1/workflows/c1d54be7-4738-4898-8212-cc36774314f8/operations/7ce689b2-0eca-48f5-86f0-0b8d6ceef14a?api-version=2020-03-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncservice_1/workflows/c1d54be7-4738-4898-8212-cc36774314f8/operationresults/7ce689b2-0eca-48f5-86f0-0b8d6ceef14a?api-version=2020-03-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_Delete.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_Delete.json new file mode 100644 index 000000000000..284eb395736b --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_Delete.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "cloudEndpointName": "SampleCloudEndpoint_1", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/78a71465-77ef-4509-a026-2c0cd8b30208/operations/2d7f573a-7acd-4a3c-9425-fed7d029c69d?api-version=2020-03-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/78a71465-77ef-4509-a026-2c0cd8b30208/operationresults/2d7f573a-7acd-4a3c-9425-fed7d029c69d?api-version=2020-03-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + }, + "204": {} + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_Get.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_Get.json new file mode 100644 index 000000000000..a3845ccab224 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "cloudEndpointName": "SampleCloudEndpoint_1", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + }, + "body": { + "name": "SampleCloudEndpoint_1", + "properties": { + "provisioningState": "Succeeded", + "storageAccountResourceId": "", + "azureFileShareName": "", + "storageAccountTenantId": "\"a4d1b191-c1af-4cef-a14b-f670e0beea52\"", + "lastWorkflowId": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/a377fdd5-949a-40ab-9629-06cd0e9852f9", + "friendlyName": "SampleAzureFileShareName_1", + "partnershipId": "1|U0VSVkVSQVNTWU5DQ0xJRU5USEZTVjJ8MTkxNjYwQ0QtNkExQS00RjhDLTk3ODctQTZCRUQyMDZBMUREfEdFTkVSSUN8M0EwNDgyODMtMzM4Ri00MDAyLUE5REQtQTUwRkRBRENCMzky", + "lastOperationName": "ICreateCloudEndpointWorkflow" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/syncGroups/SyncGroup_Restore_08-08_Test112/cloudEndpoints/CEP_Restore_08-08_Test112", + "type": "Microsoft.StorageSync/storageSyncServices/syncGroups/cloudEndpoints" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_ListBySyncGroup.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_ListBySyncGroup.json new file mode 100644 index 000000000000..6249461d7b7f --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_ListBySyncGroup.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + }, + "body": { + "value": [ + { + "name": "CEP_Restore_08-08_Test112", + "properties": { + "provisioningState": "Succeeded", + "storageAccountResourceId": "", + "azureFileShareName": "", + "storageAccountTenantId": "\"a4d1b191-c1af-4cef-a14b-f670e0beea52\"", + "lastWorkflowId": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/a377fdd5-949a-40ab-9629-06cd0e9852f9", + "friendlyName": "SampleAzureFileShareName_1", + "partnershipId": "1|U0VSVkVSQVNTWU5DQ0xJRU5Udfsdfdsfs8MTkxNjYwQ0QtNkExQS00RjhDLTk3ODctQTZCRUQyMDZBMUREfEdFTkVSSUN8M0EwNDgyODMtMzM4Ri00MDAyLUE5REQtQTUwRkRBRENCMzky", + "lastOperationName": "ICreateCloudEndpointWorkflow" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/syncGroups/SyncGroup_Restore_08-08_Test112/cloudEndpoints/CEP_Restore_08-08_Test112", + "type": "Microsoft.StorageSync/storageSyncServices/syncGroups/cloudEndpoints" + } + ] + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_PostBackup.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_PostBackup.json new file mode 100644 index 000000000000..50e7f9ab6c05 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_PostBackup.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "cloudEndpointName": "SampleCloudEndpoint_1", + "parameters": { + "azureFileShare": "https://sampleserver.file.core.test-cint.azure-test.net/sampleFileShare" + }, + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + }, + "body": { + "backupMetadata": { + "cloudEndpointName": "subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/syncGroups/SampleSyncGroup_1/cloudEndpoints/SampleCloudEndpoint_1" + } + } + }, + "202": { + "headers": { + "x-ms-location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/HfsMabFS1/syncGroups/HfsMabDS1/cloudEndpoints/HfsMabCE1/operationresults/baa40401-b043-4d1b-a80b-cb4e79fa1398?api-version=2020-03-01&resourcetype=PostBackupResourceType&ifxctx3=1847a938-7638-4d1b-943c-96ff2f8a2ec8", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_PostRestore.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_PostRestore.json new file mode 100644 index 000000000000..f866d3fbef48 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_PostRestore.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "cloudEndpointName": "SampleCloudEndpoint_1", + "parameters": { + "azureFileShareUri": "https://hfsazbackupdevintncus2.file.core.test-cint.azure-test.net/sampleFileShare", + "sourceAzureFileShareUri": "https://hfsazbackupdevintncus2.file.core.test-cint.azure-test.net/sampleFileShare", + "status": "Succeeded", + "restoreFileSpec": [ + { + "path": "text1.txt", + "isdir": false + }, + { + "path": "MyDir", + "isdir": true + }, + { + "path": "MyDir/SubDir", + "isdir": false + }, + { + "path": "MyDir/SubDir/File1.pdf", + "isdir": false + } + ] + }, + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + }, + "202": { + "headers": { + "x-ms-location": "https: //management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/HfsMabFS1/syncGroups/HfsMabDS1/cloudEndpoints/HfsMabCE1/operationresults/d67cfb91-1b13-4710-8226-83467bb5b66d?api-version=2020-03-01&resourcetype=preBackupResourceType&ifxctx3=005909ad-d156-4514-a26e-dd1cc566db64", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_PreBackup.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_PreBackup.json new file mode 100644 index 000000000000..7fdc51dec579 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_PreBackup.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "cloudEndpointName": "SampleCloudEndpoint_1", + "api-version": "2020-03-01", + "parameters": { + "azureFileShare": "https://sampleserver.file.core.test-cint.azure-test.net/sampleFileShare" + } + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + }, + "202": { + "headers": { + "x-ms-location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/HfsMabFS1/syncGroups/HfsMabDS1/cloudEndpoints/HfsMabCE1/operationresults/d67cfb91-1b13-4710-8226-83467bb5b66d?api-version=2020-03-01&resourcetype=preBackupResourceType&ifxctx3=005909ad-d156-4514-a26e-dd1cc566db64", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_PreRestore.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_PreRestore.json new file mode 100644 index 000000000000..0e04987629e6 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_PreRestore.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "cloudEndpointName": "SampleCloudEndpoint_1", + "api-version": "2020-03-01", + "parameters": { + "azureFileShareUri": "https://hfsazbackupdevintncus2.file.core.test-cint.azure-test.net/sampleFileShare", + "restoreFileSpec": [ + { + "path": "text1.txt", + "isdir": false + }, + { + "path": "MyDir", + "isdir": true + }, + { + "path": "MyDir/SubDir", + "isdir": false + }, + { + "path": "MyDir/SubDir/File1.pdf", + "isdir": false + } + ] + } + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + }, + "202": { + "headers": { + "x-ms-location": "https: //management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/HfsMabFS1/syncGroups/HfsMabDS1/cloudEndpoints/HfsMabCE1/operationresults/d67cfb91-1b13-4710-8226-83467bb5b66d?api-version=2020-03-01&resourcetype=preBackupResourceType&ifxctx3=005909ad-d156-4514-a26e-dd1cc566db64", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_RestoreHeatbeat.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_RestoreHeatbeat.json new file mode 100644 index 000000000000..6a8fb0f24e4e --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_RestoreHeatbeat.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "cloudEndpointName": "SampleCloudEndpoint_1", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_TriggerChangeDetection.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_TriggerChangeDetection.json new file mode 100644 index 000000000000..e7d195f47680 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/CloudEndpoints_TriggerChangeDetection.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "cloudEndpointName": "SampleCloudEndpoint_1", + "parameters": { + "directoryPath": "NewDirectory", + "changeDetectionMode": "Recursive" + }, + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + }, + "202": { + "headers": { + "x-ms-location": "https: //management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/HfsMabFS1/syncGroups/HfsMabDS1/cloudEndpoints/HfsMabCE1/operationresults/d67cfb91-1b13-4710-8226-83467bb5b66d?api-version=2020-03-01&resourcetype=preBackupResourceType&ifxctx3=005909ad-d156-4514-a26e-dd1cc566db64", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/OperationStatus_Get.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/OperationStatus_Get.json new file mode 100644 index 000000000000..4627ffadabeb --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/OperationStatus_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "locationName": "westus", + "workflowId": "828219ea-083e-48b5-89ea-8fd9991b2e75", + "operationId": "14b50e24-f68d-4b29-a882-38be9dfb8bd1", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + }, + "body": { + "name": "14b50e24-f68d-4b29-a882-38be9dfb8bd1", + "status": "Succeeded", + "startTime": "2019-05-09T23:53:21.7328715Z", + "endTime": "2019-05-09T23:53:23.3735483Z", + "error": null + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/Operations_List.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/Operations_List.json new file mode 100644 index 000000000000..d32697790cb7 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/Operations_List.json @@ -0,0 +1,214 @@ +{ + "parameters": { + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.StorageSync/storageSyncServices/read", + "display": { + "provider": "Microsoft.StorageSync", + "resource": "Storage Sync Services", + "operation": "Read Storage Sync Services", + "description": "Read any Storage Sync Services" + }, + "origin": "User" + }, + { + "name": "Microsoft.StorageSync/storageSyncServices/write", + "display": { + "provider": "Microsoft.StorageSync", + "resource": "Storage Sync Services", + "operation": "Create or Update Storage Sync Services", + "description": "Create or Update any Storage Sync Services" + }, + "origin": "User" + }, + { + "name": "Microsoft.StorageSync/storageSyncServices/delete", + "display": { + "provider": "Microsoft.StorageSync", + "resource": "Storage Sync Services", + "operation": "Delete Storage Sync Services", + "description": "Delete any Storage Sync Services" + }, + "origin": "User" + }, + { + "name": "Microsoft.StorageSync/storageSyncServices/syncGroups/read", + "display": { + "provider": "Microsoft.StorageSync", + "resource": "Sync Groups", + "operation": "Read Sync Groups", + "description": "Read any Sync Groups" + }, + "origin": "User" + }, + { + "name": "Microsoft.StorageSync/storageSyncServices/syncGroups/write", + "display": { + "provider": "Microsoft.StorageSync", + "resource": "Sync Groups", + "operation": "Create or Update Sync Groups", + "description": "Create or Update any Sync Groups" + }, + "origin": "User" + }, + { + "name": "Microsoft.StorageSync/storageSyncServices/syncGroups/delete", + "display": { + "provider": "Microsoft.StorageSync", + "resource": "Sync Groups", + "operation": "Delete Sync Groups", + "description": "Delete any Sync Groups" + }, + "origin": "User" + }, + { + "name": "Microsoft.StorageSync/storageSyncServices/syncGroups/cloudEndpoints/read", + "display": { + "provider": "Microsoft.StorageSync", + "resource": "Cloud Endpoints", + "operation": "Read Cloud Endpoints", + "description": "Read any Cloud Endpoints" + }, + "origin": "User" + }, + { + "name": "Microsoft.StorageSync/storageSyncServices/syncGroups/cloudEndpoints/write", + "display": { + "provider": "Microsoft.StorageSync", + "resource": "Cloud Endpoints", + "operation": "Create or Update Cloud Endpoints", + "description": "Create or Update any Cloud Endpoints" + }, + "origin": "User" + }, + { + "name": "Microsoft.StorageSync/storageSyncServices/syncGroups/cloudEndpoints/delete", + "display": { + "provider": "Microsoft.StorageSync", + "resource": "Cloud Endpoints", + "operation": "Delete Cloud Endpoints", + "description": "Delete any Cloud Endpoints" + }, + "origin": "User" + }, + { + "name": "Microsoft.StorageSync/storageSyncServices/syncGroups/cloudEndpoints/prebackup/action", + "display": { + "provider": "Microsoft.StorageSync", + "resource": "Cloud Endpoints", + "operation": "prebackup", + "description": "Call this action before backup" + }, + "origin": "User" + }, + { + "name": "Microsoft.StorageSync/storageSyncServices/syncGroups/cloudEndpoints/postbackup/action", + "display": { + "provider": "Microsoft.StorageSync", + "resource": "Cloud Endpoints", + "operation": "postbackup", + "description": "Call this action after backup" + }, + "origin": "User" + }, + { + "name": "Microsoft.StorageSync/storageSyncServices/syncGroups/cloudEndpoints/prerestore/action", + "display": { + "provider": "Microsoft.StorageSync", + "resource": "Cloud Endpoints", + "operation": "prerestore", + "description": "Call this action before restore" + }, + "origin": "User" + }, + { + "name": "Microsoft.StorageSync/storageSyncServices/syncGroups/cloudEndpoints/postrestore/action", + "display": { + "provider": "Microsoft.StorageSync", + "resource": "Cloud Endpoints", + "operation": "postrestore", + "description": "Call this action after restore" + }, + "origin": "User" + }, + { + "name": "Microsoft.StorageSync/storageSyncServices/syncGroups/serverEndpoints/read", + "display": { + "provider": "Microsoft.StorageSync", + "resource": "Server Endpoints", + "operation": "Read Server Endpoints", + "description": "Read any Server Endpoints" + }, + "origin": "User" + }, + { + "name": "Microsoft.StorageSync/storageSyncServices/syncGroups/serverEndpoints/write", + "display": { + "provider": "Microsoft.StorageSync", + "resource": "Server Endpoints", + "operation": "Create or Update Server Endpoints", + "description": "Create or Update any Server Endpoints" + }, + "origin": "User" + }, + { + "name": "Microsoft.StorageSync/storageSyncServices/syncGroups/serverEndpoints/delete", + "display": { + "provider": "Microsoft.StorageSync", + "resource": "Server Endpoints", + "operation": "Delete Server Endpoints", + "description": "Delete any Server Endpoints" + }, + "origin": "User" + }, + { + "name": "Microsoft.StorageSync/storageSyncServices/syncGroups/serverEndpoints/recallAction/action", + "display": { + "provider": "Microsoft.StorageSync", + "resource": "Server Endpoints", + "operation": "recallAction", + "description": "Call this action to recall files to a server" + }, + "origin": "User" + }, + { + "name": "Microsoft.StorageSync/storageSyncServices/registeredServers/read", + "display": { + "provider": "Microsoft.StorageSync", + "resource": "Registered Server", + "operation": "Read Registered Server", + "description": "Read any Registered Server" + }, + "origin": "User" + }, + { + "name": "Microsoft.StorageSync/storageSyncServices/registeredServers/write", + "display": { + "provider": "Microsoft.StorageSync", + "resource": "Registered Server", + "operation": "Create or Update Registered Server", + "description": "Create or Update any Registered Server" + }, + "origin": "User" + }, + { + "name": "Microsoft.StorageSync/storageSyncServices/registeredServers/delete", + "display": { + "provider": "Microsoft.StorageSync", + "resource": "Registered Server", + "operation": "Delete Registered Server", + "description": "Delete any Registered Server" + }, + "origin": "User" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/PrivateEndpointConnections_Create.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/PrivateEndpointConnections_Create.json new file mode 100644 index 000000000000..b9a1522924a0 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/PrivateEndpointConnections_Create.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "storageSyncServiceName": "sss2527", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-03-01", + "monitor": "true", + "properties": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.StorageSync/storageSyncServices/sss2527/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.StorageSync/storageSyncServices/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/78a71465-77ef-4509-a026-2c0cd8b30208/operations/2d7f573a-7acd-4a3c-9425-fed7d029c69d?api-version=2020-03-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/78a71465-77ef-4509-a026-2c0cd8b30208/operationresults/2d7f573a-7acd-4a3c-9425-fed7d029c69d?api-version=2020-03-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/PrivateEndpointConnections_Delete.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/PrivateEndpointConnections_Delete.json new file mode 100644 index 000000000000..4fee43b02deb --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/PrivateEndpointConnections_Delete.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "storageSyncServiceName": "sss2527", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-03-01", + "monitor": "true" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/78a71465-77ef-4509-a026-2c0cd8b30208/operations/2d7f573a-7acd-4a3c-9425-fed7d029c69d?api-version=2020-03-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/78a71465-77ef-4509-a026-2c0cd8b30208/operationresults/2d7f573a-7acd-4a3c-9425-fed7d029c69d?api-version=2020-03-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + }, + "204": {} + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/PrivateEndpointConnections_Get.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/PrivateEndpointConnections_Get.json new file mode 100644 index 000000000000..f60d6c249f5a --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/PrivateEndpointConnections_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "storageSyncServiceName": "sss2527", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-03-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.StorageSync/storageSyncServices/sss2527/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.StorageSync/storageSyncServices/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/PrivateEndpointConnections_ListByStorageSyncService.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/PrivateEndpointConnections_ListByStorageSyncService.json new file mode 100644 index 000000000000..cbd766242f59 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/PrivateEndpointConnections_ListByStorageSyncService.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "storageSyncServiceName": "sss2527", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-03-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.StorageSync/storageSyncServices/sss2527/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.StorageSync/storageSyncServices/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.StorageSync/storageSyncServices/sss2527/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.StorageSync/storageSyncServices/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest02" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + ] + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/PrivateLinkResources_List.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/PrivateLinkResources_List.json new file mode 100644 index 000000000000..76ea546bb838 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/PrivateLinkResources_List.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "storageSyncServiceName": "sss2527", + "api-version": "2020-03-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.StorageSync/storageSyncServices/sss2527/privateLinkResources/afs", + "name": "afs", + "type": "Microsoft.StorageSync/storageSyncServices/privateLinkResources", + "properties": { + "groupId": "afs", + "requiredMembers": [ + "management", + "sync.primary", + "sync.secondary" + ], + "requiredZoneNames": [ + "privatelink.afs.azure.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/RegisteredServers_Create.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/RegisteredServers_Create.json new file mode 100644 index 000000000000..a6154160c2b7 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/RegisteredServers_Create.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "serverId": "\"080d4133-bdb5-40a0-96a0-71a6057bfe9a\"", + "parameters": { + "properties": { + "serverRole": "Standalone", + "serverCertificate": "\"MIIDFjCCAf6gAwIBAgIQQS+DS8uhc4VNzUkTw7wbRjANBgkqhkiG9w0BAQ0FADAzMTEwLwYDVQQDEyhhbmt1c2hiLXByb2QzLnJlZG1vbmQuY29ycC5taWNyb3NvZnQuY29tMB4XDTE3MDgwMzE3MDQyNFoXDTE4MDgwNDE3MDQyNFowMzExMC8GA1UEAxMoYW5rdXNoYi1wcm9kMy5yZWRtb25kLmNvcnAubWljcm9zb2Z0LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALDRvV4gmsIy6jGDPiHsXmvgVP749NNP7DopdlbHaNhjFmYINHl0uWylyaZmgJrROt2mnxN/zEyJtGnqYHlzUr4xvGq/qV5pqgdB9tag/sw9i22gfe9PRZ0FmSOZnXMbLYgLiDFqLtut5gHcOuWMj03YnkfoBEKlFBxWbagvW2yxz/Sxi9OVSJOKCaXra0RpcIHrO/KFl6ho2eE1/7Ykmfa8hZvSdoPd5gHdLiQcMB/pxq+mWp1fI6c8vFZoDu7Atn+NXTzYPKUxKzaisF12TsaKpohUsJpbB3Wocb0F5frn614D2pg14ERB5otjAMWw1m65csQWPI6dP8KIYe0+QPkCAwEAAaMmMCQwIgYDVR0lAQH/BBgwFgYIKwYBBQUHAwIGCisGAQQBgjcKAwwwDQYJKoZIhvcNAQENBQADggEBAA4RhVIBkw34M1RwakJgHvtjsOFxF1tVQA941NtLokx1l2Z8+GFQkcG4xpZSt+UN6wLerdCbnNhtkCErWUDeaT0jxk4g71Ofex7iM04crT4iHJr8mi96/XnhnkTUs+GDk12VgdeeNEczMZz+8Mxw9dJ5NCnYgTwO0SzGlclRsDvjzkLo8rh2ZG6n/jKrEyNXXo+hOqhupij0QbRP2Tvexdfw201kgN1jdZify8XzJ8Oi0bTS0KpJf2pNPOlooK2bjMUei9ANtEdXwwfVZGWvVh6tJjdv6k14wWWJ1L7zhA1IIVb1J+sQUzJji5iX0DrezjTz1Fg+gAzITaA/WsuujlM=\"", + "lastHeartBeat": "\"2017-08-08T18:29:06.470652Z\"", + "serverOSVersion": "10.0.14393.0", + "agentVersion": "1.0.277.0" + } + }, + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + }, + "body": { + "id": "/subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/registeredServers/530a0384-50ac-456d-8240-9d6621404151", + "type": "Microsoft.StorageSync/storageSyncServices/registeredServers", + "name": "ankushb-prod3.redmond.corp.microsoft.com", + "properties": { + "agentVersion": "3.1.5.0", + "serverOSVersion": "10.0.14393.0", + "serverManagementErrorCode": 0, + "lastHeartBeat": "\"2018-06-11T21:50:40.5840543Z\"", + "provisioningState": "Succeeded", + "serverRole": "Standalone", + "clusterId": "\"00000000-0000-0000-0000-000000000000\"", + "clusterName": "", + "serverId": "\"3635ca8b-5cc8-4a5c-bd43-c2de5ad8dc64\"", + "storageSyncServiceUid": "\"4aa14534-1c61-483b-b6a6-9630a76f109a\"", + "lastWorkflowId": "storageSyncServices/CV_FileStore_F1D485AA/workflows/4eecfbcf-9537-4b61-8fee-aaa3ace11c44", + "lastOperationName": "ICreateRegisteredServerWorkflow", + "friendlyName": "afscv-2304-139", + "managementEndpointUri": "\"https://kailanitest99.one.microsoft.com:443/\"", + "monitoringEndpointUri": "\"https://kailanitest99.one.microsoft.com:443/\"", + "discoveryEndpointUri": "\"https://kailanitest99.one.microsoft.com:443\"", + "resourceLocation": "westus", + "serviceLocation": "westus" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/63e554fd-4d27-4b91-8249-2fc697de7c69/operations/d4b00aa1-7ae0-47f0-9fa7-7ed3ea527bc9?api-version=2020-03-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/63e554fd-4d27-4b91-8249-2fc697de7c69/operationresults/d4b00aa1-7ae0-47f0-9fa7-7ed3ea527bc9?api-version=2020-03-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/RegisteredServers_Delete.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/RegisteredServers_Delete.json new file mode 100644 index 000000000000..046eec927723 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/RegisteredServers_Delete.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "serverId": "41166691-ab03-43e9-ab3e-0330eda162ac", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/cdb963fd-ea36-457e-9222-f85754ff398c/operations/20675646-8111-4158-954b-6b637e922cbf?api-version=2020-03-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/cdb963fd-ea36-457e-9222-f85754ff398c/operationresults/20675646-8111-4158-954b-6b637e922cbf?api-version=2020-03-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + }, + "204": {} + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/RegisteredServers_Get.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/RegisteredServers_Get.json new file mode 100644 index 000000000000..61bf5549f754 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/RegisteredServers_Get.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "serverId": "080d4133-bdb5-40a0-96a0-71a6057bfe9a", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + }, + "body": { + "name": "SampleRegisteredServer_1.redmond.corp.microsoft.com", + "properties": { + "agentVersion": "3.1.5.0", + "serverOSVersion": "10.0.14393.0", + "serverManagementErrorCode": 0, + "lastHeartBeat": "\"2018-06-11T21:50:40.5840543Z\"", + "provisioningState": "Succeeded", + "serverRole": "Standalone", + "clusterId": "\"00000000-0000-0000-0000-000000000000\"", + "clusterName": "", + "serverId": "\"3635ca8b-5cc8-4a5c-bd43-c2de5ad8dc64\"", + "storageSyncServiceUid": "\"4aa14534-1c61-483b-b6a6-9630a76f109a\"", + "lastWorkflowId": "storageSyncServices/CV_FileStore_F1D485AA/workflows/4eecfbcf-9537-4b61-8fee-aaa3ace11c44", + "lastOperationName": "ICreateRegisteredServerWorkflow", + "friendlyName": "afscv-2304-139", + "managementEndpointUri": "\"https://kailanitest99.one.microsoft.com:443/\"", + "monitoringEndpointUri": "\"https://kailanitest99.one.microsoft.com:443/\"", + "discoveryEndpointUri": "\"https://kailanitest99.one.microsoft.com:443\"", + "resourceLocation": "westus", + "serviceLocation": "westus" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/registeredServers/080d4133-bdb5-40a0-96a0-71a6057bfe9a", + "type": "Microsoft.StorageSync/storageSyncServices/registeredServers" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/RegisteredServers_ListByStorageSyncService.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/RegisteredServers_ListByStorageSyncService.json new file mode 100644 index 000000000000..2167b27133a6 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/RegisteredServers_ListByStorageSyncService.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + }, + "body": { + "value": [ + { + "name": "SampleRegisteredServer_1.redmond.corp.microsoft.com", + "properties": { + "agentVersion": "3.1.5.0", + "serverOSVersion": "10.0.14393.0", + "serverManagementErrorCode": 0, + "lastHeartBeat": "\"2018-06-11T21:50:40.5840543Z\"", + "provisioningState": "Succeeded", + "serverRole": "Standalone", + "clusterId": "\"00000000-0000-0000-0000-000000000000\"", + "clusterName": "", + "serverId": "\"3635ca8b-5cc8-4a5c-bd43-c2de5ad8dc64\"", + "storageSyncServiceUid": "\"4aa14534-1c61-483b-b6a6-9630a76f109a\"", + "lastWorkflowId": "storageSyncServices/CV_FileStore_F1D485AA/workflows/4eecfbcf-9537-4b61-8fee-aaa3ace11c44", + "lastOperationName": "ICreateRegisteredServerWorkflow", + "friendlyName": "afscv-2304-139", + "managementEndpointUri": "\"https://kailanitest99.one.microsoft.com:443/\"", + "monitoringEndpointUri": "\"https://kailanitest99.one.microsoft.com:443/\"", + "discoveryEndpointUri": "\"https://kailanitest99.one.microsoft.com:443\"", + "resourceLocation": "westus", + "serviceLocation": "westus" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/registeredServers/080d4133-bdb5-40a0-96a0-71a6057bfe9a", + "type": "Microsoft.StorageSync/storageSyncServices/registeredServers" + } + ] + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/RegisteredServers_TriggerRollover.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/RegisteredServers_TriggerRollover.json new file mode 100644 index 000000000000..9a9d23a1ca57 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/RegisteredServers_TriggerRollover.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "serverId": "d166ca76-dad2-49df-b409-12345642d730", + "parameters": { + "serverCertificate": "\"MIIDFjCCAf6gAwIBAgIQQS+DS8uhc4VNzUkTw7wbRjANBgkqhkiG9w0BAQ0FADAzMTEwLwYDVQQDEyhhbmt1c2hiLXByb2QzLnJlZG1vbmQuY29ycC5taWNyb3NvZnQuY29tMB4XDTE3MDgwMzE3MDQyNFoXDTE4MDgwNDE3MDQyNFowMzExMC8GA1UEAxMoYW5rdXNoYi1wcm9kMy5yZWRtb25kLmNvcnAubWljcm9zb2Z0LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALDRvV4gmsIy6jGDPiHsXmvgVP749NNP7DopdlbHaNhjFmYINHl0uWylyaZmgJrROt2mnxN/zEyJtGnqYHlzUr4xvGq/qV5pqgdB9tag/sw9i22gfe9PRZ0FmSOZnXMbLYgLiDFqLtut5gHcOuWMj03YnkfoBEKlFBxWbagvW2yxz/Sxi9OVSJOKCaXra0RpcIHrO/KFl6ho2eE1/7Ykmfa8hZvSdoPd5gHdLiQcMB/pxq+mWp1fI6c8vFZoDu7Atn+NXTzYPKUxKzaisF12TsaKpohUsJpbB3Wocb0F5frn614D2pg14ERB5otjAMWw1m65csQWPI6dP8KIYe0+QPkCAwEAAaMmMCQwIgYDVR0lAQH/BBgwFgYIKwYBBQUHAwIGCisGAQQBgjcKAwwwDQYJKoZIhvcNAQENBQADggEBAA4RhVIBkw34M1RwakJgHvtjsOFxF1tVQA941NtLokx1l2Z8+GFQkcG4xpZSt+UN6wLerdCbnNhtkCErWUDeaT0jxk4g71Ofex7iM04crT4iHJr8mi96/XnhnkTUs+GDk12VgdeeNEczMZz+8Mxw9dJ5NCnYgTwO0SzGlclRsDvjzkLo8rh2ZG6n/jKrEyNXXo+hOqhupij0QbRP2Tvexdfw201kgN1jdZify8XzJ8Oi0bTS0KpJf2pNPOlooK2bjMUei9ANtEdXwwfVZGWvVh6tJjdv6k14wWWJ1L7zhA1IIVb1J+sQUzJji5iX0DrezjTz1Fg+gAzITaA/WsuujlM=\"" + }, + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47222", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d222" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75/operations/fe680c98-5725-49c8-b0dc-5e29745f752b?api-version=2020-03-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75/operationresults/fe680c98-5725-49c8-b0dc-5e29745f752b?api-version=2020-03-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/ServerEndpoints_Create.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/ServerEndpoints_Create.json new file mode 100644 index 000000000000..e74edbf1d9cd --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/ServerEndpoints_Create.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "serverEndpointName": "SampleServerEndpoint_1", + "parameters": { + "properties": { + "serverLocalPath": "D:\\SampleServerEndpoint_1", + "serverResourceId": "/subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/registeredServers/080d4133-bdb5-40a0-96a0-71a6057bfe9a", + "cloudTiering": "off", + "volumeFreeSpacePercent": 100, + "tierFilesOlderThanDays": 0, + "offlineDataTransfer": "on", + "offlineDataTransferShareName": "myfileshare", + "initialDownloadPolicy": "NamespaceThenModifiedFiles", + "localCacheMode": "UpdateLocallyCachedFiles" + } + }, + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + }, + "body": { + "name": "SampleServerEndpoint_1", + "properties": { + "serverLocalPath": "D:\\SampleServerEndpoint_1", + "cloudTiering": "off", + "volumeFreeSpacePercent": 100, + "friendlyName": "somemachine.redmond.corp.microsoft.com", + "serverResourceId": "/subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/registeredServers/080d4133-bdb5-40a0-96a0-71a6057bfe9a", + "provisioningState": "Succeeded", + "lastWorkflowId": "storageSyncServices/healthDemo1/workflows/569afb5c-7172-4cf8-a8ea-d987f727f11a", + "lastOperationName": "ICreateServerEndpointWorkflow", + "tierFilesOlderThanDays": 0, + "syncStatus": null, + "offlineDataTransfer": "on", + "offlineDataTransferStorageAccountResourceId": "/subscriptions/744f4d70-6d17-4921-8970-a765d14f763f/resourceGroups/myRG/providers/Microsoft.Storage/storageAccounts/mysa", + "offlineDataTransferStorageAccountTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "offlineDataTransferShareName": "myfileshare", + "cloudTieringStatus": null, + "recallStatus": null, + "initialDownloadPolicy": "NamespaceThenModifiedFiles", + "localCacheMode": "UpdateLocallyCachedFiles" + }, + "id": "/subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/syncGroups/SampleSyncGroup_1/serverEndpoints/SampleServerEndpoint_1", + "type": "Microsoft.StorageSync/storageSyncServices/syncGroups/serverEndpoints" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75/operations/fe680c98-5725-49c8-b0dc-5e29745f752b?api-version=2020-03-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75/operationresults/fe680c98-5725-49c8-b0dc-5e29745f752b?api-version=2020-03-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/ServerEndpoints_Delete.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/ServerEndpoints_Delete.json new file mode 100644 index 000000000000..886b32de214e --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/ServerEndpoints_Delete.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "serverEndpointName": "SampleServerEndpoint_1", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/9122d971-147b-4dba-bada-1ceb7c9311e5/operations/6dce076b-1df5-4449-829b-69b24f38b5a1?api-version=2020-03-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/9122d971-147b-4dba-bada-1ceb7c9311e5/operationresults/6dce076b-1df5-4449-829b-69b24f38b5a1?api-version=2020-03-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/ServerEndpoints_Get.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/ServerEndpoints_Get.json new file mode 100644 index 000000000000..827e8be2c572 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/ServerEndpoints_Get.json @@ -0,0 +1,149 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "serverEndpointName": "SampleServerEndpoint_1", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + }, + "body": { + "name": "SampleServerEndpoint_1", + "properties": { + "serverLocalPath": "D:\\SampleServerEndpoint_1", + "cloudTiering": "on", + "volumeFreeSpacePercent": 100, + "friendlyName": "somemachine.redmond.corp.microsoft.com", + "serverResourceId": "/subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/registeredServers/080d4133-bdb5-40a0-96a0-71a6057bfe9a", + "provisioningState": "Succeeded", + "lastWorkflowId": "storageSyncServices/healthDemo1/workflows/569afb5c-7172-4cf8-a8ea-d987f727f11a", + "lastOperationName": "ICreateServerEndpointWorkflow", + "tierFilesOlderThanDays": 0, + "syncStatus": { + "downloadHealth": "Healthy", + "uploadHealth": "Error", + "combinedHealth": "Error", + "syncActivity": "UploadAndDownload", + "totalPersistentFilesNotSyncingCount": null, + "lastUpdatedTimestamp": "2018-06-11T23:32:51.1057915Z", + "uploadStatus": { + "lastSyncResult": -2134351810, + "lastSyncTimestamp": "2018-06-11T23:32:51.1057915Z", + "lastSyncSuccessTimestamp": null, + "lastSyncPerItemErrorCount": 1000, + "persistentFilesNotSyncingCount": null, + "transientFilesNotSyncingCount": null, + "filesNotSyncingErrors": null + }, + "downloadStatus": { + "lastSyncResult": 0, + "lastSyncTimestamp": "2018-06-11T23:28:33.9217334Z", + "lastSyncSuccessTimestamp": "2018-06-11T23:28:33.9217334Z", + "lastSyncPerItemErrorCount": 0, + "persistentFilesNotSyncingCount": null, + "transientFilesNotSyncingCount": null, + "filesNotSyncingErrors": null + }, + "uploadActivity": { + "timestamp": "2018-06-11T23:32:51.1057915Z", + "perItemErrorCount": 300, + "appliedItemCount": 1000, + "totalItemCount": 2300, + "appliedBytes": 57348983, + "totalBytes": 1958367412 + }, + "downloadActivity": { + "timestamp": "2018-06-11T23:32:51.1057915Z", + "perItemErrorCount": 0, + "appliedItemCount": 100, + "totalItemCount": 300, + "appliedBytes": 94805587, + "totalBytes": 19583674 + }, + "offlineDataTransferStatus": "InProgress" + }, + "offlineDataTransfer": "on", + "offlineDataTransferStorageAccountResourceId": "/subscriptions/744f4d70-6d17-4921-8970-a765d14f763f/resourceGroups/myRG/providers/Microsoft.Storage/storageAccounts/mysa", + "offlineDataTransferStorageAccountTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "offlineDataTransferShareName": "myfileshare", + "initialDownloadPolicy": "NamespaceThenModifiedFiles", + "localCacheMode": "UpdateLocallyCachedFiles", + "cloudTieringStatus": { + "lastUpdatedTimestamp": "2018-06-11T23:32:51.1057915Z", + "health": "Error", + "healthLastUpdatedTimestamp": "2018-06-11T23:32:51.1057915Z", + "lastCloudTieringResult": -2134347771, + "lastSuccessTimestamp": "2018-06-11T23:32:51.1057915Z", + "spaceSavings": { + "lastUpdatedTimestamp": "2019-04-17T19:04:59.1959227Z", + "volumeSizeBytes": 922337203685477580, + "totalSizeCloudBytes": 100000000, + "cachedSizeBytes": 50000000, + "spaceSavingsPercent": 50, + "spaceSavingsBytes": 50000000 + }, + "cachePerformance": { + "lastUpdatedTimestamp": "2019-04-17T19:04:59.1959227Z", + "cacheHitBytes": 922337203685477580, + "cacheMissBytes": 922337203685477580, + "cacheHitBytesPercent": 50 + }, + "filesNotTiering": { + "lastUpdatedTimestamp": "2019-04-17T19:04:59.1959227Z", + "totalFileCount": 60, + "errors": [ + { + "errorCode": -2134347771, + "fileCount": 10 + }, + { + "errorCode": -2134347770, + "fileCount": 20 + }, + { + "errorCode": -2134347769, + "fileCount": 30 + } + ] + }, + "volumeFreeSpacePolicyStatus": { + "lastUpdatedTimestamp": "2019-04-17T19:04:59.1959227Z", + "effectiveVolumeFreeSpacePolicy": 30, + "currentVolumeFreeSpacePercent": 5 + }, + "datePolicyStatus": { + "lastUpdatedTimestamp": "2019-04-17T19:04:59.1959227Z", + "tieredFilesMostRecentAccessTimestamp": "2019-04-17T19:04:59.1959227Z" + } + }, + "recallStatus": { + "lastUpdatedTimestamp": "2018-06-11T23:32:51.1057915Z", + "totalRecallErrorsCount": 30, + "recallErrors": [ + { + "errorCode": -2134347775, + "count": 5 + }, + { + "errorCode": -2134347774, + "count": 10 + }, + { + "errorCode": -2134347773, + "count": 15 + } + ] + } + }, + "id": "/subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/syncGroups/SampleSyncGroup_1/serverEndpoints/SampleServerEndpoint_1", + "type": "Microsoft.StorageSync/storageSyncServices/syncGroups/serverEndpoints" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/ServerEndpoints_ListBySyncGroup.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/ServerEndpoints_ListBySyncGroup.json new file mode 100644 index 000000000000..dbc632f1ac8e --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/ServerEndpoints_ListBySyncGroup.json @@ -0,0 +1,193 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + }, + "body": { + "value": [ + { + "name": "SampleServerEndpoint_1", + "properties": { + "serverLocalPath": "D:\\SampleServerEndpoint_1", + "cloudTiering": "off", + "volumeFreeSpacePercent": 100, + "friendlyName": "somemachine.redmond.corp.microsoft.com", + "serverResourceId": "/subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/registeredServers/080d4133-bdb5-40a0-96a0-71a6057bfe9a", + "provisioningState": "Succeeded", + "lastWorkflowId": "storageSyncServices/healthDemo1/workflows/569afb5c-7172-4cf8-a8ea-d987f727f11a", + "lastOperationName": "ICreateServerEndpointWorkflow", + "tierFilesOlderThanDays": 0, + "syncStatus": { + "downloadHealth": "Healthy", + "uploadHealth": "Error", + "combinedHealth": "Error", + "syncActivity": null, + "totalPersistentFilesNotSyncingCount": null, + "lastUpdatedTimestamp": "2018-06-11T23:32:51.1057915Z", + "uploadStatus": { + "lastSyncResult": 0, + "lastSyncTimestamp": "2018-06-11T23:32:51.1057915Z", + "lastSyncSuccessTimestamp": "2018-06-11T23:32:51.1057915Z", + "lastSyncPerItemErrorCount": 0, + "persistentFilesNotSyncingCount": null, + "transientFilesNotSyncingCount": null, + "filesNotSyncingErrors": null + }, + "downloadStatus": { + "lastSyncResult": 0, + "lastSyncTimestamp": "2018-06-11T23:28:33.9217334Z", + "lastSyncSuccessTimestamp": "2018-06-11T23:28:33.9217334Z", + "lastSyncPerItemErrorCount": 1000, + "persistentFilesNotSyncingCount": null, + "transientFilesNotSyncingCount": null, + "filesNotSyncingErrors": null + }, + "uploadActivity": null, + "downloadActivity": null, + "offlineDataTransferStatus": "Complete" + }, + "offlineDataTransfer": "on", + "offlineDataTransferStorageAccountResourceId": "/subscriptions/744f4d70-6d17-4921-8970-a765d14f763f/resourceGroups/myRG/providers/Microsoft.Storage/storageAccounts/mysa", + "offlineDataTransferStorageAccountTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "offlineDataTransferShareName": "myfileshare", + "initialDownloadPolicy": "NamespaceThenModifiedFiles", + "localCacheMode": "UpdateLocallyCachedFiles" + }, + "id": "/subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/syncGroups/SampleSyncGroup_1/serverEndpoints/SampleServerEndpoint_1", + "type": "Microsoft.StorageSync/storageSyncServices/syncGroups/serverEndpoints" + }, + { + "name": "SampleServerEndpoint_2", + "properties": { + "serverLocalPath": "D:\\SampleServerEndpoint_2", + "cloudTiering": "on", + "volumeFreeSpacePercent": 80, + "friendlyName": "somemachine2.redmond.corp.microsoft.com", + "serverResourceId": "/subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/registeredServers/f94e2944-b48d-4e5b-bdc7-c48ab3712659", + "provisioningState": "Succeeded", + "lastWorkflowId": "storageSyncServices/healthDemo1/workflows/40b1dc00-d7d9-4721-a1e9-ab60139b830a", + "lastOperationName": "ICreateServerEndpointWorkflow", + "tierFilesOlderThanDays": 5, + "initialDownloadPolicy": "NamespaceThenModifiedFiles", + "localCacheMode": "UpdateLocallyCachedFiles", + "syncStatus": { + "downloadHealth": "Healthy", + "uploadHealth": "Healthy", + "combinedHealth": "Healthy", + "syncActivity": "Upload", + "totalPersistentFilesNotSyncingCount": null, + "lastUpdatedTimestamp": "2018-06-11T23:32:51.1057915Z", + "uploadStatus": { + "lastSyncResult": 0, + "lastSyncTimestamp": "2018-06-11T23:32:51.1057915Z", + "lastSyncSuccessTimestamp": "2018-06-11T23:28:33.9217334Z", + "lastSyncPerItemErrorCount": 0, + "persistentFilesNotSyncingCount": null, + "transientFilesNotSyncingCount": null, + "filesNotSyncingErrors": null + }, + "downloadStatus": { + "lastSyncResult": 0, + "lastSyncTimestamp": "2018-06-11T23:28:33.9217334Z", + "lastSyncSuccessTimestamp": "2018-06-11T23:28:33.9217334Z", + "lastSyncPerItemErrorCount": 0, + "persistentFilesNotSyncingCount": null, + "transientFilesNotSyncingCount": null, + "filesNotSyncingErrors": null + }, + "uploadActivity": { + "timestamp": "2018-06-11T23:32:51.1057915Z", + "perItemErrorCount": 300, + "appliedItemCount": 1000, + "totalItemCount": 2300, + "appliedBytes": 57348983, + "totalBytes": 1958367412 + }, + "downloadActivity": null, + "offlineDataTransferStatus": "NotRunning" + }, + "offlineDataTransfer": "off", + "cloudTieringStatus": { + "lastUpdatedTimestamp": "2018-06-11T23:32:51.1057915Z", + "health": "Error", + "healthLastUpdatedTimestamp": "2018-06-11T23:32:51.1057915Z", + "lastCloudTieringResult": -2134347771, + "lastSuccessTimestamp": "2018-06-11T23:32:51.1057915Z", + "spaceSavings": { + "lastUpdatedTimestamp": "2019-04-17T19:04:59.1959227Z", + "volumeSizeBytes": 922337203685477580, + "totalSizeCloudBytes": 100000000, + "cachedSizeBytes": 50000000, + "spaceSavingsPercent": 50, + "spaceSavingsBytes": 50000000 + }, + "cachePerformance": { + "lastUpdatedTimestamp": "2019-04-17T19:04:59.1959227Z", + "cacheHitBytes": 922337203685477580, + "cacheMissBytes": 922337203685477580, + "cacheHitBytesPercent": 50 + }, + "filesNotTiering": { + "lastUpdatedTimestamp": "2019-04-17T19:04:59.1959227Z", + "totalFileCount": 60, + "errors": [ + { + "errorCode": -2134347771, + "fileCount": 10 + }, + { + "errorCode": -2134347770, + "fileCount": 20 + }, + { + "errorCode": -2134347769, + "fileCount": 30 + } + ] + }, + "volumeFreeSpacePolicyStatus": { + "lastUpdatedTimestamp": "2019-04-17T19:04:59.1959227Z", + "effectiveVolumeFreeSpacePolicy": 30, + "currentVolumeFreeSpacePercent": 5 + }, + "datePolicyStatus": { + "lastUpdatedTimestamp": "2019-04-17T19:04:59.1959227Z", + "tieredFilesMostRecentAccessTimestamp": "2019-04-17T19:04:59.1959227Z" + } + }, + "recallStatus": { + "lastUpdatedTimestamp": "2018-06-11T23:32:51.1057915Z", + "totalRecallErrorsCount": 30, + "recallErrors": [ + { + "errorCode": -2134347775, + "count": 5 + }, + { + "errorCode": -2134347774, + "count": 10 + }, + { + "errorCode": -2134347773, + "count": 15 + } + ] + } + }, + "id": "/subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/syncGroups/SampleSyncGroup_1/serverEndpoints/SampleServerEndpoint_2", + "type": "Microsoft.StorageSync/storageSyncServices/syncGroups/serverEndpoints" + } + ] + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/ServerEndpoints_Recall.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/ServerEndpoints_Recall.json new file mode 100644 index 000000000000..466850f60302 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/ServerEndpoints_Recall.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "serverEndpointName": "SampleServerEndpoint_1", + "api-version": "2020-03-01", + "parameters": { + "pattern": "", + "recallPath": "" + } + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75/operations/fe680c98-5725-49c8-b0dc-5e29745f752b?api-version=2020-03-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75/operationresults/fe680c98-5725-49c8-b0dc-5e29745f752b?api-version=2020-03-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/ServerEndpoints_Update.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/ServerEndpoints_Update.json new file mode 100644 index 000000000000..aa4801c8dcff --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/ServerEndpoints_Update.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "cloudEndpointName": "SampleCloudEndpoint_1", + "syncGroupName": "SampleSyncGroup_1", + "serverEndpointName": "SampleServerEndpoint_1", + "parameters": { + "properties": { + "cloudTiering": "off", + "volumeFreeSpacePercent": 100, + "tierFilesOlderThanDays": 0, + "offlineDataTransfer": "off", + "localCacheMode": "UpdateLocallyCachedFiles" + } + }, + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + }, + "body": { + "name": "SampleServerEndpoint_1", + "properties": { + "serverLocalPath": "C:\\data_quota2", + "cloudTiering": "off", + "volumeFreeSpacePercent": 20, + "tierFilesOlderThanDays": 0, + "friendlyName": "somemachine2.redmond.corp.microsoft.com", + "serverResourceId": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/anpintDemoRG/providers/kailanitest07.one.microsoft.com/storageSyncServices/healthdemo1/registeredServers/f94e2944-b48d-4e5b-bdc7-c48ab3712659", + "provisioningState": "Succeeded", + "lastWorkflowId": "storageSyncServices/healthDemo1/workflows/569afb5c-7172-4cf8-a8ea-d987f727f11b", + "lastOperationName": "ICreateServerEndpointWorkflow", + "syncStatus": { + "downloadHealth": "Healthy", + "uploadHealth": "Error", + "combinedHealth": "Error", + "syncActivity": null, + "totalPersistentFilesNotSyncingCount": null, + "lastUpdatedTimestamp": "2018-06-11T23:32:51.1057915Z", + "uploadStatus": { + "lastSyncResult": -2134351810, + "lastSyncTimestamp": "2018-06-11T23:32:51.1057915Z", + "lastSyncSuccessTimestamp": null, + "lastSyncPerItemErrorCount": 0, + "persistentFilesNotSyncingCount": null, + "transientFilesNotSyncingCount": null, + "filesNotSyncingErrors": null + }, + "downloadStatus": { + "lastSyncResult": 0, + "lastSyncTimestamp": "2018-06-11T23:28:33.9217334Z", + "lastSyncSuccessTimestamp": "2018-06-11T23:28:33.9217334Z", + "lastSyncPerItemErrorCount": 0, + "persistentFilesNotSyncingCount": null, + "transientFilesNotSyncingCount": null, + "filesNotSyncingErrors": null + }, + "uploadActivity": null, + "downloadActivity": null, + "offlineDataTransferStatus": "Stopping" + }, + "offlineDataTransfer": "off", + "offlineDataTransferStorageAccountResourceId": "/subscriptions/744f4d70-6d17-4921-8970-a765d14f763f/resourceGroups/myRG/providers/Microsoft.Storage/storageAccounts/mysa", + "offlineDataTransferStorageAccountTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "offlineDataTransferShareName": "myfileshare", + "initialDownloadPolicy": "NamespaceThenModifiedFiles", + "localCacheMode": "UpdateLocallyCachedFiles" + }, + "id": "/subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/syncGroups/SampleSyncGroup_1/serverEndpoints/SampleServerEndpoint_1", + "type": "Microsoft.StorageSync/storageSyncServices/syncGroups/serverEndpoints" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SSS_Swagger_08-09_Test212/workflows/3af798a9-26fd-44e7-a121-a4ad65f451bd/operations/ef2a30f4-9bb8-40e7-b403-5d6d3dc67a3c?api-version=2020-03-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SSS_Swagger_08-09_Test212/workflows/3af798a9-26fd-44e7-a121-a4ad65f451bd/operationresults/ef2a30f4-9bb8-40e7-b403-5d6d3dc67a3c?api-version=2020-03-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/StorageSyncServiceCheckNameAvailability_AlreadyExists.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/StorageSyncServiceCheckNameAvailability_AlreadyExists.json new file mode 100644 index 000000000000..41d15e171736 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/StorageSyncServiceCheckNameAvailability_AlreadyExists.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "5c6bc8e1-1eaf-4192-94d8-58ce463ac86c", + "locationName": "westus", + "parameters": { + "name": "newstoragesyncservicename", + "type": "Microsoft.StorageSync/storageSyncServices" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "An account named 'newstoragesyncservicename' is already in use." + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/StorageSyncServiceCheckNameAvailability_Available.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/StorageSyncServiceCheckNameAvailability_Available.json new file mode 100644 index 000000000000..59c213db9340 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/StorageSyncServiceCheckNameAvailability_Available.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "5c6bc8e1-1eaf-4192-94d8-58ce463ac86c", + "locationName": "westus", + "parameters": { + "name": "newstoragesyncservicename", + "type": "Microsoft.StorageSync/storageSyncServices" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/StorageSyncServices_Create.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/StorageSyncServices_Create.json new file mode 100644 index 000000000000..db27bee3da50 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/StorageSyncServices_Create.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "parameters": { + "properties": { + "incomingTrafficPolicy": "AllowAllTraffic" + }, + "location": "WestUS", + "tags": {} + }, + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "body": { + "name": "SampleStorageSyncService_1", + "location": "WestUS", + "properties": { + "incomingTrafficPolicy": "AllowAllTraffic" + }, + "tags": {}, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1", + "type": "Microsoft.StorageSync/storageSyncServices" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75/operations/fe680c98-5725-49c8-b0dc-5e29745f752b?api-version=2020-03-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75/operationresults/fe680c98-5725-49c8-b0dc-5e29745f752b?api-version=2020-03-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/StorageSyncServices_Delete.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/StorageSyncServices_Delete.json new file mode 100644 index 000000000000..157f3446933d --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/StorageSyncServices_Delete.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "api-version": "2020-03-01" + }, + "responses": { + "200": {}, + "204": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75/operations/fe680c98-5725-49c8-b0dc-5e29745f752b?api-version=2020-03-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75/operationresults/fe680c98-5725-49c8-b0dc-5e29745f752b?api-version=2020-03-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/StorageSyncServices_Get.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/StorageSyncServices_Get.json new file mode 100644 index 000000000000..1173d25d8ea1 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/StorageSyncServices_Get.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + }, + "body": { + "name": "SampleStorageSyncService_1", + "location": "WestUS", + "tags": {}, + "properties": { + "storageSyncServiceStatus": 0, + "incomingTrafficPolicy": "AllowAllTraffic", + "storageSyncServiceUid": "\"2de01144-72da-4d7f-9d0c-e858855114a8\"", + "privateEndpointConnections": [ + { + "id": "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/{resource}/{resourceName}/privateEndpointConnections/SampleStorageSyncService_1.cd99f12ba6f3483f9292229e4f822258", + "properties": { + "privateEndpoint": { + "id": "subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/resourceGroups/SampleResourceGroup_2/providers/Microsoft.Network/privateEndpoints/testpe01" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my request, thanks." + } + } + } + ] + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1", + "type": "Microsoft.StorageSync/storageSyncServices" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/StorageSyncServices_ListByResourceGroup.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/StorageSyncServices_ListByResourceGroup.json new file mode 100644 index 000000000000..4128dc7a996a --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/StorageSyncServices_ListByResourceGroup.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + }, + "body": { + "value": [ + { + "name": "SampleStorageSyncService_1", + "location": "WestUS", + "tags": {}, + "properties": { + "storageSyncServiceStatus": 0, + "incomingTrafficPolicy": "AllowAllTraffic", + "storageSyncServiceUid": "\"3d1bf292-0f2a-4cc1-a3e1-60f35800e40c\"" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1", + "type": "Microsoft.StorageSync/storageSyncServices" + }, + { + "name": "SampleStorageSyncService_2", + "location": "WestUS", + "tags": {}, + "properties": { + "storageSyncServiceStatus": 0, + "incomingTrafficPolicy": "AllowAllTraffic", + "storageSyncServiceUid": "\"2de01144-72da-4d7f-9d0c-e858855114a8\"" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_2", + "type": "Microsoft.StorageSync/storageSyncServices" + }, + { + "name": "SampleStorageSyncService_3", + "location": "WestUS", + "tags": {}, + "properties": { + "storageSyncServiceStatus": 0, + "incomingTrafficPolicy": "AllowAllTraffic", + "storageSyncServiceUid": "\"b2c58ee5-933e-462c-8a9e-b30f2bdd8fa3\"" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_3", + "type": "Microsoft.StorageSync/storageSyncServices" + } + ] + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/StorageSyncServices_ListBySubscription.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/StorageSyncServices_ListBySubscription.json new file mode 100644 index 000000000000..3b6f7dc65348 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/StorageSyncServices_ListBySubscription.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + }, + "body": { + "value": [ + { + "name": "SampleStorageSyncService_1", + "location": "WestUS", + "tags": {}, + "properties": { + "storageSyncServiceStatus": 0, + "incomingTrafficPolicy": "AllowAllTraffic", + "storageSyncServiceUid": "\"3d1bf292-0f2a-4cc1-a3e1-60f35800e40c\"" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1", + "type": "Microsoft.StorageSync/storageSyncServices" + }, + { + "name": "SampleStorageSyncService_2", + "location": "WestUS", + "tags": {}, + "properties": { + "storageSyncServiceStatus": 0, + "incomingTrafficPolicy": "AllowAllTraffic", + "storageSyncServiceUid": "\"2de01144-72da-4d7f-9d0c-e858855114a8\"" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_2", + "type": "Microsoft.StorageSync/storageSyncServices" + }, + { + "name": "SampleStorageSyncService_3", + "location": "WestUS", + "tags": {}, + "properties": { + "storageSyncServiceStatus": 0, + "incomingTrafficPolicy": "AllowAllTraffic", + "storageSyncServiceUid": "\"b2c58ee5-933e-462c-8a9e-b30f2bdd8fa3\"" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_3", + "type": "Microsoft.StorageSync/storageSyncServices" + } + ] + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/StorageSyncServices_Update.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/StorageSyncServices_Update.json new file mode 100644 index 000000000000..b12820afdbf2 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/StorageSyncServices_Update.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "parameters": { + "properties": { + "incomingTrafficPolicy": "AllowAllTraffic" + }, + "tags": { + "Environment": "Test", + "Dept": "IT" + } + }, + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "body": { + "name": "SampleStorageSyncService_1", + "location": "WestUS", + "properties": { + "incomingTrafficPolicy": "AllowAllTraffic" + }, + "tags": { + "Environment": "Test", + "Dept": "IT" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1", + "type": "Microsoft.StorageSync/storageSyncServices" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75/operations/fe680c98-5725-49c8-b0dc-5e29745f752b?api-version=2020-03-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75/operationresults/fe680c98-5725-49c8-b0dc-5e29745f752b?api-version=2020-03-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/SyncGroups_Create.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/SyncGroups_Create.json new file mode 100644 index 000000000000..d47d2920ebbb --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/SyncGroups_Create.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "api-version": "2020-03-01", + "parameters": { + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "name": "SampleSyncGroup_1", + "properties": { + "uniqueId": "7868e4ee-8ddd-4a2d-941b-0041f6052a8a" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/syncGroups/SampleSyncGroup_1", + "type": "Microsoft.StorageSync/storageSyncServices/syncGroups" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/SyncGroups_Delete.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/SyncGroups_Delete.json new file mode 100644 index 000000000000..4f0bb8ee1a87 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/SyncGroups_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + }, + "204": {} + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/SyncGroups_Get.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/SyncGroups_Get.json new file mode 100644 index 000000000000..22da7a115d22 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/SyncGroups_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + }, + "body": { + "name": "SampleSyncGroup_1", + "properties": { + "uniqueId": "191660cd-6a1a-4f8c-9787-a6bed206a1dd", + "syncGroupStatus": "0" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SSS_Restore_08-08_Test112/syncGroups/SampleSyncGroup_1", + "type": "Microsoft.StorageSync/storageSyncServices/syncGroups" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/SyncGroups_ListByStorageSyncService.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/SyncGroups_ListByStorageSyncService.json new file mode 100644 index 000000000000..010c48180298 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/SyncGroups_ListByStorageSyncService.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + }, + "body": { + "value": [ + { + "name": "SampleSyncGroup_1", + "properties": { + "uniqueId": "191660cd-6a1a-4f8c-9787-a6bed206a1dd", + "syncGroupStatus": "0" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SSS_Restore_08-08_Test112/syncGroups/SampleSyncGroup_1", + "type": "Microsoft.StorageSync/storageSyncServices/syncGroups" + } + ] + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/Workflows_Abort.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/Workflows_Abort.json new file mode 100644 index 000000000000..605597fa6e1a --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/Workflows_Abort.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "workflowId": "7ffd50b3-5574-478d-9ff2-9371bc42ce68", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/Workflows_Get.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/Workflows_Get.json new file mode 100644 index 000000000000..16fa6186c2d7 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/Workflows_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "workflowId": "828219ea-083e-48b5-89ea-8fd9991b2e75", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + }, + "body": { + "name": "828219ea-083e-48b5-89ea-8fd9991b2e75", + "properties": { + "status": "succeeded", + "lastOperationId": "\"fe680c98-5725-49c8-b0dc-5e29745f752b\"", + "operation": "do", + "lastStepName": "runServerJob", + "steps": "[{\"name\":\"validateInput\",\"friendlyName\":\"validateInput\",\"status\":\"Succeeded\",\"error\":null},{\"name\":\"newServerEndpoint\",\"friendlyName\":\"newServerEndpoint\",\"status\":\"Succeeded\",\"error\":null},{\"name\":\"updateReplicaGroupCertificates\",\"friendlyName\":\"updateReplicaGroupCertificates\",\"status\":\"Succeeded\",\"error\":null},{\"name\":\"runServerJob\",\"friendlyName\":\"runServerJob\",\"status\":\"Succeeded\",\"error\":null}]" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75", + "type": "Microsoft.StorageSync/storageSyncServices/workflows" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/Workflows_ListByStorageSyncService.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/Workflows_ListByStorageSyncService.json new file mode 100644 index 000000000000..56206a6e1350 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/examples/Workflows_ListByStorageSyncService.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + }, + "body": { + "value": [ + { + "name": "828219ea-083e-48b5-89ea-8fd9991b2e75", + "properties": { + "status": "succeeded", + "lastOperationId": "\"fe680c98-5725-49c8-b0dc-5e29745f752b\"", + "operation": "do", + "lastStepName": "runServerJob", + "steps": "[{\"name\":\"validateInput\",\"friendlyName\":\"validateInput\",\"status\":\"Succeeded\",\"error\":null},{\"name\":\"newServerEndpoint\",\"friendlyName\":\"newServerEndpoint\",\"status\":\"Succeeded\",\"error\":null},{\"name\":\"updateReplicaGroupCertificates\",\"friendlyName\":\"updateReplicaGroupCertificates\",\"status\":\"Succeeded\",\"error\":null},{\"name\":\"runServerJob\",\"friendlyName\":\"runServerJob\",\"status\":\"Succeeded\",\"error\":null}]" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75", + "type": "Microsoft.StorageSync/storageSyncServices/workflows" + } + ] + } + } + } +} 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 new file mode 100644 index 000000000000..15d0e9160781 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/storagesync.json @@ -0,0 +1,4954 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft Storage Sync", + "description": "Microsoft Storage Sync Service API", + "version": "2020-03-01", + "x-ms-code-generation-settings": { + "name": "StorageSyncManagementClient" + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.StorageSync/operations": { + "get": { + "tags": [ + "ResourceProvider", + "Operations" + ], + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "description": "Lists all of the available Storage Sync Rest API operations.", + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + }, + "responses": { + "200": { + "description": "Array of operations resources in the Resource Provider", + "schema": { + "$ref": "#/definitions/OperationEntityListResult" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.StorageSync/locations/{locationName}/checkNameAvailability": { + "post": { + "tags": [ + "StorageSyncService" + ], + "operationId": "StorageSyncServices_CheckNameAvailability", + "x-ms-examples": { + "StorageSyncServiceCheckNameAvailability_Available": { + "$ref": "./examples/StorageSyncServiceCheckNameAvailability_Available.json" + }, + "StorageSyncServiceCheckNameAvailability_AlreadyExists": { + "$ref": "./examples/StorageSyncServiceCheckNameAvailability_AlreadyExists.json" + } + }, + "description": "Check the give namespace name availability.", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The desired region for the name check." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityParameters" + }, + "description": "Parameters to check availability of the given namespace name" + } + ], + "responses": { + "200": { + "description": "check availability returned successfully.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}": { + "put": { + "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": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Storage Sync Service resource name.", + "required": true, + "schema": { + "$ref": "#/definitions/StorageSyncServiceCreateParameters" + } + } + ], + "tags": [ + "StorageSyncServices Resource" + ], + "operationId": "StorageSyncServices_Create", + "description": "Create a new StorageSyncService.", + "x-ms-examples": { + "StorageSyncServices_Create": { + "$ref": "./examples/StorageSyncServices_Create.json" + } + }, + "responses": { + "200": { + "description": "Storage Sync Service object created/updated", + "schema": { + "$ref": "#/definitions/StorageSyncService" + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Retry-After": { + "description": "Retry After", + "type": "string" + }, + "x-ms-request-id": { + "description": "Request id", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "StorageSyncServices Resource" + ], + "operationId": "StorageSyncServices_Get", + "description": "Get a given StorageSyncService.", + "x-ms-examples": { + "StorageSyncServices_Get": { + "$ref": "./examples/StorageSyncServices_Get.json" + } + }, + "responses": { + "200": { + "description": "Storage Sync Service object", + "schema": { + "$ref": "#/definitions/StorageSyncService" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + } + }, + "patch": { + "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": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Storage Sync Service resource.", + "schema": { + "$ref": "#/definitions/StorageSyncServiceUpdateParameters" + } + } + ], + "tags": [ + "StorageSyncServices Resource" + ], + "operationId": "StorageSyncServices_Update", + "description": "Patch a given StorageSyncService.", + "x-ms-examples": { + "StorageSyncServices_Update": { + "$ref": "./examples/StorageSyncServices_Update.json" + } + }, + "responses": { + "200": { + "description": "Storage Sync Service object created/updated", + "schema": { + "$ref": "#/definitions/StorageSyncService" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Retry-After": { + "description": "Retry After", + "type": "string" + }, + "x-ms-request-id": { + "description": "Request id", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + } + ], + "tags": [ + "StorageSyncServices Resource" + ], + "operationId": "StorageSyncServices_Delete", + "description": "Delete a given StorageSyncService.", + "x-ms-examples": { + "StorageSyncServices_Delete": { + "$ref": "./examples/StorageSyncServices_Delete.json" + } + }, + "responses": { + "200": { + "description": "Storage Sync Service object was deleted.", + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Retry-After": { + "description": "Retry After", + "type": "string" + }, + "x-ms-request-id": { + "description": "Request id", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id", + "type": "string" + } + } + }, + "204": { + "description": "Storage Sync Service Resource doesn't exist" + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices": { + "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" + } + ], + "tags": [ + "StorageSyncServices Resource" + ], + "operationId": "StorageSyncServices_ListByResourceGroup", + "description": "Get a StorageSyncService list by Resource group name.", + "x-ms-examples": { + "StorageSyncServices_ListByResourceGroup": { + "$ref": "./examples/StorageSyncServices_ListByResourceGroup.json" + } + }, + "responses": { + "200": { + "description": "Array of registered Storage Sync Service resources in the Resource Group", + "schema": { + "$ref": "#/definitions/StorageSyncServiceArray" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.StorageSync/storageSyncServices": { + "get": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "StorageSyncServices Resource" + ], + "operationId": "StorageSyncServices_ListBySubscription", + "description": "Get a StorageSyncService list by subscription.", + "x-ms-examples": { + "StorageSyncServices_ListBySubscription": { + "$ref": "./examples/StorageSyncServices_ListBySubscription.json" + } + }, + "responses": { + "200": { + "description": "Array of registered Storage Sync Service resources in the subscription.", + "schema": { + "$ref": "#/definitions/StorageSyncServiceArray" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "operationId": "PrivateLinkResources_ListByStorageSyncService", + "description": "Gets the private link resources that need to be created for a storage sync service.", + "x-ms-examples": { + "PrivateLinkResources_List": { + "$ref": "./examples/PrivateLinkResources_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageSyncServiceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateLinkResourceListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection associated with the storage sync service.", + "x-ms-examples": { + "PrivateEndpointConnections_Get": { + "$ref": "./examples/PrivateEndpointConnections_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageSyncServiceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "OK -- Get the private endpoint connection properties successfully.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Create", + "description": "Update the state of specified private endpoint connection associated with the storage sync service.", + "x-ms-examples": { + "PrivateEndpointConnections_Create": { + "$ref": "./examples/PrivateEndpointConnections_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageSyncServiceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "The private endpoint connection properties." + } + ], + "responses": { + "200": { + "description": "OK -- Update the private endpoint connection properties successfully.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Retry-After": { + "description": "Retry After", + "type": "string" + }, + "x-ms-request-id": { + "description": "Request id", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "description": "Deletes the specified private endpoint connection associated with the storage sync service.", + "x-ms-examples": { + "PrivateEndpointConnections_Delete": { + "$ref": "./examples/PrivateEndpointConnections_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageSyncServiceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the private endpoint connection successfully." + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Retry-After": { + "description": "Retry After", + "type": "string" + }, + "x-ms-request-id": { + "description": "Request id", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id", + "type": "string" + } + } + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/privateEndpointConnections": { + "get": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + } + ], + "tags": [ + "PrivateEndpointConnection Resource" + ], + "operationId": "PrivateEndpointConnections_ListByStorageSyncService", + "description": "Get a PrivateEndpointConnection List.", + "x-ms-examples": { + "PrivateEndpointConnections_ListByStorageSyncService": { + "$ref": "./examples/PrivateEndpointConnections_ListByStorageSyncService.json" + } + }, + "responses": { + "200": { + "description": "Array of Sync Group resources in Storage Sync Service", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnectionListResult" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups": { + "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" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + } + ], + "tags": [ + "SyncGroup Resource" + ], + "operationId": "SyncGroups_ListByStorageSyncService", + "description": "Get a SyncGroup List.", + "x-ms-examples": { + "SyncGroups_ListByStorageSyncService": { + "$ref": "./examples/SyncGroups_ListByStorageSyncService.json" + } + }, + "responses": { + "200": { + "description": "Array of Sync Group resources in Storage Sync Service", + "schema": { + "$ref": "#/definitions/SyncGroupArray" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}": { + "put": { + "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": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Sync Group Body", + "required": true, + "schema": { + "$ref": "#/definitions/SyncGroupCreateParameters" + } + } + ], + "tags": [ + "SyncGroup Resource" + ], + "operationId": "SyncGroups_Create", + "description": "Create a new SyncGroup.", + "x-ms-examples": { + "SyncGroups_Create": { + "$ref": "./examples/SyncGroups_Create.json" + } + }, + "responses": { + "200": { + "description": "Sync Group object", + "schema": { + "$ref": "#/definitions/SyncGroup" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + } + }, + "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" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + } + ], + "tags": [ + "SyncGroup Resource" + ], + "operationId": "SyncGroups_Get", + "description": "Get a given SyncGroup.", + "x-ms-examples": { + "SyncGroups_Get": { + "$ref": "./examples/SyncGroups_Get.json" + } + }, + "responses": { + "200": { + "description": "Sync Group object", + "schema": { + "$ref": "#/definitions/SyncGroup" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + } + }, + "delete": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + } + ], + "tags": [ + "SyncGroup Resource" + ], + "operationId": "SyncGroups_Delete", + "description": "Delete a given SyncGroup.", + "x-ms-examples": { + "SyncGroups_Delete": { + "$ref": "./examples/SyncGroups_Delete.json" + } + }, + "responses": { + "200": { + "description": "Sync Group object was deleted", + "headers": { + "x-ms-request-id": { + "description": "Request id", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id", + "type": "string" + } + } + }, + "204": { + "description": "Resource doesn't exist" + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}": { + "put": { + "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": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "cloudEndpointName", + "in": "path", + "description": "Name of Cloud Endpoint object.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Body of Cloud Endpoint resource.", + "required": true, + "schema": { + "$ref": "#/definitions/CloudEndpointCreateParameters" + } + } + ], + "tags": [ + "CloudEndpoint Resource" + ], + "operationId": "CloudEndpoints_Create", + "description": "Create a new CloudEndpoint.", + "x-ms-examples": { + "CloudEndpoints_Create": { + "$ref": "./examples/CloudEndpoints_Create.json" + } + }, + "responses": { + "200": { + "description": "Cloud Endpoint object", + "schema": { + "$ref": "#/definitions/CloudEndpoint" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Retry-After": { + "description": "Retry After", + "type": "string" + }, + "x-ms-request-id": { + "description": "Request id", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-long-running-operation": true + }, + "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" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "cloudEndpointName", + "in": "path", + "description": "Name of Cloud Endpoint object.", + "required": true, + "type": "string" + } + ], + "tags": [ + "CloudEndpoint Resource" + ], + "operationId": "CloudEndpoints_Get", + "description": "Get a given CloudEndpoint.", + "x-ms-examples": { + "CloudEndpoints_Get": { + "$ref": "./examples/CloudEndpoints_Get.json" + } + }, + "responses": { + "200": { + "description": "Cloud Endpoint object", + "schema": { + "$ref": "#/definitions/CloudEndpoint" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + } + }, + "delete": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "cloudEndpointName", + "in": "path", + "description": "Name of Cloud Endpoint object.", + "required": true, + "type": "string" + } + ], + "tags": [ + "CloudEndpoint Resource" + ], + "operationId": "CloudEndpoints_Delete", + "description": "Delete a given CloudEndpoint.", + "x-ms-examples": { + "CloudEndpoints_Delete": { + "$ref": "./examples/CloudEndpoints_Delete.json" + } + }, + "responses": { + "200": { + "description": "Ok", + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Retry-After": { + "description": "Retry After", + "type": "string" + }, + "x-ms-request-id": { + "description": "Request id", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id", + "type": "string" + } + } + }, + "204": { + "description": "Resource doesn't exist" + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints": { + "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" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + } + ], + "tags": [ + "CloudEndpoint Resource" + ], + "operationId": "CloudEndpoints_ListBySyncGroup", + "description": "Get a CloudEndpoint List.", + "x-ms-examples": { + "CloudEndpoints_ListBySyncGroup": { + "$ref": "./examples/CloudEndpoints_ListBySyncGroup.json" + } + }, + "responses": { + "200": { + "description": "Array of Cloud Endpoint resources in Sync Group", + "schema": { + "$ref": "#/definitions/CloudEndpointArray" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/prebackup": { + "post": { + "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": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "cloudEndpointName", + "in": "path", + "description": "Name of Cloud Endpoint object.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Body of Backup request.", + "required": true, + "schema": { + "$ref": "#/definitions/BackupRequest" + } + } + ], + "tags": [ + "CloudEndpoint Resource", + "Actions", + "Backup Restore" + ], + "operationId": "CloudEndpoints_PreBackup", + "description": "Pre Backup a given CloudEndpoint.", + "x-ms-examples": { + "CloudEndpoints_PreBackup": { + "$ref": "./examples/CloudEndpoints_PreBackup.json" + } + }, + "responses": { + "200": { + "description": "Ok", + "headers": { + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/postbackup": { + "post": { + "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": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "cloudEndpointName", + "in": "path", + "description": "Name of Cloud Endpoint object.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Body of Backup request.", + "required": true, + "schema": { + "$ref": "#/definitions/BackupRequest" + } + } + ], + "tags": [ + "CloudEndpoint Resource", + "Actions", + "Backup Restore" + ], + "operationId": "CloudEndpoints_PostBackup", + "description": "Post Backup a given CloudEndpoint.", + "x-ms-examples": { + "CloudEndpoints_PostBackup": { + "$ref": "./examples/CloudEndpoints_PostBackup.json" + } + }, + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/PostBackupResponse" + }, + "headers": { + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/prerestore": { + "post": { + "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": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "cloudEndpointName", + "in": "path", + "description": "Name of Cloud Endpoint object.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Body of Cloud Endpoint object.", + "required": true, + "schema": { + "$ref": "#/definitions/PreRestoreRequest" + } + } + ], + "tags": [ + "CloudEndpoint Resource", + "Actions", + "Backup Restore" + ], + "operationId": "CloudEndpoints_PreRestore", + "description": "Pre Restore a given CloudEndpoint.", + "x-ms-examples": { + "CloudEndpoints_PreRestore": { + "$ref": "./examples/CloudEndpoints_PreRestore.json" + } + }, + "responses": { + "200": { + "description": "Ok" + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/restoreheartbeat": { + "post": { + "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": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "cloudEndpointName", + "in": "path", + "description": "Name of Cloud Endpoint object.", + "required": true, + "type": "string" + } + ], + "tags": [ + "CloudEndpoint Resource", + "Actions", + "Backup Restore" + ], + "operationId": "CloudEndpoints_restoreheartbeat", + "description": "Restore Heartbeat a given CloudEndpoint.", + "x-ms-examples": { + "CloudEndpoints_restoreheartbeat": { + "$ref": "./examples/CloudEndpoints_RestoreHeatbeat.json" + } + }, + "responses": { + "200": { + "description": "Restore Heartbeat Operation has ran successfully.", + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/postrestore": { + "post": { + "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": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "cloudEndpointName", + "in": "path", + "description": "Name of Cloud Endpoint object.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Body of Cloud Endpoint object.", + "required": true, + "schema": { + "$ref": "#/definitions/PostRestoreRequest" + } + } + ], + "tags": [ + "CloudEndpoint Resource", + "Actions", + "Backup Restore" + ], + "operationId": "CloudEndpoints_PostRestore", + "description": "Post Restore a given CloudEndpoint.", + "x-ms-examples": { + "CloudEndpoints_PostRestore": { + "$ref": "./examples/CloudEndpoints_PostRestore.json" + } + }, + "responses": { + "200": { + "description": "Ok" + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/triggerChangeDetection": { + "post": { + "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": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "cloudEndpointName", + "in": "path", + "description": "Name of Cloud Endpoint object.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Trigger Change Detection Action parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/TriggerChangeDetectionParameters" + } + } + ], + "tags": [ + "CloudEndpoint Resource", + "Actions", + "Change Detection" + ], + "operationId": "CloudEndpoints_TriggerChangeDetection", + "description": "Triggers detection of changes performed on Azure File share connected to the specified Azure File Sync Cloud Endpoint.", + "x-ms-examples": { + "CloudEndpoints_TriggerChangeDetection": { + "$ref": "./examples/CloudEndpoints_TriggerChangeDetection.json" + } + }, + "responses": { + "200": { + "description": "Ok" + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/serverEndpoints/{serverEndpointName}": { + "put": { + "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": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "serverEndpointName", + "in": "path", + "description": "Name of Server Endpoint object.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Body of Server Endpoint object.", + "required": true, + "schema": { + "$ref": "#/definitions/ServerEndpointCreateParameters" + } + } + ], + "tags": [ + "ServerEndpoint Resource" + ], + "operationId": "ServerEndpoints_Create", + "description": "Create a new ServerEndpoint.", + "x-ms-examples": { + "ServerEndpoints_Create": { + "$ref": "./examples/ServerEndpoints_Create.json" + } + }, + "responses": { + "200": { + "description": "Server Endpoint object", + "schema": { + "$ref": "#/definitions/ServerEndpoint" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "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": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "serverEndpointName", + "in": "path", + "description": "Name of Server Endpoint object.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Any of the properties applicable in PUT request.", + "schema": { + "$ref": "#/definitions/ServerEndpointUpdateParameters" + } + } + ], + "tags": [ + "ServerEndpoint Resource" + ], + "operationId": "ServerEndpoints_Update", + "description": "Patch a given ServerEndpoint.", + "x-ms-examples": { + "ServerEndpoints_Update": { + "$ref": "./examples/ServerEndpoints_Update.json" + } + }, + "responses": { + "200": { + "description": "Server Endpoint object", + "schema": { + "$ref": "#/definitions/ServerEndpoint" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-long-running-operation": true + }, + "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" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "serverEndpointName", + "in": "path", + "description": "Name of Server Endpoint object.", + "required": true, + "type": "string" + } + ], + "tags": [ + "ServerEndpoint Resource" + ], + "operationId": "ServerEndpoints_Get", + "description": "Get a ServerEndpoint.", + "x-ms-examples": { + "ServerEndpoints_Get": { + "$ref": "./examples/ServerEndpoints_Get.json" + } + }, + "responses": { + "200": { + "description": "Server Endpoint object", + "schema": { + "$ref": "#/definitions/ServerEndpoint" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + } + }, + "delete": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "serverEndpointName", + "in": "path", + "description": "Name of Server Endpoint object.", + "required": true, + "type": "string" + } + ], + "tags": [ + "ServerEndpoint Resource" + ], + "operationId": "ServerEndpoints_Delete", + "description": "Delete a given ServerEndpoint.", + "x-ms-examples": { + "ServerEndpoints_Delete": { + "$ref": "./examples/ServerEndpoints_Delete.json" + } + }, + "responses": { + "200": { + "description": "Ok", + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/serverEndpoints": { + "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" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + } + ], + "tags": [ + "ServerEndpoint Resource" + ], + "operationId": "ServerEndpoints_ListBySyncGroup", + "description": "Get a ServerEndpoint list.", + "x-ms-examples": { + "ServerEndpoints_ListBySyncGroup": { + "$ref": "./examples/ServerEndpoints_ListBySyncGroup.json" + } + }, + "responses": { + "200": { + "description": "Array of Server Endpoint resources in Sync Group", + "schema": { + "$ref": "#/definitions/ServerEndpointArray" + }, + "headers": { + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/serverEndpoints/{serverEndpointName}/recallAction": { + "post": { + "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": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "serverEndpointName", + "in": "path", + "description": "Name of Server Endpoint object.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Body of Recall Action object.", + "required": true, + "schema": { + "$ref": "#/definitions/RecallActionParameters" + } + } + ], + "tags": [ + "ServerEndpoint Resource", + "Actions" + ], + "operationId": "ServerEndpoints_recallAction", + "description": "Recall a server endpoint.", + "x-ms-examples": { + "ServerEndpoints_recallAction": { + "$ref": "./examples/ServerEndpoints_Recall.json" + } + }, + "responses": { + "200": { + "description": "Server Endpoint object", + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/registeredServers": { + "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" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + } + ], + "tags": [ + "RegisteredServer Resource" + ], + "operationId": "RegisteredServers_ListByStorageSyncService", + "description": "Get a given registered server list.", + "x-ms-examples": { + "RegisteredServers_ListByStorageSyncService": { + "$ref": "./examples/RegisteredServers_ListByStorageSyncService.json" + } + }, + "responses": { + "200": { + "description": "Array of Registered Server resources in Storage Sync Service", + "schema": { + "$ref": "#/definitions/RegisteredServerArray" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/registeredServers/{serverId}": { + "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" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "serverId", + "in": "path", + "description": "GUID identifying the on-premises server.", + "required": true, + "type": "string" + } + ], + "tags": [ + "RegisteredServer Resource" + ], + "operationId": "RegisteredServers_Get", + "description": "Get a given registered server.", + "x-ms-examples": { + "RegisteredServers_Get": { + "$ref": "./examples/RegisteredServers_Get.json" + } + }, + "responses": { + "200": { + "description": "Registered Server resources in Sync Group", + "schema": { + "$ref": "#/definitions/RegisteredServer" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + } + }, + "put": { + "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": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "serverId", + "in": "path", + "description": "GUID identifying the on-premises server.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Body of Registered Server object.", + "required": true, + "schema": { + "$ref": "#/definitions/RegisteredServerCreateParameters" + } + } + ], + "tags": [ + "RegisteredServer Resource" + ], + "operationId": "RegisteredServers_Create", + "description": "Add a new registered server.", + "x-ms-examples": { + "RegisteredServers_Create": { + "$ref": "./examples/RegisteredServers_Create.json" + } + }, + "responses": { + "200": { + "description": "Registered Server resources in Sync Group", + "schema": { + "$ref": "#/definitions/RegisteredServer" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "serverId", + "in": "path", + "description": "GUID identifying the on-premises server.", + "required": true, + "type": "string" + } + ], + "tags": [ + "RegisteredServer Resource" + ], + "operationId": "RegisteredServers_Delete", + "description": "Delete the given registered server.", + "x-ms-examples": { + "RegisteredServers_Delete": { + "$ref": "./examples/RegisteredServers_Delete.json" + } + }, + "responses": { + "200": { + "description": "Ok", + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "204": { + "description": "Resource doesn't exist" + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/registeredServers/{serverId}/triggerRollover": { + "post": { + "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": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "serverId", + "in": "path", + "description": "Server Id", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Body of Trigger Rollover request.", + "required": true, + "schema": { + "$ref": "#/definitions/TriggerRolloverRequest" + } + } + ], + "tags": [ + "RegisteredServer Resource", + "Actions" + ], + "operationId": "RegisteredServers_triggerRollover", + "description": "Triggers Server certificate rollover.", + "x-ms-examples": { + "RegisteredServers_triggerRollover": { + "$ref": "./examples/RegisteredServers_TriggerRollover.json" + } + }, + "responses": { + "200": { + "description": "Trigger Rollover success status", + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/workflows": { + "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" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + } + ], + "tags": [ + "Workflow Resource" + ], + "operationId": "Workflows_ListByStorageSyncService", + "description": "Get a Workflow List", + "x-ms-examples": { + "Workflows_ListByStorageSyncService": { + "$ref": "./examples/Workflows_ListByStorageSyncService.json" + } + }, + "responses": { + "200": { + "description": "Array of Workflow resources in Storage Sync Service", + "schema": { + "$ref": "#/definitions/WorkflowArray" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/workflows/{workflowId}": { + "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" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "workflowId", + "in": "path", + "description": "workflow Id", + "required": true, + "type": "string" + } + ], + "tags": [ + "Workflow Resource" + ], + "operationId": "Workflows_Get", + "description": "Get Workflows resource", + "x-ms-examples": { + "Workflows_Get": { + "$ref": "./examples/Workflows_Get.json" + } + }, + "responses": { + "200": { + "description": "Workflow object", + "schema": { + "$ref": "#/definitions/Workflow" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/workflows/{workflowId}/abort": { + "post": { + "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": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "workflowId", + "in": "path", + "description": "workflow Id", + "required": true, + "type": "string" + } + ], + "tags": [ + "Workflow Resource", + "Actions" + ], + "operationId": "Workflows_Abort", + "description": "Abort the given workflow.", + "x-ms-examples": { + "Workflows_Abort": { + "$ref": "./examples/Workflows_Abort.json" + } + }, + "responses": { + "200": { + "description": "success", + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/locations/{locationName}/workflows/{workflowId}/operations/{operationId}": { + "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" + }, + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The desired region to obtain information from." + }, + { + "name": "workflowId", + "in": "path", + "description": "workflow Id", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "operation Id", + "required": true, + "type": "string" + } + ], + "tags": [ + "Operation Status" + ], + "operationId": "OperationStatus_Get", + "description": "Get Operation status", + "x-ms-examples": { + "Workflows_Get": { + "$ref": "./examples/OperationStatus_Get.json" + } + }, + "responses": { + "200": { + "description": "Operation Status", + "schema": { + "$ref": "#/definitions/OperationStatus" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + } + } + } + }, + "definitions": { + "StorageSyncError": { + "type": "object", + "description": "Error type", + "properties": { + "error": { + "$ref": "#/definitions/StorageSyncApiError", + "description": "Error details of the given entry." + }, + "innererror": { + "$ref": "#/definitions/StorageSyncApiError", + "description": "Error details of the given entry." + } + } + }, + "StorageSyncApiError": { + "type": "object", + "description": "Error type", + "properties": { + "code": { + "type": "string", + "description": "Error code of the given entry." + }, + "message": { + "type": "string", + "description": "Error message of the given entry." + }, + "target": { + "type": "string", + "description": "Target of the given error entry." + }, + "details": { + "$ref": "#/definitions/StorageSyncErrorDetails", + "description": "Error details of the given entry." + } + } + }, + "StorageSyncErrorDetails": { + "type": "object", + "description": "Error Details object.", + "properties": { + "code": { + "type": "string", + "description": "Error code of the given entry." + }, + "message": { + "type": "string", + "description": "Error message of the given entry." + }, + "target": { + "type": "string", + "description": "Target of the given entry." + } + } + }, + "SubscriptionState": { + "type": "object", + "description": "Subscription State object.", + "properties": { + "state": { + "type": "string", + "description": "State of Azure Subscription", + "enum": [ + "Registered", + "Unregistered", + "Warned", + "Suspended", + "Deleted" + ], + "x-ms-enum": { + "name": "Reason", + "modelAsString": true + } + }, + "istransitioning": { + "type": "boolean", + "description": "Is Transitioning", + "readOnly": true + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SubscriptionStateProperties", + "description": "Subscription state properties." + } + } + }, + "StorageSyncService": { + "type": "object", + "description": "Storage Sync Service object.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StorageSyncServiceProperties", + "description": "Storage Sync Service properties." + } + } + }, + "SyncGroup": { + "type": "object", + "description": "Sync Group object.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SyncGroupProperties", + "description": "SyncGroup properties." + } + } + }, + "CloudEndpoint": { + "type": "object", + "description": "Cloud Endpoint object.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CloudEndpointProperties", + "description": "Cloud Endpoint properties." + } + } + }, + "TriggerChangeDetectionParameters": { + "properties": { + "directoryPath": { + "type": "string", + "description": "Relative path to a directory Azure File share for which change detection is to be performed." + }, + "changeDetectionMode": { + "type": "string", + "description": "Change Detection Mode. Applies to a directory specified in directoryPath parameter.", + "enum": [ + "Default", + "Recursive" + ], + "x-ms-enum": { + "name": "changeDetectionMode", + "modelAsString": true + } + }, + "paths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of relative paths on the Azure File share to be included in the change detection. Can be files and directories." + } + }, + "description": "The parameters used when calling trigger change detection action on cloud endpoint." + }, + "RecallActionParameters": { + "properties": { + "pattern": { + "type": "string", + "description": "Pattern of the files." + }, + "recallPath": { + "type": "string", + "description": "Recall path." + } + }, + "description": "The parameters used when calling recall action on server endpoint." + }, + "StorageSyncServiceCreateParameters": { + "properties": { + "location": { + "type": "string", + "description": "Required. Gets or sets the location of the resource. This will be one of the supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of a resource cannot be changed once it is created, but if an identical geo region is specified on update, the request will succeed." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets a list of key value pairs that describe the resource. These tags can be used for viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key with a length no greater than 128 characters and a value with a length no greater than 256 characters." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StorageSyncServiceCreateParametersProperties", + "description": "The parameters used to create the storage sync service." + } + }, + "required": [ + "location" + ], + "description": "The parameters used when creating a storage sync service." + }, + "SyncGroupCreateParameters": { + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SyncGroupCreateParametersProperties", + "description": "The parameters used to create the sync group" + } + }, + "description": "The parameters used when creating a sync group." + }, + "SyncGroupCreateParametersProperties": { + "type": "object", + "description": "Sync Group Create Properties object.", + "properties": {} + }, + "CloudEndpointCreateParameters": { + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CloudEndpointCreateParametersProperties", + "description": "The parameters used to create the cloud endpoint." + } + }, + "description": "The parameters used when creating a cloud endpoint." + }, + "StorageSyncServiceCreateParametersProperties": { + "description": "StorageSyncService Properties object.", + "properties": { + "incomingTrafficPolicy": { + "$ref": "#/definitions/IncomingTrafficPolicy", + "description": "Incoming Traffic Policy" + } + } + }, + "CloudEndpointCreateParametersProperties": { + "description": "CloudEndpoint Properties object.", + "properties": { + "storageAccountResourceId": { + "type": "string", + "description": "Storage Account Resource Id" + }, + "azureFileShareName": { + "type": "string", + "description": "Azure file share name" + }, + "storageAccountTenantId": { + "type": "string", + "description": "Storage Account Tenant Id" + }, + "friendlyName": { + "type": "string", + "description": "Friendly Name" + } + } + }, + "ServerEndpointCreateParameters": { + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ServerEndpointCreateParametersProperties", + "description": "The parameters used to create the server endpoint." + } + }, + "description": "The parameters used when creating a server endpoint." + }, + "ServerEndpointCreateParametersProperties": { + "description": "ServerEndpoint Properties object.", + "properties": { + "serverLocalPath": { + "$ref": "#/definitions/PhysicalPath", + "description": "Server Local path." + }, + "cloudTiering": { + "$ref": "#/definitions/FeatureStatus", + "description": "Cloud Tiering." + }, + "volumeFreeSpacePercent": { + "type": "integer", + "minimum": 0, + "maximum": 100, + "description": "Level of free space to be maintained by Cloud Tiering if it is enabled." + }, + "tierFilesOlderThanDays": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "Tier files older than days." + }, + "friendlyName": { + "type": "string", + "description": "Friendly Name" + }, + "serverResourceId": { + "$ref": "#/definitions/ResourceId", + "description": "Server Resource Id." + }, + "offlineDataTransfer": { + "$ref": "#/definitions/FeatureStatus", + "description": "Offline data transfer" + }, + "offlineDataTransferShareName": { + "type": "string", + "description": "Offline data transfer share name" + }, + "initialDownloadPolicy": { + "$ref": "#/definitions/InitialDownloadPolicy", + "description": "Policy for how namespace and files are recalled during FastDr." + }, + "localCacheMode": { + "$ref": "#/definitions/LocalCacheMode", + "description": "Policy for enabling follow-the-sun business models: link local cache to cloud behavior to pre-populate before local access." + } + } + }, + "TriggerRolloverRequest": { + "type": "object", + "description": "Trigger Rollover Request.", + "properties": { + "serverCertificate": { + "type": "string", + "description": "Certificate Data" + } + } + }, + "RegisteredServerCreateParameters": { + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RegisteredServerCreateParametersProperties", + "description": "The parameters used to create the registered server." + } + }, + "description": "The parameters used when creating a registered server." + }, + "RegisteredServerCreateParametersProperties": { + "description": "RegisteredServer Create Properties object.", + "properties": { + "serverCertificate": { + "type": "string", + "description": "Registered Server Certificate" + }, + "agentVersion": { + "type": "string", + "description": "Registered Server Agent Version" + }, + "serverOSVersion": { + "type": "string", + "description": "Registered Server OS Version" + }, + "lastHeartBeat": { + "type": "string", + "description": "Registered Server last heart beat" + }, + "serverRole": { + "type": "string", + "description": "Registered Server serverRole" + }, + "clusterId": { + "type": "string", + "description": "Registered Server clusterId" + }, + "clusterName": { + "type": "string", + "description": "Registered Server clusterName" + }, + "serverId": { + "type": "string", + "description": "Registered Server serverId" + }, + "friendlyName": { + "type": "string", + "description": "Friendly Name" + } + } + }, + "ServerEndpointUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ServerEndpointUpdateProperties", + "description": "The properties of the server endpoint." + } + }, + "description": "Parameters for updating an Server Endpoint." + }, + "ServerEndpoint": { + "type": "object", + "description": "Server Endpoint object.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ServerEndpointProperties", + "description": "Server Endpoint properties." + } + } + }, + "RegisteredServer": { + "type": "object", + "description": "Registered Server resource.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RegisteredServerProperties", + "description": "RegisteredServer properties." + } + } + }, + "ResourcesMoveInfo": { + "type": "object", + "description": "Resource Move Info.", + "properties": { + "targetResourceGroup": { + "type": "string", + "description": "Target resource group." + }, + "resources": { + "type": "array", + "description": "Collection of Resources.", + "items": { + "$ref": "#/definitions/ResourceId" + } + } + } + }, + "Workflow": { + "type": "object", + "description": "Workflow resource.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/WorkflowProperties", + "description": "Workflow properties." + } + } + }, + "OperationEntityListResult": { + "description": "The list of storage sync 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 storage sync.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/OperationDisplayInfo", + "description": "The operation supported by storage sync." + }, + "origin": { + "type": "string", + "description": "The origin." + } + } + }, + "OperationDisplayInfo": { + "description": "The operation supported by storage sync.", + "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 StorageSync.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed.", + "type": "string" + } + } + }, + "OperationDisplayResource": { + "type": "object", + "description": "Operation Display Resource object.", + "properties": { + "provider": { + "type": "string", + "description": "Operation Display Resource Provider." + }, + "resource": { + "type": "string", + "description": "Operation Display Resource." + }, + "operation": { + "type": "string", + "description": "Operation Display Resource Operation." + }, + "description": { + "type": "string", + "description": "Operation Display Resource Description." + } + } + }, + "CheckNameAvailabilityParameters": { + "properties": { + "name": { + "type": "string", + "description": "The name to check for availability" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.StorageSync/storageSyncServices" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": false + }, + "description": "The resource type. Must be set to Microsoft.StorageSync/storageSyncServices" + } + }, + "required": [ + "name", + "type" + ], + "description": "Parameters for a check name availability request." + }, + "CheckNameAvailabilityResult": { + "properties": { + "nameAvailable": { + "readOnly": true, + "type": "boolean", + "description": "Gets a boolean value that indicates whether the name is available for you to use. If true, the name is available. If false, the name has already been taken or invalid and cannot be used." + }, + "reason": { + "readOnly": true, + "type": "string", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "NameAvailabilityReason", + "modelAsString": false + }, + "description": "Gets the reason that a Storage Sync Service name could not be used. The Reason element is only returned if NameAvailable is false." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "Gets an error message explaining the Reason value in more detail." + } + }, + "description": "The CheckNameAvailability operation response." + }, + "PostRestoreRequest": { + "type": "object", + "description": "Post Restore Request", + "properties": { + "partition": { + "type": "string", + "description": "Post Restore partition." + }, + "replicaGroup": { + "type": "string", + "description": "Post Restore replica group." + }, + "requestId": { + "type": "string", + "description": "Post Restore request id." + }, + "azureFileShareUri": { + "type": "string", + "description": "Post Restore Azure file share uri." + }, + "status": { + "type": "string", + "description": "Post Restore Azure status." + }, + "sourceAzureFileShareUri": { + "type": "string", + "description": "Post Restore Azure source azure file share uri." + }, + "failedFileList": { + "type": "string", + "description": "Post Restore Azure failed file list." + }, + "restoreFileSpec": { + "type": "array", + "description": "Post Restore restore file spec array.", + "items": { + "$ref": "#/definitions/RestoreFileSpec", + "description": "Post Restore restore file spec items array." + } + } + } + }, + "PreRestoreRequest": { + "type": "object", + "description": "Pre Restore request object.", + "properties": { + "partition": { + "type": "string", + "description": "Pre Restore partition." + }, + "replicaGroup": { + "type": "string", + "description": "Pre Restore replica group." + }, + "requestId": { + "type": "string", + "description": "Pre Restore request id." + }, + "azureFileShareUri": { + "type": "string", + "description": "Pre Restore Azure file share uri." + }, + "status": { + "type": "string", + "description": "Pre Restore Azure status." + }, + "sourceAzureFileShareUri": { + "type": "string", + "description": "Pre Restore Azure source azure file share uri." + }, + "backupMetadataPropertyBag": { + "type": "string", + "description": "Pre Restore backup metadata property bag." + }, + "restoreFileSpec": { + "type": "array", + "description": "Pre Restore restore file spec array.", + "items": { + "$ref": "#/definitions/RestoreFileSpec", + "description": "Pre Restore restore file spec items array." + } + }, + "pauseWaitForSyncDrainTimePeriodInSeconds": { + "type": "integer", + "description": "Pre Restore pause wait for sync drain time period in seconds." + } + } + }, + "BackupRequest": { + "type": "object", + "description": "Backup request", + "properties": { + "azureFileShare": { + "type": "string", + "description": "Azure File Share." + } + } + }, + "PostBackupResponse": { + "type": "object", + "description": "Post Backup Response", + "properties": { + "backupMetadata": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PostBackupResponseProperties", + "description": "Post Backup Response Properties" + } + } + }, + "RestoreFileSpec": { + "type": "object", + "description": "Restore file spec.", + "properties": { + "path": { + "type": "string", + "description": "Restore file spec path" + }, + "isdir": { + "type": "boolean", + "description": "Restore file spec isdir" + } + } + }, + "StorageSyncServiceArray": { + "type": "object", + "description": "Array of StorageSyncServices", + "properties": { + "value": { + "type": "array", + "description": "Collection of StorageSyncServices.", + "items": { + "$ref": "#/definitions/StorageSyncService" + } + } + } + }, + "SyncGroupArray": { + "type": "object", + "description": "Array of SyncGroup", + "properties": { + "value": { + "type": "array", + "description": "Collection of SyncGroup.", + "items": { + "$ref": "#/definitions/SyncGroup" + } + } + } + }, + "CloudEndpointArray": { + "type": "object", + "description": "Array of CloudEndpoint", + "properties": { + "value": { + "type": "array", + "description": "Collection of CloudEndpoint.", + "items": { + "$ref": "#/definitions/CloudEndpoint" + } + } + } + }, + "ServerEndpointArray": { + "description": "Array of ServerEndpoint", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Collection of ServerEndpoint.", + "items": { + "$ref": "#/definitions/ServerEndpoint" + } + } + } + }, + "RegisteredServerArray": { + "description": "Array of RegisteredServer", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Collection of Registered Server.", + "items": { + "$ref": "#/definitions/RegisteredServer" + } + } + } + }, + "WorkflowArray": { + "description": "Array of Workflow", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Collection of workflow items.", + "items": { + "$ref": "#/definitions/Workflow" + } + } + } + }, + "SubscriptionStateProperties": { + "type": "object", + "description": "Subscription State properties." + }, + "PostBackupResponseProperties": { + "type": "object", + "description": "Post Backup Response Properties object.", + "properties": { + "cloudEndpointName": { + "type": "string", + "description": "cloud endpoint Name.", + "readOnly": true + } + } + }, + "StorageSyncServiceUpdateParameters": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The user-specified tags associated with the storage sync service." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StorageSyncServiceUpdateProperties", + "description": "The properties of the server endpoint." + } + }, + "description": "Parameters for updating an Storage sync service." + }, + "StorageSyncServiceUpdateProperties": { + "type": "object", + "description": "StorageSyncService Properties object.", + "properties": { + "incomingTrafficPolicy": { + "$ref": "#/definitions/IncomingTrafficPolicy", + "description": "Incoming Traffic Policy" + } + } + }, + "StorageSyncServiceProperties": { + "type": "object", + "description": "Storage Sync Service Properties object.", + "properties": { + "incomingTrafficPolicy": { + "$ref": "#/definitions/IncomingTrafficPolicy", + "description": "Incoming Traffic Policy" + }, + "storageSyncServiceStatus": { + "type": "integer", + "description": "Storage Sync service status.", + "readOnly": true + }, + "storageSyncServiceUid": { + "type": "string", + "description": "Storage Sync service Uid", + "readOnly": true + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "StorageSyncService Provisioning State" + }, + "lastWorkflowId": { + "readOnly": true, + "type": "string", + "description": "StorageSyncService lastWorkflowId" + }, + "lastOperationName": { + "readOnly": true, + "type": "string", + "description": "Resource Last Operation Name" + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "List of private endpoint connection associated with the specified storage sync service" + } + } + }, + "WorkflowProperties": { + "type": "object", + "description": "Workflow Properties object.", + "properties": { + "lastStepName": { + "type": "string", + "description": "last step name" + }, + "status": { + "$ref": "#/definitions/WorkflowStatus", + "description": "workflow status." + }, + "operation": { + "$ref": "#/definitions/OperationDirection", + "description": "operation direction." + }, + "steps": { + "type": "string", + "description": "workflow steps" + }, + "lastOperationId": { + "type": "string", + "description": "workflow last operation identifier." + } + } + }, + "SyncGroupProperties": { + "type": "object", + "description": "SyncGroup Properties object.", + "properties": { + "uniqueId": { + "type": "string", + "description": "Unique Id", + "readOnly": true + }, + "syncGroupStatus": { + "type": "string", + "description": "Sync group status", + "readOnly": true + } + } + }, + "RegisteredServerProperties": { + "type": "object", + "description": "RegisteredServer Properties object.", + "properties": { + "serverCertificate": { + "type": "string", + "description": "Registered Server Certificate" + }, + "agentVersion": { + "type": "string", + "description": "Registered Server Agent Version" + }, + "serverOSVersion": { + "type": "string", + "description": "Registered Server OS Version" + }, + "serverManagementErrorCode": { + "type": "integer", + "description": "Registered Server Management Error Code" + }, + "lastHeartBeat": { + "type": "string", + "description": "Registered Server last heart beat" + }, + "provisioningState": { + "type": "string", + "description": "Registered Server Provisioning State" + }, + "serverRole": { + "type": "string", + "description": "Registered Server serverRole" + }, + "clusterId": { + "type": "string", + "description": "Registered Server clusterId" + }, + "clusterName": { + "type": "string", + "description": "Registered Server clusterName" + }, + "serverId": { + "type": "string", + "description": "Registered Server serverId" + }, + "storageSyncServiceUid": { + "type": "string", + "description": "Registered Server storageSyncServiceUid" + }, + "lastWorkflowId": { + "type": "string", + "description": "Registered Server lastWorkflowId" + }, + "lastOperationName": { + "type": "string", + "description": "Resource Last Operation Name" + }, + "discoveryEndpointUri": { + "type": "string", + "description": "Resource discoveryEndpointUri" + }, + "resourceLocation": { + "type": "string", + "description": "Resource Location" + }, + "serviceLocation": { + "type": "string", + "description": "Service Location" + }, + "friendlyName": { + "type": "string", + "description": "Friendly Name" + }, + "managementEndpointUri": { + "type": "string", + "description": "Management Endpoint Uri" + }, + "monitoringEndpointUri": { + "type": "string", + "description": "Telemetry Endpoint Uri" + }, + "monitoringConfiguration": { + "type": "string", + "description": "Monitoring Configuration" + } + } + }, + "CloudEndpointProperties": { + "type": "object", + "description": "CloudEndpoint Properties object.", + "properties": { + "storageAccountResourceId": { + "type": "string", + "description": "Storage Account Resource Id" + }, + "azureFileShareName": { + "type": "string", + "description": "Azure file share name" + }, + "storageAccountTenantId": { + "type": "string", + "description": "Storage Account Tenant Id" + }, + "partnershipId": { + "type": "string", + "description": "Partnership Id" + }, + "friendlyName": { + "type": "string", + "description": "Friendly Name" + }, + "backupEnabled": { + "type": "string", + "description": "Backup Enabled", + "readOnly": true + }, + "provisioningState": { + "type": "string", + "description": "CloudEndpoint Provisioning State" + }, + "lastWorkflowId": { + "type": "string", + "description": "CloudEndpoint lastWorkflowId" + }, + "lastOperationName": { + "type": "string", + "description": "Resource Last Operation Name" + } + } + }, + "ServerEndpointUpdateProperties": { + "type": "object", + "description": "ServerEndpoint Update Properties object.", + "properties": { + "cloudTiering": { + "$ref": "#/definitions/FeatureStatus", + "description": "Cloud Tiering." + }, + "volumeFreeSpacePercent": { + "type": "integer", + "minimum": 0, + "maximum": 100, + "description": "Level of free space to be maintained by Cloud Tiering if it is enabled." + }, + "tierFilesOlderThanDays": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "Tier files older than days." + }, + "offlineDataTransfer": { + "$ref": "#/definitions/FeatureStatus", + "description": "Offline data transfer" + }, + "offlineDataTransferShareName": { + "type": "string", + "description": "Offline data transfer share name" + }, + "localCacheMode": { + "$ref": "#/definitions/LocalCacheMode", + "description": "Policy for enabling follow-the-sun business models: link local cache to cloud behavior to pre-populate before local access." + } + } + }, + "ServerEndpointProperties": { + "type": "object", + "description": "ServerEndpoint Properties object.", + "properties": { + "serverLocalPath": { + "$ref": "#/definitions/PhysicalPath", + "description": "Server Local path." + }, + "cloudTiering": { + "$ref": "#/definitions/FeatureStatus", + "description": "Cloud Tiering." + }, + "volumeFreeSpacePercent": { + "type": "integer", + "minimum": 0, + "maximum": 100, + "description": "Level of free space to be maintained by Cloud Tiering if it is enabled." + }, + "tierFilesOlderThanDays": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "Tier files older than days." + }, + "friendlyName": { + "type": "string", + "description": "Friendly Name" + }, + "serverResourceId": { + "$ref": "#/definitions/ResourceId", + "description": "Server Resource Id." + }, + "provisioningState": { + "type": "string", + "description": "ServerEndpoint Provisioning State", + "readOnly": true + }, + "lastWorkflowId": { + "type": "string", + "description": "ServerEndpoint lastWorkflowId", + "readOnly": true + }, + "lastOperationName": { + "type": "string", + "description": "Resource Last Operation Name", + "readOnly": true + }, + "syncStatus": { + "type": "object", + "$ref": "#/definitions/ServerEndpointSyncStatus", + "description": "Server Endpoint sync status", + "readOnly": true + }, + "offlineDataTransfer": { + "$ref": "#/definitions/FeatureStatus", + "description": "Offline data transfer" + }, + "offlineDataTransferStorageAccountResourceId": { + "type": "string", + "description": "Offline data transfer storage account resource ID", + "readOnly": true + }, + "offlineDataTransferStorageAccountTenantId": { + "type": "string", + "description": "Offline data transfer storage account tenant ID", + "readOnly": true + }, + "offlineDataTransferShareName": { + "type": "string", + "description": "Offline data transfer share name" + }, + "cloudTieringStatus": { + "type": "object", + "$ref": "#/definitions/ServerEndpointCloudTieringStatus", + "description": "Cloud tiering status. Only populated if cloud tiering is enabled.", + "readOnly": true + }, + "recallStatus": { + "type": "object", + "$ref": "#/definitions/ServerEndpointRecallStatus", + "description": "Recall status. Only populated if cloud tiering is enabled.", + "readOnly": true + }, + "initialDownloadPolicy": { + "$ref": "#/definitions/InitialDownloadPolicy", + "description": "Policy for how namespace and files are recalled during FastDr." + }, + "localCacheMode": { + "$ref": "#/definitions/LocalCacheMode", + "description": "Policy for enabling follow-the-sun business models: link local cache to cloud behavior to pre-populate before local access." + } + } + }, + "ServerEndpointSyncStatus": { + "type": "object", + "description": "Server Endpoint sync status", + "properties": { + "downloadHealth": { + "$ref": "#/definitions/ServerEndpointSyncHealthState", + "description": "Download Health Status.", + "readOnly": true + }, + "uploadHealth": { + "$ref": "#/definitions/ServerEndpointSyncHealthState", + "description": "Upload Health Status.", + "readOnly": true + }, + "combinedHealth": { + "$ref": "#/definitions/ServerEndpointSyncHealthState", + "description": "Combined Health Status.", + "readOnly": true + }, + "syncActivity": { + "$ref": "#/definitions/ServerEndpointSyncActivityState", + "description": "Sync activity", + "readOnly": true + }, + "totalPersistentFilesNotSyncingCount": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Total count of persistent files not syncing (combined upload + download).", + "readOnly": true + }, + "lastUpdatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Last Updated Timestamp", + "readOnly": true + }, + "uploadStatus": { + "$ref": "#/definitions/ServerEndpointSyncSessionStatus", + "description": "Upload Status", + "readOnly": true + }, + "downloadStatus": { + "$ref": "#/definitions/ServerEndpointSyncSessionStatus", + "description": "Download Status", + "readOnly": true + }, + "uploadActivity": { + "$ref": "#/definitions/ServerEndpointSyncActivityStatus", + "description": "Upload sync activity", + "readOnly": true + }, + "downloadActivity": { + "$ref": "#/definitions/ServerEndpointSyncActivityStatus", + "description": "Download sync activity", + "readOnly": true + }, + "offlineDataTransferStatus": { + "$ref": "#/definitions/ServerEndpointOfflineDataTransferState", + "description": "Offline Data Transfer State", + "readOnly": true + } + } + }, + "ServerEndpointSyncSessionStatus": { + "type": "object", + "description": "Sync Session status object.", + "properties": { + "lastSyncResult": { + "type": "integer", + "format": "int32", + "description": "Last sync result (HResult)", + "readOnly": true + }, + "lastSyncTimestamp": { + "type": "string", + "format": "date-time", + "description": "Last sync timestamp", + "readOnly": true + }, + "lastSyncSuccessTimestamp": { + "type": "string", + "format": "date-time", + "description": "Last sync success timestamp", + "readOnly": true + }, + "lastSyncPerItemErrorCount": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Last sync per item error count.", + "readOnly": true + }, + "persistentFilesNotSyncingCount": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Count of persistent files not syncing.", + "readOnly": true + }, + "transientFilesNotSyncingCount": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Count of transient files not syncing.", + "readOnly": true + }, + "filesNotSyncingErrors": { + "type": "array", + "items": { + "$ref": "#/definitions/ServerEndpointFilesNotSyncingError" + }, + "description": "Array of per-item errors coming from the last sync session.", + "readOnly": true + } + } + }, + "ServerEndpointSyncActivityStatus": { + "type": "object", + "description": "Sync Session status object.", + "properties": { + "timestamp": { + "type": "string", + "format": "date-time", + "description": "Timestamp when properties were updated", + "readOnly": true + }, + "perItemErrorCount": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Per item error count", + "readOnly": true + }, + "appliedItemCount": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Applied item count.", + "readOnly": true + }, + "totalItemCount": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Total item count (if available)", + "readOnly": true + }, + "appliedBytes": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Applied bytes", + "readOnly": true + }, + "totalBytes": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Total bytes (if available)", + "readOnly": true + } + } + }, + "ServerEndpointFilesNotSyncingError": { + "type": "object", + "description": "Files not syncing error object", + "properties": { + "errorCode": { + "type": "integer", + "format": "int32", + "description": "Error code (HResult)", + "readOnly": true + }, + "persistentCount": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Count of persistent files not syncing with the specified error code", + "readOnly": true + }, + "transientCount": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Count of transient files not syncing with the specified error code", + "readOnly": true + } + } + }, + "PhysicalPath": { + "type": "string", + "description": "Server folder used for data synchronization" + }, + "ResourceId": { + "type": "string", + "description": "Arm resource identifier." + }, + "TagsObject": { + "type": "object", + "description": "Tags object." + }, + "FeatureStatus": { + "type": "string", + "description": "Type of the Feature Status", + "enum": [ + "on", + "off" + ], + "x-ms-enum": { + "name": "FeatureStatus", + "modelAsString": true + } + }, + "IncomingTrafficPolicy": { + "type": "string", + "description": "Type of the Incoming Traffic Policy", + "enum": [ + "AllowAllTraffic", + "AllowVirtualNetworksOnly" + ], + "x-ms-enum": { + "name": "IncomingTrafficPolicy", + "modelAsString": true + } + }, + "LocalCacheMode": { + "type": "string", + "description": "Policy for enabling follow-the-sun business models: link local cache to cloud behavior to pre-populate before local access.", + "enum": [ + "DownloadNewAndModifiedFiles", + "UpdateLocallyCachedFiles" + ], + "x-ms-enum": { + "name": "LocalCacheMode", + "modelAsString": false + } + }, + "InitialDownloadPolicy": { + "type": "string", + "description": "Policy for how namespace and files are recalled during FastDr", + "enum": [ + "NamespaceOnly", + "NamespaceThenModifiedFiles", + "AvoidTieredFiles" + ], + "x-ms-enum": { + "name": "InitialDownloadPolicy", + "modelAsString": false + } + }, + "ServerEndpointSyncHealthState": { + "type": "string", + "description": "Type of the sync health state", + "enum": [ + "Healthy", + "Error", + "SyncBlockedForRestore", + "SyncBlockedForChangeDetectionPostRestore", + "NoActivity" + ], + "x-ms-enum": { + "name": "ServerEndpointSyncHealthState", + "modelAsString": true + } + }, + "ServerEndpointSyncActivityState": { + "type": "string", + "description": "Type of the sync activity state", + "enum": [ + "Upload", + "Download", + "UploadAndDownload" + ], + "x-ms-enum": { + "name": "ServerEndpointSyncActivityState", + "modelAsString": true + } + }, + "ServerEndpointOfflineDataTransferState": { + "type": "string", + "description": "Type of the Health state", + "enum": [ + "InProgress", + "Stopping", + "NotRunning", + "Complete" + ], + "x-ms-enum": { + "name": "ServerEndpointOfflineDataTransferState", + "modelAsString": true + } + }, + "WorkflowStatus": { + "type": "string", + "description": "Type of the Workflow Status", + "enum": [ + "active", + "expired", + "succeeded", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "WorkflowStatus", + "modelAsString": true + } + }, + "OperationDirection": { + "type": "string", + "description": "Type of the Operation Direction", + "enum": [ + "do", + "undo", + "cancel" + ], + "x-ms-enum": { + "name": "OperationDirection", + "modelAsString": true + } + }, + "ProgressType": { + "type": "string", + "description": "Type of the ProgressType", + "enum": [ + "none", + "initialize", + "download", + "upload", + "recall" + ], + "x-ms-enum": { + "name": "ProgressType", + "modelAsString": true + } + }, + "OperationStatus": { + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Operation Id" + }, + "status": { + "readOnly": true, + "type": "string", + "description": "Operation status" + }, + "startTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Start time of the operation" + }, + "endTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "End time of the operation" + }, + "error": { + "readOnly": true, + "$ref": "#/definitions/StorageSyncApiError", + "description": "Error details." + } + }, + "description": "Operation status object" + }, + "ServerEndpointCloudTieringStatus": { + "type": "object", + "description": "Server endpoint cloud tiering status object.", + "properties": { + "lastUpdatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Last updated timestamp", + "readOnly": true + }, + "health": { + "$ref": "#/definitions/ServerEndpointCloudTieringHealthState", + "description": "Cloud tiering health state.", + "readOnly": true + }, + "healthLastUpdatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "The last updated timestamp of health state", + "readOnly": true + }, + "lastCloudTieringResult": { + "type": "integer", + "format": "int32", + "description": "Last cloud tiering result (HResult)", + "readOnly": true + }, + "lastSuccessTimestamp": { + "type": "string", + "format": "date-time", + "description": "Last cloud tiering success timestamp", + "readOnly": true + }, + "spaceSavings": { + "$ref": "#/definitions/CloudTieringSpaceSavings", + "description": "Information regarding how much local space cloud tiering is saving.", + "readOnly": true + }, + "cachePerformance": { + "$ref": "#/definitions/CloudTieringCachePerformance", + "description": "Information regarding how well the local cache on the server is performing.", + "readOnly": true + }, + "filesNotTiering": { + "$ref": "#/definitions/CloudTieringFilesNotTiering", + "description": "Information regarding files that failed to be tiered", + "readOnly": true + }, + "volumeFreeSpacePolicyStatus": { + "$ref": "#/definitions/CloudTieringVolumeFreeSpacePolicyStatus", + "description": "Status of the volume free space policy", + "readOnly": true + }, + "datePolicyStatus": { + "$ref": "#/definitions/CloudTieringDatePolicyStatus", + "description": "Status of the date policy", + "readOnly": true + } + } + }, + "ServerEndpointCloudTieringHealthState": { + "type": "string", + "description": "Type of the cloud tiering health state", + "enum": [ + "Healthy", + "Error" + ], + "x-ms-enum": { + "name": "ServerEndpointCloudTieringHealthState", + "modelAsString": true + } + }, + "CloudTieringSpaceSavings": { + "type": "object", + "description": "Server endpoint cloud tiering status object.", + "properties": { + "lastUpdatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Last updated timestamp", + "readOnly": true + }, + "volumeSizeBytes": { + "type": "integer", + "format": "int64", + "description": "Volume size", + "readOnly": true, + "minimum": 0 + }, + "totalSizeCloudBytes": { + "type": "integer", + "format": "int64", + "description": "Total size of content in the azure file share", + "readOnly": true, + "minimum": 0 + }, + "cachedSizeBytes": { + "type": "integer", + "format": "int64", + "description": "Cached content size on the server", + "readOnly": true, + "minimum": 0 + }, + "spaceSavingsPercent": { + "type": "integer", + "format": "int32", + "description": "Percentage of cached size over total size", + "readOnly": true, + "minimum": 0, + "maximum": 100 + }, + "spaceSavingsBytes": { + "type": "integer", + "format": "int64", + "description": "Count of bytes saved on the server", + "readOnly": true, + "minimum": 0 + } + } + }, + "CloudTieringCachePerformance": { + "type": "object", + "description": "Server endpoint cloud tiering status object.", + "properties": { + "lastUpdatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Last updated timestamp", + "readOnly": true + }, + "cacheHitBytes": { + "type": "integer", + "format": "int64", + "description": "Count of bytes that were served from the local server", + "readOnly": true, + "minimum": 0 + }, + "cacheMissBytes": { + "type": "integer", + "format": "int64", + "description": "Count of bytes that were served from the cloud", + "readOnly": true, + "minimum": 0 + }, + "cacheHitBytesPercent": { + "type": "integer", + "format": "int32", + "description": "Percentage of total bytes (hit + miss) that were served from the local server", + "readOnly": true, + "minimum": 0, + "maximum": 100 + } + } + }, + "CloudTieringFilesNotTiering": { + "type": "object", + "description": "Server endpoint cloud tiering status object.", + "properties": { + "lastUpdatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Last updated timestamp", + "readOnly": true + }, + "totalFileCount": { + "type": "integer", + "format": "int64", + "description": "Last cloud tiering result (HResult)", + "readOnly": true, + "minimum": 0 + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/definitions/FilesNotTieringError" + }, + "description": "Array of tiering errors", + "readOnly": true + } + } + }, + "FilesNotTieringError": { + "type": "object", + "description": "Files not tiering error object", + "properties": { + "errorCode": { + "type": "integer", + "format": "int32", + "description": "Error code (HResult)", + "readOnly": true + }, + "fileCount": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Count of files with this error", + "readOnly": true + } + } + }, + "CloudTieringVolumeFreeSpacePolicyStatus": { + "type": "object", + "description": "Status of the volume free space policy", + "properties": { + "lastUpdatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Last updated timestamp", + "readOnly": true + }, + "effectiveVolumeFreeSpacePolicy": { + "type": "integer", + "format": "int32", + "description": "In the case where multiple server endpoints are present in a volume, an effective free space policy is applied.", + "readOnly": true, + "minimum": 0, + "maximum": 100 + }, + "currentVolumeFreeSpacePercent": { + "type": "integer", + "format": "int32", + "description": "Current volume free space percentage.", + "readOnly": true, + "minimum": 0, + "maximum": 100 + } + } + }, + "CloudTieringDatePolicyStatus": { + "type": "object", + "description": "Status of the date policy", + "properties": { + "lastUpdatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Last updated timestamp", + "readOnly": true + }, + "tieredFilesMostRecentAccessTimestamp": { + "type": "string", + "format": "date-time", + "description": "Most recent access time of tiered files", + "readOnly": true + } + } + }, + "ServerEndpointRecallStatus": { + "type": "object", + "description": "Server endpoint recall status object.", + "properties": { + "lastUpdatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Last updated timestamp", + "readOnly": true + }, + "totalRecallErrorsCount": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Total count of recall errors.", + "readOnly": true + }, + "recallErrors": { + "type": "array", + "items": { + "$ref": "#/definitions/ServerEndpointRecallError" + }, + "description": "Array of recall errors", + "readOnly": true + } + } + }, + "ServerEndpointRecallError": { + "type": "object", + "description": "Server endpoint recall error object", + "properties": { + "errorCode": { + "type": "integer", + "format": "int32", + "description": "Error code (HResult)", + "readOnly": true + }, + "count": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Count of occurences of the error", + "readOnly": true + } + } + } + }, + "parameters": { + "StorageSyncServiceNameParameter": { + "name": "storageSyncServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the storage sync service name within the specified resource group.", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/storagesync/resource-manager/readme.md b/specification/storagesync/resource-manager/readme.md index 852b278f6e0b..425ca4443e60 100644 --- a/specification/storagesync/resource-manager/readme.md +++ b/specification/storagesync/resource-manager/readme.md @@ -26,18 +26,27 @@ These are the global settings for the Storage Sync API. ``` yaml openapi-type: arm -tag: package-2019-10-01 +tag: package-2020-03-01 ``` +### Tag: package-2020-03-01 + +These settings apply only when `--tag=package-2020-03-01` is specified on the command line. + +```yaml $(tag) == 'package-2020-03-01' +input-file: + - Microsoft.StorageSync/stable/2020-03-01/storagesync.json +``` ### Tag: package-2019-10-01 These settings apply only when `--tag=package-2019-10-01` is specified on the command line. -```yaml $(tag) == 'package-2019-10-01' +``` yaml $(tag) == 'package-2019-10-01' input-file: - Microsoft.StorageSync/stable/2019-10-01/storagesync.json ``` + ### Tag: package-2019-06-01 These settings apply only when `--tag=package-2019-06-01` is specified on the command line. @@ -186,6 +195,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.StorageSync/stable/2020-03-01/storagesync.json - $(this-folder)/Microsoft.StorageSync/stable/2019-10-01/storagesync.json - $(this-folder)/Microsoft.StorageSync/stable/2019-06-01/storagesync.json - $(this-folder)/Microsoft.StorageSync/stable/2019-03-01/storagesync.json diff --git a/specification/storagesync/resource-manager/readme.ruby.md b/specification/storagesync/resource-manager/readme.ruby.md index 1742006e1f1c..fc40a959dbd7 100644 --- a/specification/storagesync/resource-manager/readme.ruby.md +++ b/specification/storagesync/resource-manager/readme.ruby.md @@ -12,12 +12,23 @@ azure-arm: true ``` yaml $(ruby) && $(multiapi) batch: + - tag: package-2020-03-01 - tag: package-2019-02-01 - tag: package-2018-10-01 - tag: package-2018-07-01 - tag: package-2018-04-02 ``` +### Tag: package-2020-03-01 and ruby + +These settings apply only when `--tag=package-2020-03-01 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-03-01' && $(ruby) +namespace: "Azure::StorageSync::Mgmt::V2020_03_01" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_storagesync_management/lib +``` + ### Tag: package-2019-02-01 and ruby These settings apply only when `--tag=package-2019-02-01 --ruby` is specified on the command line. diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/support.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/support.json index 7f5478e7d80c..8bc987f3f6f3 100644 --- a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/support.json +++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/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": "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.cli.md b/specification/support/resource-manager/readme.cli.md new file mode 100644 index 000000000000..220310005660 --- /dev/null +++ b/specification/support/resource-manager/readme.cli.md @@ -0,0 +1,64 @@ +## CLI + +These settings apply only when `--cli` is specified on the command line. + +``` yaml $(cli) +cli: + test-scenario: + - name: /SupportTickets/put/Create a ticket to request Quota increase for Low-priority cores for a Batch account + disabled: true + - name: /SupportTickets/put/Create a ticket to request Quota increase for Servers for Azure Synapse Analytics + disabled: true + - name: /SupportTickets/put/Create a ticket to request Quota increase for DTUs for Azure Synapse Analytics + disabled: true + - name: /SupportTickets/put/Create a ticket to request Quota increase for Servers for SQL Database + disabled: true + - name: /SupportTickets/put/Create a ticket to request Quota increase for DTUs for SQL Database + disabled: true + - name: /SupportTickets/put/Create a ticket to request Quota increase for specific VM family cores for Machine Learning service + disabled: true + - name: /SupportTickets/put/Create a ticket to request Quota increase for Active Jobs and Job Schedules for a Batch account + disabled: true + - name: /SupportTickets/put/Create a ticket to request Quota increase for Pools for a Batch account + disabled: true + - name: /SupportTickets/put/Create a ticket to request Quota increase for specific VM family cores for a Batch account + disabled: true + - name: /SupportTickets/put/Create a ticket for Billing related issues + disabled: true + - name: /SupportTickets/put/Create a ticket for Subscription Management related issues + disabled: true + - name: /SupportTickets/put/Create a ticket to request Quota increase for Low-priority cores for Machine Learning service + disabled: true + - name: /SupportTickets/put/Create a ticket for Technical issue related to a specific resource + disabled: true + - name: /SupportTickets/put/Create a ticket to request Quota increase for services that do not require additional details in the quotaTi + disabled: true + - name: /SupportTickets/put/Create a ticket to request Quota increase for Compute VM Cores + disabled: true + - name: /SupportTickets/put/Create a ticket to request Quota increase for Batch accounts for a subscription + disabled: true + - name: /Communications/put/AddCommunicationToSubscriptionTicket + disabled: true + - name: /Communications/get/Get communication details for a subscription support ticket + disabled: true + - name: /Communications/get/List web communications for a subscription support ticket + disabled: true + - name: /Communications/get/List communications for a subscription support ticket + disabled: true + - name: /Communications/get/List web communication created on or after a specific date for a subscription support ticket + disabled: true + - name: /ProblemClassifications/get/Gets details of problemClassification for Azure service + - name: /SupportTickets/get/Get details of a subscription ticket + disabled: true + - name: /SupportTickets/get/List support tickets in open state for a subscription + - name: /ProblemClassifications/get/Gets list of problemClassifications for a service for which a support ticket can be created + - name: /SupportTickets/get/List support tickets created on or after a certain date and in open state for a subscription + - name: /Services/get/Gets list of services for which a support ticket can be created + - name: /Communications/post/Checks whether name is available for Communication resource + - name: /SupportTickets/patch/Update contact details of a support ticket + disabled: true + - name: /SupportTickets/patch/Update severity of a support ticket + disabled: true + - name: /SupportTickets/patch/Update status of a support ticket + disabled: true + - name: /SupportTickets/post/Checks whether name is available for SupportTicket resource diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/datafactory.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/artifacts.json similarity index 95% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/datafactory.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/artifacts.json index ecb09e0842b3..0dfc0e51ebbd 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/datafactory.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/artifacts.json @@ -1,25 +1,18 @@ { "swagger": "2.0", "info": { - "version": "2019-11-01-preview", - "title": "SynapseClient", + "version": "2019-06-01-preview", + "title": "ArtifactsClient", "x-ms-code-generation-settings": { "useDateTimeOffset": true } }, "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" } ] }, @@ -38,7 +31,7 @@ "tags": [ "linkedServices" ], - "operationId": "LinkedServices_ListByWorkspace", + "operationId": "LinkedService_GetLinkedServicesByWorkspace", "x-ms-examples": { "LinkedServices_ListByWorkspace": { "$ref": "./examples/LinkedServices_ListByWorkspace.json" @@ -74,7 +67,7 @@ "tags": [ "linkedServices" ], - "operationId": "LinkedServices_CreateOrUpdate", + "operationId": "LinkedService_CreateOrUpdateLinkedService", "x-ms-examples": { "LinkedServices_Create": { "$ref": "./examples/LinkedServices_Create.json" @@ -127,7 +120,7 @@ "tags": [ "linkedServices" ], - "operationId": "LinkedServices_Get", + "operationId": "LinkedService_GetLinkedService", "x-ms-examples": { "LinkedServices_Get": { "$ref": "./examples/LinkedServices_Get.json" @@ -171,7 +164,7 @@ "tags": [ "linkedServices" ], - "operationId": "LinkedServices_Delete", + "operationId": "LinkedService_DeleteLinkedService", "x-ms-examples": { "LinkedServices_Delete": { "$ref": "./examples/LinkedServices_Delete.json" @@ -207,7 +200,7 @@ "tags": [ "datasets" ], - "operationId": "Datasets_ListByWorkspace", + "operationId": "Dataset_GetDatasetsByWorkspace", "x-ms-examples": { "Datasets_ListByWorkspace": { "$ref": "./examples/Datasets_ListByWorkspace.json" @@ -243,7 +236,7 @@ "tags": [ "datasets" ], - "operationId": "Datasets_CreateOrUpdate", + "operationId": "Dataset_CreateOrUpdateDataset", "x-ms-examples": { "Datasets_Create": { "$ref": "./examples/Datasets_Create.json" @@ -296,7 +289,7 @@ "tags": [ "datasets" ], - "operationId": "Datasets_Get", + "operationId": "Dataset_GetDataset", "x-ms-examples": { "Datasets_Get": { "$ref": "./examples/Datasets_Get.json" @@ -340,7 +333,7 @@ "tags": [ "datasets" ], - "operationId": "Datasets_Delete", + "operationId": "Dataset_DeleteDataset", "x-ms-examples": { "Datasets_Delete": { "$ref": "./examples/Datasets_Delete.json" @@ -376,7 +369,7 @@ "tags": [ "pipelines" ], - "operationId": "Pipelines_ListByWorkspace", + "operationId": "Pipeline_GetPipelinesByWorkspace", "x-ms-examples": { "Pipelines_ListByWorkspace": { "$ref": "./examples/Pipelines_ListByWorkspace.json" @@ -412,7 +405,7 @@ "tags": [ "pipelines" ], - "operationId": "Pipelines_CreateOrUpdate", + "operationId": "Pipeline_CreateOrUpdatePipeline", "x-ms-examples": { "Pipelines_Create": { "$ref": "./examples/Pipelines_Create.json" @@ -465,7 +458,7 @@ "tags": [ "pipelines" ], - "operationId": "Pipelines_Get", + "operationId": "Pipeline_GetPipeline", "x-ms-examples": { "Pipelines_Get": { "$ref": "./examples/Pipelines_Get.json" @@ -509,7 +502,7 @@ "tags": [ "pipelines" ], - "operationId": "Pipelines_Delete", + "operationId": "Pipeline_DeletePipeline", "x-ms-examples": { "Pipelines_Delete": { "$ref": "./examples/Pipelines_Delete.json" @@ -545,7 +538,7 @@ "tags": [ "pipelines" ], - "operationId": "Pipelines_CreateRun", + "operationId": "Pipeline_CreatePipelineRun", "x-ms-examples": { "Pipelines_CreateRun": { "$ref": "./examples/Pipelines_CreateRun.json" @@ -611,7 +604,7 @@ }, "/queryPipelineRuns": { "post": { - "operationId": "PipelineRuns_QueryByWorkspace", + "operationId": "PipelineRun_QueryPipelineRunsByWorkspace", "x-ms-examples": { "PipelineRuns_QueryByWorkspace": { "$ref": "./examples/PipelineRuns_QueryByWorkspace.json" @@ -653,7 +646,7 @@ }, "/pipelineruns/{runId}": { "get": { - "operationId": "PipelineRuns_Get", + "operationId": "PipelineRun_GetPipelineRun", "x-ms-examples": { "PipelineRuns_Get": { "$ref": "./examples/PipelineRuns_Get.json" @@ -689,7 +682,7 @@ }, "/pipelines/{pipelineName}/pipelineruns/{runId}/queryActivityruns": { "post": { - "operationId": "ActivityRuns_QueryByPipelineRun", + "operationId": "PipelineRun_QueryActivityRuns", "x-ms-examples": { "ActivityRuns_QueryByPipelineRun": { "$ref": "./examples/ActivityRuns_QueryByPipelineRun.json" @@ -737,7 +730,7 @@ }, "/pipelineruns/{runId}/cancel": { "post": { - "operationId": "PipelineRuns_Cancel", + "operationId": "PipelineRun_CancelPipelineRun", "x-ms-examples": { "PipelineRuns_Cancel": { "$ref": "./examples/PipelineRuns_Cancel.json" @@ -780,7 +773,7 @@ "tags": [ "triggers" ], - "operationId": "Triggers_ListByWorkspace", + "operationId": "Trigger_GetTriggersByWorkspace", "x-ms-examples": { "Triggers_ListByWorkspace": { "$ref": "./examples/Triggers_ListByWorkspace.json" @@ -816,7 +809,7 @@ "tags": [ "triggers" ], - "operationId": "Triggers_CreateOrUpdate", + "operationId": "Trigger_CreateOrUpdateTrigger", "x-ms-examples": { "Triggers_Create": { "$ref": "./examples/Triggers_Create.json" @@ -869,7 +862,7 @@ "tags": [ "trigger" ], - "operationId": "Triggers_Get", + "operationId": "Trigger_GetTrigger", "x-ms-examples": { "Triggers_Get": { "$ref": "./examples/Triggers_Get.json" @@ -913,7 +906,7 @@ "tags": [ "triggers" ], - "operationId": "Triggers_Delete", + "operationId": "Trigger_DeleteTrigger", "x-ms-examples": { "Triggers_Delete": { "$ref": "./examples/Triggers_Delete.json" @@ -949,7 +942,7 @@ "tags": [ "triggers" ], - "operationId": "Triggers_SubscribeToEvents", + "operationId": "Trigger_SubscribeTriggerToEvents", "x-ms-examples": { "Triggers_SubscribeToEvents": { "$ref": "./examples/Triggers_SubscribeToEvents.json" @@ -989,7 +982,7 @@ "tags": [ "triggers" ], - "operationId": "Triggers_GetEventSubscriptionStatus", + "operationId": "Trigger_GetEventSubscriptionStatus", "x-ms-examples": { "Triggers_GetEventSubscriptionStatus": { "$ref": "./examples/Triggers_GetEventSubscriptionStatus.json" @@ -1025,7 +1018,7 @@ "tags": [ "triggers" ], - "operationId": "Triggers_UnsubscribeFromEvents", + "operationId": "Trigger_UnsubscribeTriggerFromEvents", "x-ms-examples": { "Triggers_UnsubscribeFromEvents": { "$ref": "./examples/Triggers_UnsubscribeFromEvents.json" @@ -1065,7 +1058,7 @@ "tags": [ "triggers" ], - "operationId": "Triggers_Start", + "operationId": "Trigger_StartTrigger", "x-ms-examples": { "Triggers_Start": { "$ref": "./examples/Triggers_Start.json" @@ -1099,7 +1092,7 @@ "tags": [ "triggers" ], - "operationId": "Triggers_Stop", + "operationId": "Trigger_StopTrigger", "x-ms-examples": { "Triggers_Stop": { "$ref": "./examples/Triggers_Stop.json" @@ -1133,7 +1126,7 @@ "tags": [ "triggerruns" ], - "operationId": "TriggerRuns_Rerun", + "operationId": "TriggerRun_RerunTriggerInstance", "x-ms-examples": { "Triggers_Rerun": { "$ref": "./examples/TriggerRuns_Rerun.json" @@ -1169,7 +1162,7 @@ "tags": [ "triggerruns" ], - "operationId": "TriggerRuns_QueryByWorkspace", + "operationId": "TriggerRun_QueryTriggerRunsByWorkspace", "x-ms-examples": { "TriggerRuns_QueryByWorkspace": { "$ref": "./examples/TriggerRuns_QueryByWorkspace.json" @@ -1211,7 +1204,7 @@ "tags": [ "dataFlows" ], - "operationId": "DataFlows_CreateOrUpdate", + "operationId": "DataFlow_CreateOrUpdateDataFlow", "x-ms-examples": { "DataFlows_Create": { "$ref": "./examples/DataFlows_Create.json" @@ -1264,7 +1257,7 @@ "tags": [ "dataFlows" ], - "operationId": "DataFlows_Get", + "operationId": "DataFlow_GetDataFlow", "x-ms-examples": { "DataFlows_Get": { "$ref": "./examples/DataFlows_Get.json" @@ -1305,7 +1298,7 @@ "tags": [ "dataFlows" ], - "operationId": "DataFlows_Delete", + "operationId": "DataFlow_DeleteDataFlow", "x-ms-examples": { "DataFlows_Delete": { "$ref": "./examples/DataFlows_Delete.json" @@ -1341,7 +1334,7 @@ "tags": [ "dataFlows" ], - "operationId": "DataFlows_ListByWorkspace", + "operationId": "DataFlow_GetDataFlowsByWorkspace", "x-ms-examples": { "DataFlows_ListByWorkspace": { "$ref": "./examples/DataFlows_ListByWorkspace.json" @@ -1377,7 +1370,7 @@ "tags": [ "dataFlowDebugSession" ], - "operationId": "DataFlowDebugSession_Create", + "operationId": "DataFlowDebugSession_CreateDataFlowDebugSession", "x-ms-examples": { "DataFlowDebugSession_Create": { "$ref": "./examples/DataFlowDebugSession_Create.json" @@ -1429,7 +1422,7 @@ "tags": [ "dataFlowDebugSession" ], - "operationId": "DataFlowDebugSession_QueryByWorkspace", + "operationId": "DataFlowDebugSession_QueryDataFlowDebugSessionsByWorkspace", "x-ms-examples": { "DataFlowDebugSession_QueryByWorkspace": { "$ref": "./examples/DataFlowDebugSession_QueryByWorkspace.json" @@ -1507,7 +1500,7 @@ "tags": [ "dataFlowDebugSession" ], - "operationId": "DataFlowDebugSession_Delete", + "operationId": "DataFlowDebugSession_DeleteDataFlowDebugSession", "x-ms-examples": { "DataFlowDebugSession_Delete": { "$ref": "./examples/DataFlowDebugSession_Delete.json" @@ -1598,7 +1591,7 @@ "tags": [ "sqlScripts" ], - "operationId": "SqlScripts_ListByWorkspace", + "operationId": "SqlScript_GetSqlScriptsByWorkspace", "x-ms-examples": { "SqlScripts_ListByWorkspace": { "$ref": "./examples/SqlScripts_ListByWorkspace.json" @@ -1634,7 +1627,7 @@ "tags": [ "sqlScripts" ], - "operationId": "SqlScripts_CreateOrUpdate", + "operationId": "SqlScript_CreateOrUpdateSqlScript", "x-ms-examples": { "SqlScripts_Create": { "$ref": "./examples/SqlScripts_Create.json" @@ -1687,7 +1680,7 @@ "tags": [ "sqlScripts" ], - "operationId": "SqlScripts_Get", + "operationId": "SqlScript_GetSqlScript", "x-ms-examples": { "SqlScripts_Get": { "$ref": "./examples/SqlScripts_Get.json" @@ -1731,7 +1724,7 @@ "tags": [ "sqlScripts" ], - "operationId": "SqlScripts_Delete", + "operationId": "SqlScript_DeleteSqlScript", "x-ms-examples": { "SqlScripts_Delete": { "$ref": "./examples/SqlScripts_Delete.json" @@ -1767,7 +1760,7 @@ "tags": [ "sparkJobDefinitions" ], - "operationId": "SparkJobDefinitions_ListByWorkspace", + "operationId": "SparkJobDefinition_GetSparkJobDefinitionsByWorkspace", "x-ms-examples": { "SparkJobDefinitions_ListByWorkspace": { "$ref": "./examples/SparkJobDefinitions_ListByWorkspace.json" @@ -1803,7 +1796,7 @@ "tags": [ "sparkJobDefinitions" ], - "operationId": "SparkJobDefinitions_CreateOrUpdate", + "operationId": "SparkJobDefinition_CreateOrUpdateSparkJobDefinition", "x-ms-examples": { "SparkJobDefinitions_Create": { "$ref": "./examples/SparkJobDefinitions_Create.json" @@ -1856,7 +1849,7 @@ "tags": [ "sparkJobDefinitions" ], - "operationId": "SparkJobDefinitions_Get", + "operationId": "SparkJobDefinition_GetSparkJobDefinition", "x-ms-examples": { "SparkJobDefinitions_Get": { "$ref": "./examples/SparkJobDefinitions_Get.json" @@ -1900,7 +1893,7 @@ "tags": [ "sparkJobDefinitions" ], - "operationId": "SparkJobDefinitions_Delete", + "operationId": "SparkJobDefinition_DeleteSparkJobDefinition", "x-ms-examples": { "SparkJobDefinitions_Delete": { "$ref": "./examples/SparkJobDefinitions_Delete.json" @@ -1936,7 +1929,7 @@ "tags": [ "sparkJobDefinitions" ], - "operationId": "SparkJobDefinitions_Execute", + "operationId": "SparkJobDefinition_ExecuteSparkJobDefinition", "x-ms-examples": { "SparkJobDefinitions_Execute": { "$ref": "./examples/SparkJobDefinitions_Execute.json" @@ -1959,13 +1952,13 @@ "202": { "description": "Accepted.", "schema": { - "$ref": "../sparkFrontend.json#/definitions/ExtendedLivyBatchResponse" + "$ref": "../2019-11-01-preview/sparkJob.json#/definitions/SparkBatchJob" } }, "200": { "description": "OK.", "schema": { - "$ref": "../sparkFrontend.json#/definitions/ExtendedLivyBatchResponse" + "$ref": "../2019-11-01-preview/sparkJob.json#/definitions/SparkBatchJob" } }, "default": { @@ -1982,7 +1975,7 @@ "tags": [ "sparkJobDefinitions" ], - "operationId": "SparkJobDefinitions_Debug", + "operationId": "SparkJobDefinition_DebugSparkJobDefinition", "x-ms-examples": { "SparkJobDefinitions_Debug": { "$ref": "./examples/SparkJobDefinitions_Debug.json" @@ -2011,13 +2004,13 @@ "202": { "description": "Accepted.", "schema": { - "$ref": "../sparkFrontend.json#/definitions/ExtendedLivyBatchResponse" + "$ref": "../2019-11-01-preview/sparkJob.json#/definitions/SparkBatchJob" } }, "200": { "description": "OK.", "schema": { - "$ref": "../sparkFrontend.json#/definitions/ExtendedLivyBatchResponse" + "$ref": "../2019-11-01-preview/sparkJob.json#/definitions/SparkBatchJob" } }, "default": { @@ -2032,15 +2025,15 @@ "/notebooks": { "get": { "tags": [ - "noteBooks" + "notebooks" ], - "operationId": "NoteBooks_ListByWorkspace", + "operationId": "Notebook_GetNotebooksByWorkspace", "x-ms-examples": { - "NoteBooks_ListByWorkspace": { - "$ref": "./examples/NoteBooks_ListByWorkspace.json" + "Notebooks_ListByWorkspace": { + "$ref": "./examples/Notebooks_ListByWorkspace.json" } }, - "description": "Lists notebooks.", + "description": "Lists Notebooks.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -2050,7 +2043,7 @@ "200": { "description": "OK.", "schema": { - "$ref": "#/definitions/NoteBookListResponse" + "$ref": "#/definitions/NotebookListResponse" } }, "default": { @@ -2068,15 +2061,15 @@ "/notebooks/summary": { "get": { "tags": [ - "noteBooks" + "notebooks" ], - "operationId": "NoteBooks_ListSummaryByWorkSpace", + "operationId": "Notebook_GetNotebookSummaryByWorkSpace", "x-ms-examples": { - "NoteBooks_ListSummaryByWorkSpace": { - "$ref": "./examples/NoteBooks_ListSummaryByWorkSpace.json" + "Notebooks_ListSummaryByWorkSpace": { + "$ref": "./examples/Notebooks_ListSummaryByWorkSpace.json" } }, - "description": "Lists a summary of notebooks.", + "description": "Lists a summary of Notebooks.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -2086,7 +2079,7 @@ "200": { "description": "OK.", "schema": { - "$ref": "#/definitions/NoteBookListResponse" + "$ref": "#/definitions/NotebookListResponse" } }, "default": { @@ -2101,24 +2094,24 @@ } } }, - "/notebooks/{noteBookName}": { + "/notebooks/{notebookName}": { "put": { "tags": [ - "noteBooks" + "notebooks" ], - "operationId": "NoteBooks_CreateOrUpdate", + "operationId": "Notebook_CreateOrUpdateNotebook", "x-ms-examples": { - "NoteBooks_Create": { - "$ref": "./examples/NoteBooks_Create.json" + "Notebooks_Create": { + "$ref": "./examples/Notebooks_Create.json" }, - "NoteBooks_Update": { - "$ref": "./examples/NoteBooks_Update.json" + "Notebooks_Update": { + "$ref": "./examples/Notebooks_Update.json" } }, "description": "Creates or updates a Note Book.", "parameters": [ { - "$ref": "#/parameters/noteBookName" + "$ref": "#/parameters/NotebookName" }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2131,12 +2124,12 @@ "description": "ETag of the Note book entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update." }, { - "name": "noteBook", + "name": "Notebook", "description": "Note book resource definition.", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/NoteBookResource" + "$ref": "#/definitions/NotebookResource" } } ], @@ -2144,7 +2137,7 @@ "200": { "description": "OK.", "schema": { - "$ref": "#/definitions/NoteBookResource" + "$ref": "#/definitions/NotebookResource" } }, "default": { @@ -2157,18 +2150,18 @@ }, "get": { "tags": [ - "noteBooks" + "notebooks" ], - "operationId": "NoteBooks_Get", + "operationId": "Notebook_GetNotebook", "x-ms-examples": { - "NoteBooks_Get": { - "$ref": "./examples/NoteBooks_Get.json" + "Notebooks_Get": { + "$ref": "./examples/Notebooks_Get.json" } }, "description": "Gets a Note Book.", "parameters": [ { - "$ref": "#/parameters/noteBookName" + "$ref": "#/parameters/NotebookName" }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2178,14 +2171,14 @@ "in": "header", "required": false, "type": "string", - "description": "ETag of the notebook 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." + "description": "ETag of the Notebook 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/NoteBookResource" + "$ref": "#/definitions/NotebookResource" } }, "304": { @@ -2201,18 +2194,18 @@ }, "delete": { "tags": [ - "noteBooks" + "notebooks" ], - "operationId": "NoteBooks_Delete", + "operationId": "Notebook_DeleteNotebook", "x-ms-examples": { - "NoteBooks_Delete": { - "$ref": "./examples/NoteBooks_Delete.json" + "Notebooks_Delete": { + "$ref": "./examples/Notebooks_Delete.json" } }, "description": "Deletes a Note book.", "parameters": [ { - "$ref": "#/parameters/noteBookName" + "$ref": "#/parameters/NotebookName" }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2721,7 +2714,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.", @@ -3177,7 +3174,7 @@ "DatasetReference" ], "x-ms-enum": { - "name": "Type", + "name": "DatasetReferenceType", "modelAsString": true } }, @@ -3365,8 +3362,8 @@ "properties" ] }, - "NoteBookListResponse": { - "description": "A list of notebook resources.", + "NotebookListResponse": { + "description": "A list of Notebook resources.", "type": "object", "required": [ "value" @@ -3374,9 +3371,9 @@ "properties": { "value": { "type": "array", - "description": "List of notebooks.", + "description": "List of Notebooks.", "items": { - "$ref": "#/definitions/NoteBookResource" + "$ref": "#/definitions/NotebookResource" } }, "nextLink": { @@ -3385,8 +3382,8 @@ } } }, - "NoteBookResource": { - "description": "NoteBook resource type.", + "NotebookResource": { + "description": "Notebook resource type.", "allOf": [ { "$ref": "#/definitions/SubResource" @@ -3394,8 +3391,8 @@ ], "properties": { "properties": { - "$ref": "./entityTypes/NoteBook.json#/definitions/NoteBook", - "description": "Properties of NoteBook." + "$ref": "./entityTypes/Notebook.json#/definitions/Notebook", + "description": "Properties of Notebook." } }, "required": [ @@ -4136,24 +4133,6 @@ } }, "parameters": { - "subscriptionId": { - "name": "subscriptionId", - "description": "The subscription identifier.", - "in": "path", - "required": true, - "type": "string" - }, - "resourceGroupName": { - "name": "resourceGroupName", - "description": "The resource group name.", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 90, - "x-ms-parameter-location": "method" - }, "workspaceName": { "name": "workspaceName", "description": "The workspace name.", @@ -4162,22 +4141,6 @@ "type": "string", "x-ms-parameter-location": "method" }, - "sqlComputeName": { - "name": "sqlComputeName", - "description": "The sql compute name.", - "in": "path", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "sparkComputeName": { - "name": "sparkComputeName", - "description": "The spark compute name.", - "in": "path", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, "sqlScriptName": { "name": "sqlScriptName", "description": "The sql script name.", @@ -4194,9 +4157,9 @@ "type": "string", "x-ms-parameter-location": "method" }, - "noteBookName": { - "name": "noteBookName", - "description": "The note book name.", + "NotebookName": { + "name": "notebookName", + "description": "The notebook name.", "in": "path", "required": true, "type": "string", @@ -4318,14 +4281,13 @@ "type": "string", "description": "The Synapse client API Version." }, - "SynapseDnsSuffixInPath": { - "name": "SynapseDnsSuffix", - "in": "path", + "Endpoint": { + "name": "endpoint", + "description": "The workspace development endpoint, for example https://myworkspace.dev.azuresynapse.net.", "required": true, "type": "string", - "default": "dev.azuresynapse.net", + "in": "path", "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/2019-11-01-preview/adf/entityTypes/DataFlow.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/DataFlow.json similarity index 94% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/entityTypes/DataFlow.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/DataFlow.json index d1317f5bd0e2..cc6adc44e2fd 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/entityTypes/DataFlow.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/DataFlow.json @@ -1,8 +1,8 @@ { "swagger": "2.0", "info": { - "title": "SynapseClient", - "version": "2019-11-01-preview" + "title": "ArtifactsClient", + "version": "2019-06-01-preview" }, "paths": {}, "definitions": { @@ -115,7 +115,7 @@ "properties": { "dataset": { "description": "Dataset reference.", - "$ref": "../datafactory.json#/definitions/DatasetReference" + "$ref": "../artifacts.json#/definitions/DatasetReference" } } }, @@ -129,7 +129,7 @@ "properties": { "dataset": { "description": "Dataset reference.", - "$ref": "../datafactory.json#/definitions/DatasetReference" + "$ref": "../artifacts.json#/definitions/DatasetReference" } } } diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/entityTypes/Dataset.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Dataset.json similarity index 99% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/entityTypes/Dataset.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Dataset.json index 29f8b205d98f..1aa9e4d000f2 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/entityTypes/Dataset.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Dataset.json @@ -1,8 +1,8 @@ { "swagger": "2.0", "info": { - "title": "SynapseClient", - "version": "2019-11-01-preview" + "title": "ArtifactsClient", + "version": "2019-06-01-preview" }, "paths": {}, "definitions": { @@ -29,10 +29,10 @@ }, "linkedServiceName": { "description": "Linked service reference.", - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" }, "parameters": { - "$ref": "../datafactory.json#/definitions/ParameterDefinitionSpecification", + "$ref": "../artifacts.json#/definitions/ParameterDefinitionSpecification", "description": "Parameters for dataset." }, "annotations": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/entityTypes/LinkedService.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/LinkedService.json similarity index 96% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/entityTypes/LinkedService.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/LinkedService.json index bbee397ae546..8f54c7fb088c 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/entityTypes/LinkedService.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/LinkedService.json @@ -1,8 +1,8 @@ { "swagger": "2.0", "info": { - "title": "SynapseClient", - "version": "2019-11-01-preview" + "title": "ArtifactsClient", + "version": "2019-06-01-preview" }, "paths": {}, "definitions": { @@ -17,14 +17,14 @@ }, "connectVia": { "description": "The integration runtime reference.", - "$ref": "../datafactory.json#/definitions/IntegrationRuntimeReference" + "$ref": "../artifacts.json#/definitions/IntegrationRuntimeReference" }, "description": { "description": "Linked service description.", "type": "string" }, "parameters": { - "$ref": "../datafactory.json#/definitions/ParameterDefinitionSpecification", + "$ref": "../artifacts.json#/definitions/ParameterDefinitionSpecification", "description": "Parameters for linked service." }, "annotations": { @@ -110,7 +110,7 @@ "type": "object" }, "accountKey": { - "$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference", + "$ref": "../artifacts.json#/definitions/AzureKeyVaultSecretReference", "description": "The Azure key vault secret reference of accountKey in connection string." }, "sasUri": { @@ -118,7 +118,7 @@ "type": "object" }, "sasToken": { - "$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference", + "$ref": "../artifacts.json#/definitions/AzureKeyVaultSecretReference", "description": "The Azure key vault secret reference of sasToken in sas uri." }, "encryptedCredential": { @@ -135,7 +135,7 @@ "description": "The connection string. It is mutually exclusive with sasUri, serviceEndpoint property. Type: string, SecureString or AzureKeyVaultSecretReference." }, "accountKey": { - "$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference", + "$ref": "../artifacts.json#/definitions/AzureKeyVaultSecretReference", "description": "The Azure key vault secret reference of accountKey in connection string." }, "sasUri": { @@ -143,7 +143,7 @@ "type": "object" }, "sasToken": { - "$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference", + "$ref": "../artifacts.json#/definitions/AzureKeyVaultSecretReference", "description": "The Azure key vault secret reference of sasToken in sas uri." }, "serviceEndpoint": { @@ -155,7 +155,7 @@ "description": "The ID of the service principal used to authenticate against Azure SQL Data Warehouse. Type: string (or Expression with resultType string)." }, "servicePrincipalKey": { - "$ref": "../datafactory.json#/definitions/SecretBase", + "$ref": "../artifacts.json#/definitions/SecretBase", "description": "The key of the service principal used to authenticate against Azure SQL Data Warehouse." }, "tenant": { @@ -196,7 +196,7 @@ "type": "object" }, "password": { - "$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference", + "$ref": "../artifacts.json#/definitions/AzureKeyVaultSecretReference", "description": "The Azure key vault secret reference of password in connection string." }, "servicePrincipalId": { @@ -204,7 +204,7 @@ "description": "The ID of the service principal used to authenticate against Azure SQL Data Warehouse. Type: string (or Expression with resultType string)." }, "servicePrincipalKey": { - "$ref": "../datafactory.json#/definitions/SecretBase", + "$ref": "../artifacts.json#/definitions/SecretBase", "description": "The key of the service principal used to authenticate against Azure SQL Data Warehouse." }, "tenant": { @@ -253,7 +253,7 @@ }, "password": { "description": "The on-premises Windows authentication password.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "encryptedCredential": { "type": "object", @@ -292,7 +292,7 @@ "type": "object" }, "password": { - "$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference", + "$ref": "../artifacts.json#/definitions/AzureKeyVaultSecretReference", "description": "The Azure key vault secret reference of password in connection string." }, "servicePrincipalId": { @@ -300,7 +300,7 @@ "description": "The ID of the service principal used to authenticate against Azure SQL Database. Type: string (or Expression with resultType string)." }, "servicePrincipalKey": { - "$ref": "../datafactory.json#/definitions/SecretBase", + "$ref": "../artifacts.json#/definitions/SecretBase", "description": "The key of the service principal used to authenticate against Azure SQL Database." }, "tenant": { @@ -344,7 +344,7 @@ "type": "object" }, "password": { - "$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference", + "$ref": "../artifacts.json#/definitions/AzureKeyVaultSecretReference", "description": "The Azure key vault secret reference of password in connection string." }, "servicePrincipalId": { @@ -352,7 +352,7 @@ "description": "The ID of the service principal used to authenticate against Azure SQL Managed Instance. Type: string (or Expression with resultType string)." }, "servicePrincipalKey": { - "$ref": "../datafactory.json#/definitions/SecretBase", + "$ref": "../artifacts.json#/definitions/SecretBase", "description": "The key of the service principal used to authenticate against Azure SQL Managed Instance." }, "tenant": { @@ -397,7 +397,7 @@ }, "accessKey": { "description": "The Azure Batch account access key.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "batchUri": { "type": "object", @@ -409,7 +409,7 @@ }, "linkedServiceName": { "description": "The Azure Storage linked service reference.", - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" }, "encryptedCredential": { "type": "object", @@ -491,7 +491,7 @@ "type": "object" }, "accountKey": { - "$ref": "../datafactory.json#/definitions/SecretBase", + "$ref": "../artifacts.json#/definitions/SecretBase", "description": "The account key of the Azure CosmosDB account. Type: SecureString or AzureKeyVaultSecretReference." }, "encryptedCredential": { @@ -570,7 +570,7 @@ }, "password": { "description": "Password to access the Dynamics instance.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "servicePrincipalId": { "type": "object", @@ -589,7 +589,7 @@ "description": "The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string)." }, "servicePrincipalCredential": { - "$ref": "../datafactory.json#/definitions/SecretBase", + "$ref": "../artifacts.json#/definitions/SecretBase", "description": "The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only be AzureKeyVaultSecretReference." }, "encryptedCredential": { @@ -672,7 +672,7 @@ }, "password": { "description": "Password to access the Dynamics CRM instance.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "servicePrincipalId": { "type": "object", @@ -691,7 +691,7 @@ "description": "The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string)." }, "servicePrincipalCredential": { - "$ref": "../datafactory.json#/definitions/SecretBase", + "$ref": "../artifacts.json#/definitions/SecretBase", "description": "The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only be AzureKeyVaultSecretReference." }, "encryptedCredential": { @@ -774,7 +774,7 @@ }, "password": { "description": "Password to access the Common Data Service for Apps instance.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "servicePrincipalId": { "type": "object", @@ -793,7 +793,7 @@ "description": "The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string)." }, "servicePrincipalCredential": { - "$ref": "../datafactory.json#/definitions/SecretBase", + "$ref": "../artifacts.json#/definitions/SecretBase", "description": "The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only be AzureKeyVaultSecretReference." }, "encryptedCredential": { @@ -839,15 +839,15 @@ }, "password": { "description": "HDInsight cluster password.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "linkedServiceName": { "description": "The Azure Storage linked service reference.", - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" }, "hcatalogLinkedServiceName": { "description": "A reference to the Azure SQL linked service that points to the HCatalog database.", - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" }, "encryptedCredential": { "type": "object", @@ -899,7 +899,7 @@ }, "password": { "description": "Password to logon the server.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "encryptedCredential": { "type": "object", @@ -943,7 +943,7 @@ }, "password": { "description": "Password to logon the server.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "encryptedCredential": { "type": "object", @@ -983,7 +983,7 @@ }, "secretAccessKey": { "description": "The secret access key of the Google Cloud Storage Identity and Access Management (IAM) user.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "serviceUrl": { "type": "object", @@ -1023,7 +1023,7 @@ "type": "object" }, "password": { - "$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference", + "$ref": "../artifacts.json#/definitions/AzureKeyVaultSecretReference", "description": "The Azure key vault secret reference of password in connection string." }, "encryptedCredential": { @@ -1063,7 +1063,7 @@ "type": "object" }, "password": { - "$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference", + "$ref": "../artifacts.json#/definitions/AzureKeyVaultSecretReference", "description": "The Azure key vault secret reference of password in connection string." }, "encryptedCredential": { @@ -1103,7 +1103,7 @@ "type": "object" }, "password": { - "$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference", + "$ref": "../artifacts.json#/definitions/AzureKeyVaultSecretReference", "description": "The Azure key vault secret reference of password in connection string." }, "encryptedCredential": { @@ -1143,7 +1143,7 @@ "type": "object" }, "password": { - "$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference", + "$ref": "../artifacts.json#/definitions/AzureKeyVaultSecretReference", "description": "The Azure key vault secret reference of password in connection string." }, "encryptedCredential": { @@ -1208,7 +1208,7 @@ }, "password": { "description": "Password for authentication.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "encryptedCredential": { "type": "object", @@ -1268,7 +1268,7 @@ }, "password": { "description": "Password for authentication.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "packageCollection": { "type": "object", @@ -1337,7 +1337,7 @@ }, "password": { "description": "Password for authentication.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "encryptedCredential": { "type": "object", @@ -1374,7 +1374,7 @@ }, "apiKey": { "description": "The API key for accessing the Azure ML model endpoint.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "updateResourceEndpoint": { "type": "object", @@ -1385,7 +1385,7 @@ "description": "The ID of the service principal used to authenticate against the ARM-based updateResourceEndpoint of an Azure ML Studio web service. Type: string (or Expression with resultType string)." }, "servicePrincipalKey": { - "$ref": "../datafactory.json#/definitions/SecretBase", + "$ref": "../artifacts.json#/definitions/SecretBase", "description": "The key of the service principal used to authenticate against the ARM-based updateResourceEndpoint of an Azure ML Studio web service." }, "tenant": { @@ -1442,7 +1442,7 @@ "description": "The ID of the service principal used to authenticate against the endpoint of a published Azure ML Service pipeline. Type: string (or Expression with resultType string)." }, "servicePrincipalKey": { - "$ref": "../datafactory.json#/definitions/SecretBase", + "$ref": "../artifacts.json#/definitions/SecretBase", "description": "The key of the service principal used to authenticate against the endpoint of a published Azure ML Service pipeline." }, "tenant": { @@ -1493,7 +1493,7 @@ }, "credential": { "description": "The access credential portion of the connection string specified in driver-specific property-value format.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "userName": { "type": "object", @@ -1501,7 +1501,7 @@ }, "password": { "description": "Password for Basic authentication.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "encryptedCredential": { "type": "object", @@ -1545,7 +1545,7 @@ }, "credential": { "description": "The access credential portion of the connection string specified in driver-specific property-value format.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "userName": { "type": "object", @@ -1553,7 +1553,7 @@ }, "password": { "description": "Password for Basic authentication.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "encryptedCredential": { "type": "object", @@ -1597,7 +1597,7 @@ }, "credential": { "description": "The access credential portion of the connection string specified in driver-specific property-value format.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "userName": { "type": "object", @@ -1605,7 +1605,7 @@ }, "password": { "description": "Password for Basic authentication.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "encryptedCredential": { "type": "object", @@ -1657,7 +1657,7 @@ }, "password": { "description": "Password for Windows authentication.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" } }, "required": [ @@ -1712,7 +1712,7 @@ }, "password": { "description": "Password of the OData service.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "tenant": { "type": "object", @@ -1740,15 +1740,15 @@ }, "servicePrincipalKey": { "description": "Specify the secret of your application registered in Azure Active Directory. Type: string (or Expression with resultType string).", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "servicePrincipalEmbeddedCert": { "description": "Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string).", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "servicePrincipalEmbeddedCertPassword": { "description": "Specify the password of your certificate if your certificate has a password and you are using AadServicePrincipal authentication. Type: string (or Expression with resultType string).", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "encryptedCredential": { "type": "object", @@ -1830,7 +1830,7 @@ }, "password": { "description": "The password for Basic authentication.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" } }, "required": [ @@ -1849,11 +1849,11 @@ "properties": { "pfx": { "description": "Base64-encoded contents of a PFX file.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "password": { "description": "Password for the PFX file.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" } }, "required": [ @@ -1902,7 +1902,7 @@ }, "password": { "description": "Password for authentication.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "encryptedCredential": { "type": "object", @@ -1962,7 +1962,7 @@ }, "password": { "description": "Password for authentication.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "authSource": { "type": "object", @@ -2097,7 +2097,7 @@ }, "servicePrincipalKey": { "description": "The Key of the application used to authenticate against the Azure Data Lake Store account.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "tenant": { "type": "object", @@ -2161,7 +2161,7 @@ }, "servicePrincipalKey": { "description": "The Key of the application used to authenticate against the Azure Data Lake Storage Gen2 account.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "tenant": { "type": "object", @@ -2213,7 +2213,7 @@ }, "servicePrincipalKey": { "description": "Specify the application's key.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "encryptedCredential": { "type": "object", @@ -2260,11 +2260,11 @@ }, "password": { "description": "The password for Basic authentication of the Salesforce instance.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "securityToken": { "description": "The security token is required to remotely access Salesforce instance.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "encryptedCredential": { "type": "object", @@ -2305,11 +2305,11 @@ }, "password": { "description": "The password for Basic authentication of the Salesforce instance.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "securityToken": { "description": "The security token is required to remotely access Salesforce instance.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "extendedProperties": { "type": "object", @@ -2354,7 +2354,7 @@ }, "password": { "description": "The password for Basic authentication.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "encryptedCredential": { "type": "object", @@ -2398,7 +2398,7 @@ }, "password": { "description": "The password for Basic authentication.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "encryptedCredential": { "type": "string", @@ -2454,7 +2454,7 @@ }, "password": { "description": "Password to access the SAP BW server where the open hub destination is located.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "encryptedCredential": { "type": "object", @@ -2518,7 +2518,7 @@ }, "password": { "description": "The password used in Basic authentication type.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "servicePrincipalId": { "description": "The application's client ID used in AadServicePrincipal authentication type.", @@ -2526,7 +2526,7 @@ }, "servicePrincipalKey": { "description": "The application's key used in AadServicePrincipal authentication type.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "tenant": { "description": "The tenant information (domain name or tenant ID) used in AadServicePrincipal authentication type under which your application resides.", @@ -2575,7 +2575,7 @@ }, "secretAccessKey": { "description": "The secret access key of the Amazon S3 Identity and Access Management (IAM) user.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "serviceUrl": { "type": "object", @@ -2620,7 +2620,7 @@ }, "password": { "description": "The password of the Amazon Redshift source.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "database": { "type": "object", @@ -2689,7 +2689,7 @@ }, "key": { "description": "Admin Key for Azure Search service", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "encryptedCredential": { "type": "object", @@ -2748,7 +2748,7 @@ }, "password": { "description": "Password for Basic, Digest, Windows, or ClientCertificate with EmbeddedCertData authentication.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "embeddedCertData": { "type": "object", @@ -2820,7 +2820,7 @@ }, "password": { "description": "Password to logon the FTP server.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "encryptedCredential": { "type": "object", @@ -2888,7 +2888,7 @@ }, "password": { "description": "Password to logon the SFTP server for Basic authentication.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "encryptedCredential": { "type": "object", @@ -2900,11 +2900,11 @@ }, "privateKeyContent": { "description": "Base64 encoded SSH private key content for SshPublicKey authentication. For on-premises copy with SshPublicKey authentication, either PrivateKeyPath or PrivateKeyContent should be specified. SSH private key should be OpenSSH format.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "passPhrase": { "description": "The password to decrypt the SSH private key if the SSH private key is encrypted.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "skipHostKeyValidation": { "type": "object", @@ -2960,7 +2960,7 @@ }, "password": { "description": "Password to access the SAP BW server.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "encryptedCredential": { "type": "object", @@ -3022,7 +3022,7 @@ }, "password": { "description": "Password to access the SAP HANA server.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "encryptedCredential": { "type": "object", @@ -3070,7 +3070,7 @@ }, "mwsAuthToken": { "description": "The Amazon MWS authentication token.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "accessKeyId": { "description": "The access key id used to access data.", @@ -3078,7 +3078,7 @@ }, "secretKey": { "description": "The secret key used to access data.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "useEncryptedEndpoints": { "description": "Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.", @@ -3132,7 +3132,7 @@ "type": "object" }, "password": { - "$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference", + "$ref": "../artifacts.json#/definitions/AzureKeyVaultSecretReference", "description": "The Azure key vault secret reference of password in connection string." }, "encryptedCredential": { @@ -3174,7 +3174,7 @@ }, "password": { "description": "The password corresponding to the user name that you provided in the username field.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "useEncryptedEndpoints": { "description": "Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.", @@ -3226,7 +3226,7 @@ "type": "object" }, "credString": { - "$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference", + "$ref": "../artifacts.json#/definitions/AzureKeyVaultSecretReference", "description": "The Azure key vault secret reference of credString in connection string." }, "encryptedCredential": { @@ -3263,7 +3263,7 @@ "type": "object" }, "pwd": { - "$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference", + "$ref": "../artifacts.json#/definitions/AzureKeyVaultSecretReference", "description": "The Azure key vault secret reference of password in connection string." }, "encryptedCredential": { @@ -3305,7 +3305,7 @@ }, "password": { "description": "The password corresponding to the user name.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "useEncryptedEndpoints": { "description": "Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.", @@ -3378,7 +3378,7 @@ }, "refreshToken": { "description": "The refresh token obtained from Google for authorizing access to BigQuery for UserAuthentication.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "clientId": { "description": "The client id of the google application used to acquire the refresh token. Type: string (or Expression with resultType string).", @@ -3386,7 +3386,7 @@ }, "clientSecret": { "description": "The client secret of the google application used to acquire the refresh token.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "email": { "description": "The service account email ID that is used for ServiceAuthentication and can only be used on self-hosted IR.", @@ -3442,7 +3442,7 @@ "type": "object" }, "pwd": { - "$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference", + "$ref": "../artifacts.json#/definitions/AzureKeyVaultSecretReference", "description": "The Azure key vault secret reference of password in connection string." }, "encryptedCredential": { @@ -3504,7 +3504,7 @@ }, "password": { "description": "The password corresponding to the user name.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "enableSsl": { "description": "Specifies whether the connections to the server are encrypted using SSL. The default value is false.", @@ -3621,7 +3621,7 @@ }, "password": { "description": "The password corresponding to the user name that you provided in the Username field", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "httpPath": { "description": "The partial URL corresponding to the Hive server.", @@ -3686,15 +3686,15 @@ }, "clientSecret": { "description": "The client secret associated with your Hubspot application.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "accessToken": { "description": "The access token obtained when initially authenticating your OAuth integration.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "refreshToken": { "description": "The refresh token obtained when initially authenticating your OAuth integration.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "useEncryptedEndpoints": { "description": "Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.", @@ -3767,7 +3767,7 @@ }, "password": { "description": "The password corresponding to the user name when using UsernameAndPassword.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "enableSsl": { "description": "Specifies whether the connections to the server are encrypted using SSL. The default value is false.", @@ -3836,7 +3836,7 @@ }, "password": { "description": "The password corresponding to the user name that you provided in the username field.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "useEncryptedEndpoints": { "description": "Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.", @@ -3889,7 +3889,7 @@ }, "accessToken": { "description": "The access token from Magento.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "useEncryptedEndpoints": { "description": "Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.", @@ -3940,7 +3940,7 @@ "type": "object" }, "pwd": { - "$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference", + "$ref": "../artifacts.json#/definitions/AzureKeyVaultSecretReference", "description": "The Azure key vault secret reference of password in connection string." }, "encryptedCredential": { @@ -3977,7 +3977,7 @@ "type": "object" }, "pwd": { - "$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference", + "$ref": "../artifacts.json#/definitions/AzureKeyVaultSecretReference", "description": "The Azure key vault secret reference of password in connection string." }, "encryptedCredential": { @@ -4019,7 +4019,7 @@ }, "clientSecret": { "description": "The client secret of your Marketo service.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "useEncryptedEndpoints": { "description": "Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.", @@ -4076,7 +4076,7 @@ }, "clientSecret": { "description": "The client secret associated with your PayPal application.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "useEncryptedEndpoints": { "description": "Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.", @@ -4154,7 +4154,7 @@ }, "password": { "description": "The password corresponding to the user name.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "enableSsl": { "description": "Specifies whether the connections to the server are encrypted using SSL. The default value is false.", @@ -4243,7 +4243,7 @@ }, "password": { "description": "The password corresponding to the user name.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "enableSsl": { "description": "Specifies whether the connections to the server are encrypted using SSL. The default value is false.", @@ -4318,15 +4318,15 @@ }, "consumerSecret": { "description": "The consumer secret for OAuth 1.0 authentication.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "accessToken": { "description": "The access token for OAuth 1.0 authentication.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "accessTokenSecret": { "description": "The access token secret for OAuth 1.0 authentication.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "useEncryptedEndpoints": { "description": "Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.", @@ -4391,7 +4391,7 @@ }, "password": { "description": "The password corresponding to the user name for Basic and OAuth2 authentication.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "clientId": { "description": "The client id for OAuth2 authentication.", @@ -4399,7 +4399,7 @@ }, "clientSecret": { "description": "The client secret for OAuth2 authentication.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "useEncryptedEndpoints": { "description": "Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.", @@ -4452,7 +4452,7 @@ }, "accessToken": { "description": "The API access token that can be used to access Shopify’s data. The token won't expire if it is offline mode.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "useEncryptedEndpoints": { "description": "Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.", @@ -4552,7 +4552,7 @@ }, "password": { "description": "The password corresponding to the user name that you provided in the Username field", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "httpPath": { "description": "The partial URL corresponding to the Spark server.", @@ -4622,7 +4622,7 @@ }, "clientSecret": { "description": "The client secret associated with your Square application.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "redirectUri": { "description": "The redirect URL assigned in the Square application dashboard. (i.e. http://localhost:2500)", @@ -4680,11 +4680,11 @@ }, "consumerKey": { "description": "The consumer key associated with the Xero application.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "privateKey": { "description": "The private key from the .pem file that was generated for your Xero private application. You must include all the text from the .pem file, including the Unix line endings(\n).", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "useEncryptedEndpoints": { "description": "Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.", @@ -4736,7 +4736,7 @@ }, "accessToken": { "description": "The access token for Zoho authentication.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "useEncryptedEndpoints": { "description": "Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.", @@ -4787,7 +4787,7 @@ "type": "object" }, "pwd": { - "$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference", + "$ref": "../artifacts.json#/definitions/AzureKeyVaultSecretReference", "description": "The Azure key vault secret reference of password in connection string." }, "encryptedCredential": { @@ -4824,7 +4824,7 @@ "type": "object" }, "pwd": { - "$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference", + "$ref": "../artifacts.json#/definitions/AzureKeyVaultSecretReference", "description": "The Azure key vault secret reference of password in connection string." }, "encryptedCredential": { @@ -4862,7 +4862,7 @@ }, "clientSecret": { "description": "The client secret associated with the Salesforce Marketing Cloud application. Type: string (or Expression with resultType string).", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "useEncryptedEndpoints": { "description": "Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean).", @@ -4922,7 +4922,7 @@ }, "linkedServiceName": { "description": "Azure Storage linked service to be used by the on-demand cluster for storing and processing data.", - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" }, "hostSubscriptionId": { "type": "object", @@ -4934,7 +4934,7 @@ }, "servicePrincipalKey": { "description": "The key for the service principal id.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "tenant": { "type": "object", @@ -4954,7 +4954,7 @@ }, "clusterPassword": { "description": "The password to access the cluster.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "clusterSshUserName": { "type": "object", @@ -4962,18 +4962,18 @@ }, "clusterSshPassword": { "description": "The password to SSH remotely connect cluster’s node (for Linux).", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "additionalLinkedServiceNames": { "description": "Specifies additional storage accounts for the HDInsight linked service so that the Data Factory service can register them on your behalf.", "type": "array", "items": { - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" } }, "hcatalogLinkedServiceName": { "description": "The name of Azure SQL linked service that point to the HCatalog database. The on-demand HDInsight cluster is created by using the Azure SQL database as the metastore.", - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" }, "clusterType": { "type": "object", @@ -5126,7 +5126,7 @@ }, "servicePrincipalKey": { "description": "The Key of the application used to authenticate against the Azure Data Lake Analytics account.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "tenant": { "type": "object", @@ -5183,7 +5183,7 @@ }, "accessToken": { "description": "Access token for databricks REST API. Refer to https://docs.azuredatabricks.net/api/latest/authentication.html. Type: string (or Expression with resultType string).", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "existingClusterId": { "type": "object", @@ -5284,7 +5284,7 @@ }, "clientSecret": { "description": "The client secret associated with the Responsys application. Type: string (or Expression with resultType string).", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "useEncryptedEndpoints": { "description": "Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean).", @@ -5341,7 +5341,7 @@ }, "servicePrincipalKey": { "description": "Specify the application's key. Mark this field as a SecureString to store it securely in Data Factory, or reference a secret stored in Azure Key Vault. Type: string (or Expression with resultType string).", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "tenant": { "description": "Specify the tenant information (domain name or tenant ID) under which your application resides. Retrieve it by hovering the mouse in the top-right corner of the Azure portal. Type: string (or Expression with resultType string).", @@ -5397,7 +5397,7 @@ }, "password": { "description": "The password corresponding to the user name that you provided in the username key.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "useEncryptedEndpoints": { "description": "Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean).", @@ -5451,7 +5451,7 @@ }, "developerToken": { "description": "The developer token associated with the manager account that you use to grant access to the AdWords API.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "authenticationType": { "description": "The OAuth 2.0 authentication mechanism used for authentication. ServiceAuthentication can only be used on self-hosted IR.", @@ -5467,7 +5467,7 @@ }, "refreshToken": { "description": "The refresh token obtained from Google for authorizing access to AdWords for UserAuthentication.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "clientId": { "description": "The client id of the google application used to acquire the refresh token. Type: string (or Expression with resultType string).", @@ -5475,7 +5475,7 @@ }, "clientSecret": { "description": "The client secret of the google application used to acquire the refresh token.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "email": { "description": "The service account email ID that is used for ServiceAuthentication and can only be used on self-hosted IR.", @@ -5553,7 +5553,7 @@ }, "password": { "description": "Password to access the SAP server where the table is located.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "messageServer": { "type": "object", @@ -5625,7 +5625,7 @@ "description": "The ID of the service principal used to authenticate against Azure Data Explorer. Type: string (or Expression with resultType string)." }, "servicePrincipalKey": { - "$ref": "../datafactory.json#/definitions/SecretBase", + "$ref": "../artifacts.json#/definitions/SecretBase", "description": "The key of the service principal used to authenticate against Kusto." }, "database": { @@ -5674,7 +5674,7 @@ }, "functionKey": { "description": "Function or Host key for Azure Function App.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "encryptedCredential": { "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/entityTypes/NoteBook.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Notebook.json similarity index 98% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/entityTypes/NoteBook.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Notebook.json index 1958284c390e..9035e958e8b9 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/entityTypes/NoteBook.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Notebook.json @@ -1,12 +1,12 @@ { "swagger": "2.0", "info": { - "title": "SynapseClient", - "version": "2019-11-01-preview" + "title": "ArtifactsClient", + "version": "2019-06-01-preview" }, "paths": {}, "definitions": { - "NoteBook": { + "Notebook": { "description": "Notebook.", "type": "object", "properties": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/entityTypes/Pipeline.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Pipeline.json similarity index 98% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/entityTypes/Pipeline.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Pipeline.json index a2f4d1c618bb..2f1930156943 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/entityTypes/Pipeline.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Pipeline.json @@ -1,8 +1,8 @@ { "swagger": "2.0", "info": { - "title": "SynapseClient", - "version": "2019-11-01-preview" + "title": "ArtifactsClient", + "version": "2019-06-01-preview" }, "paths": {}, "definitions": { @@ -22,11 +22,11 @@ } }, "parameters": { - "$ref": "../datafactory.json#/definitions/ParameterDefinitionSpecification", + "$ref": "../artifacts.json#/definitions/ParameterDefinitionSpecification", "description": "List of parameters for pipeline." }, "variables": { - "$ref": "../datafactory.json#/definitions/VariableDefinitionSpecification", + "$ref": "../artifacts.json#/definitions/VariableDefinitionSpecification", "description": "List of variables for pipeline." }, "concurrency": { @@ -174,7 +174,7 @@ "properties": { "linkedServiceName": { "description": "Linked service reference.", - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" }, "policy": { "$ref": "#/definitions/ActivityPolicy", @@ -966,14 +966,14 @@ "type": "array", "description": "List of inputs for the activity.", "items": { - "$ref": "../datafactory.json#/definitions/DatasetReference" + "$ref": "../artifacts.json#/definitions/DatasetReference" } }, "outputs": { "type": "array", "description": "List of outputs for the activity.", "items": { - "$ref": "../datafactory.json#/definitions/DatasetReference" + "$ref": "../artifacts.json#/definitions/DatasetReference" } } }, @@ -2820,7 +2820,7 @@ "properties": { "s3LinkedServiceName": { "description": "The name of the Amazon S3 linked service which will be used for the unload operation when copying from the Amazon Redshift source.", - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" }, "bucketName": { "type": "object", @@ -3362,7 +3362,7 @@ "properties": { "linkedServiceName": { "description": "Log storage linked service reference.", - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" }, "path": { "type": "object", @@ -3382,7 +3382,7 @@ "properties": { "linkedServiceName": { "description": "Staging linked service reference.", - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" }, "path": { "type": "object", @@ -3810,7 +3810,7 @@ "description": "Storage linked service references.", "type": "array", "items": { - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" } }, "arguments": { @@ -3831,7 +3831,7 @@ }, "scriptLinkedService": { "description": "Script linked service reference.", - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" }, "defines": { "description": "Allows user to specify defines for Hive job request.", @@ -3894,7 +3894,7 @@ "description": "Storage linked service references.", "type": "array", "items": { - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" } }, "arguments": { @@ -3911,7 +3911,7 @@ }, "scriptLinkedService": { "description": "Script linked service reference.", - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" }, "defines": { "description": "Allows user to specify defines for Pig job request.", @@ -3949,7 +3949,7 @@ "description": "Storage linked service references.", "type": "array", "items": { - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" } }, "arguments": { @@ -3974,7 +3974,7 @@ }, "jarLinkedService": { "description": "Jar linked service reference.", - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" }, "jarLibs": { "description": "Jar libs.", @@ -4024,7 +4024,7 @@ "description": "Storage linked service references.", "type": "array", "items": { - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" } }, "arguments": { @@ -4065,7 +4065,7 @@ }, "fileLinkedService": { "description": "Linked service reference where the files are located.", - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" }, "combiner": { "type": "object", @@ -4140,7 +4140,7 @@ }, "sparkJobLinkedService": { "description": "The storage linked service for uploading the entry file and dependencies, and for receiving logs.", - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" }, "className": { "description": "The application's Java/Spark main class.", @@ -4208,7 +4208,7 @@ }, "connectVia": { "description": "The integration runtime reference.", - "$ref": "../datafactory.json#/definitions/IntegrationRuntimeReference" + "$ref": "../artifacts.json#/definitions/IntegrationRuntimeReference" }, "projectParameters": { "description": "The project level parameters to execute the SSIS package.", @@ -4288,7 +4288,7 @@ "type": "object", "properties": { "packagePassword": { - "$ref": "../datafactory.json#/definitions/SecretBase", + "$ref": "../artifacts.json#/definitions/SecretBase", "description": "Password of the package." }, "accessCredential": { @@ -4370,7 +4370,7 @@ "description": "UseName for windows authentication." }, "password": { - "$ref": "../datafactory.json#/definitions/SecureString", + "$ref": "../artifacts.json#/definitions/SecureString", "description": "Password for windows authentication." } }, @@ -4393,7 +4393,7 @@ "description": "UseName for windows authentication." }, "password": { - "$ref": "../datafactory.json#/definitions/SecretBase", + "$ref": "../artifacts.json#/definitions/SecretBase", "description": "Password for windows authentication." } }, @@ -4502,7 +4502,7 @@ }, "resourceLinkedService": { "description": "Resource linked service reference.", - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" }, "folderPath": { "type": "object", @@ -4536,14 +4536,14 @@ "description": "Linked service references.", "type": "array", "items": { - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" } }, "datasets": { "description": "Dataset references.", "type": "array", "items": { - "$ref": "../datafactory.json#/definitions/DatasetReference" + "$ref": "../artifacts.json#/definitions/DatasetReference" } } } @@ -4611,11 +4611,11 @@ "properties": { "pipeline": { "description": "Pipeline reference.", - "$ref": "../datafactory.json#/definitions/PipelineReference" + "$ref": "../artifacts.json#/definitions/PipelineReference" }, "parameters": { "description": "Pipeline parameters.", - "$ref": "../datafactory.json#/definitions/ParameterValueSpecification" + "$ref": "../artifacts.json#/definitions/ParameterValueSpecification" }, "waitOnCompletion": { "description": "Defines whether activity execution will wait for the dependent pipeline execution to finish. Default is false.", @@ -4667,7 +4667,7 @@ }, "dataset": { "description": "Delete activity dataset reference.", - "$ref": "../datafactory.json#/definitions/DatasetReference" + "$ref": "../artifacts.json#/definitions/DatasetReference" } }, "required": [ @@ -4737,7 +4737,7 @@ }, "dataset": { "description": "Lookup activity dataset reference.", - "$ref": "../datafactory.json#/definitions/DatasetReference" + "$ref": "../artifacts.json#/definitions/DatasetReference" }, "firstRowOnly": { "type": "object", @@ -4791,7 +4791,7 @@ }, "pfx": { "description": "Base64-encoded contents of a PFX file.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "username": { "description": "Web activity authentication user name for basic authentication.", @@ -4799,7 +4799,7 @@ }, "password": { "description": "Password for the PFX file or basic authentication.", - "$ref": "../datafactory.json#/definitions/SecretBase" + "$ref": "../artifacts.json#/definitions/SecretBase" }, "resource": { "description": "Resource for which Azure Auth token will be requested when using MSI Authentication.", @@ -4837,19 +4837,19 @@ "type": "array", "description": "List of datasets passed to web endpoint.", "items": { - "$ref": "../datafactory.json#/definitions/DatasetReference" + "$ref": "../artifacts.json#/definitions/DatasetReference" } }, "linkedServices": { "type": "array", "description": "List of linked services passed to web endpoint.", "items": { - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" } }, "connectVia": { "description": "The integration runtime reference.", - "$ref": "../datafactory.json#/definitions/IntegrationRuntimeReference" + "$ref": "../artifacts.json#/definitions/IntegrationRuntimeReference" } }, "required": [ @@ -4881,7 +4881,7 @@ "properties": { "dataset": { "description": "GetMetadata activity dataset reference.", - "$ref": "../datafactory.json#/definitions/DatasetReference" + "$ref": "../artifacts.json#/definitions/DatasetReference" }, "fieldList": { "description": "Fields of metadata to get from dataset.", @@ -4920,7 +4920,7 @@ "properties": { "expression": { "description": "An expression that would evaluate to Boolean. This is used to determine the block of activities (ifTrueActivities or ifFalseActivities) that will be executed.", - "$ref": "../datafactory.json#/definitions/Expression" + "$ref": "../artifacts.json#/definitions/Expression" }, "ifTrueActivities": { "type": "array", @@ -4965,7 +4965,7 @@ "properties": { "on": { "description": "An expression that would evaluate to a string or integer. This is used to determine the block of activities in cases that will be executed.", - "$ref": "../datafactory.json#/definitions/Expression" + "$ref": "../artifacts.json#/definitions/Expression" }, "cases": { "type": "array", @@ -5036,7 +5036,7 @@ }, "items": { "description": "Collection to iterate.", - "$ref": "../datafactory.json#/definitions/Expression" + "$ref": "../artifacts.json#/definitions/Expression" }, "activities": { "type": "array", @@ -5107,7 +5107,7 @@ }, "linkedServiceName": { "description": "Reference to an Azure Storage LinkedService, where Azure ML WebService Input/Output file located.", - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" } }, "required": [ @@ -5143,7 +5143,7 @@ }, "trainedModelLinkedServiceName": { "description": "Name of Azure Storage linked service holding the .ilearner file that will be uploaded by the update operation.", - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" }, "trainedModelFilePath": { "type": "object", @@ -5239,7 +5239,7 @@ }, "scriptLinkedService": { "description": "Script linked service reference.", - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" }, "degreeOfParallelism": { "type": "object", @@ -5326,7 +5326,7 @@ "properties": { "expression": { "description": "An expression that would evaluate to Boolean. The loop will continue until this expression evaluates to true", - "$ref": "../datafactory.json#/definitions/Expression" + "$ref": "../artifacts.json#/definitions/Expression" }, "timeout": { "type": "object", @@ -5385,7 +5385,7 @@ }, "dataset": { "description": "Validation activity dataset reference.", - "$ref": "../datafactory.json#/definitions/DatasetReference" + "$ref": "../artifacts.json#/definitions/DatasetReference" } }, "required": [ @@ -5416,11 +5416,11 @@ "properties": { "items": { "description": "Input array on which filter should be applied.", - "$ref": "../datafactory.json#/definitions/Expression" + "$ref": "../artifacts.json#/definitions/Expression" }, "condition": { "description": "Condition to be used for filtering the input.", - "$ref": "../datafactory.json#/definitions/Expression" + "$ref": "../artifacts.json#/definitions/Expression" } }, "required": [ @@ -5448,7 +5448,7 @@ ] }, "DatabricksNotebookActivityTypeProperties": { - "description": "Databricks Notebook activity properties.", + "description": "Databricks notebook activity properties.", "properties": { "notebookPath": { "type": "object", @@ -5794,15 +5794,15 @@ "properties": { "dataFlow": { "description": "Data flow reference.", - "$ref": "../datafactory.json#/definitions/DataFlowReference" + "$ref": "../artifacts.json#/definitions/DataFlowReference" }, "staging": { "description": "Staging info for execute data flow activity.", - "$ref": "../datafactory.json#/definitions/DataFlowStagingInfo" + "$ref": "../artifacts.json#/definitions/DataFlowStagingInfo" }, "integrationRuntime": { "description": "The integration runtime reference.", - "$ref": "../datafactory.json#/definitions/IntegrationRuntimeReference" + "$ref": "../artifacts.json#/definitions/IntegrationRuntimeReference" }, "compute": { "description": "Compute properties for data flow activity.", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/entityTypes/SparkJobDefinition.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/SparkJobDefinition.json similarity index 96% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/entityTypes/SparkJobDefinition.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/SparkJobDefinition.json index 87caabcdaced..32c5484c99cd 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/entityTypes/SparkJobDefinition.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/SparkJobDefinition.json @@ -1,8 +1,8 @@ { "swagger": "2.0", "info": { - "title": "SynapseClient", - "version": "2019-11-01-preview" + "title": "ArtifactsClient", + "version": "2019-06-01-preview" }, "paths": {}, "definitions": { @@ -16,7 +16,7 @@ }, "targetBigDataPool": { "description": "Big data pool reference.", - "$ref": "./NoteBook.json#/definitions/BigDataPoolReference" + "$ref": "./Notebook.json#/definitions/BigDataPoolReference" }, "requiredSparkVersion": { "description": "The required Spark version of the application.", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/entityTypes/SqlScript.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/SqlScript.json similarity index 97% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/entityTypes/SqlScript.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/SqlScript.json index ba7c44589f83..ab23bc7f45ff 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/entityTypes/SqlScript.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/SqlScript.json @@ -1,8 +1,8 @@ { "swagger": "2.0", "info": { - "title": "SynapseClient", - "version": "2019-11-01-preview" + "title": "ArtifactsClient", + "version": "2019-06-01-preview" }, "paths": {}, "definitions": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/entityTypes/Trigger.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Trigger.json similarity index 97% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/entityTypes/Trigger.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Trigger.json index f8f4ac9763e2..37376429432c 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/entityTypes/Trigger.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Trigger.json @@ -1,8 +1,8 @@ { "swagger": "2.0", "info": { - "title": "SynapseClient", - "version": "2019-11-01-preview" + "title": "ArtifactsClient", + "version": "2019-06-01-preview" }, "paths": {}, "definitions": { @@ -64,7 +64,7 @@ "pipelines": { "type": "array", "items": { - "$ref": "../datafactory.json#/definitions/TriggerPipelineReference" + "$ref": "../artifacts.json#/definitions/TriggerPipelineReference" }, "description": "Pipelines that need to be started." } @@ -268,7 +268,7 @@ }, "linkedService": { "description": "The Azure Storage linked service reference.", - "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + "$ref": "../artifacts.json#/definitions/LinkedServiceReference" } }, "required": [ @@ -351,7 +351,7 @@ ], "properties": { "pipeline": { - "$ref": "../datafactory.json#/definitions/TriggerPipelineReference", + "$ref": "../artifacts.json#/definitions/TriggerPipelineReference", "description": "Pipeline for which runs are created when an event is fired for trigger window that is ready." }, "typeProperties": { @@ -604,7 +604,7 @@ ], "properties": { "pipeline": { - "$ref": "../datafactory.json#/definitions/TriggerPipelineReference", + "$ref": "../artifacts.json#/definitions/TriggerPipelineReference", "description": "Pipeline for which runs are created when all upstream pipelines complete successfully." }, "typeProperties": { @@ -614,7 +614,7 @@ "dependsOn": { "type": "array", "items": { - "$ref": "../datafactory.json#/definitions/PipelineReference" + "$ref": "../artifacts.json#/definitions/PipelineReference" }, "description": "Upstream Pipelines." }, diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/ActivityRuns_QueryByPipelineRun.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/ActivityRuns_QueryByPipelineRun.json similarity index 96% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/ActivityRuns_QueryByPipelineRun.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/ActivityRuns_QueryByPipelineRun.json index 1d0e4bb38f62..f5662d347497 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/ActivityRuns_QueryByPipelineRun.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/ActivityRuns_QueryByPipelineRun.json @@ -1,14 +1,13 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "pipelineName": "examplePipeline", "runId": "2f7fdb90-5df1-4b8e-ac2f-064cfa58202b", "filterParameters": { "lastUpdatedAfter": "2018-06-16T00:36:44.3345758Z", "lastUpdatedBefore": "2018-06-16T00:49:48.3686473Z" }, - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/CreateManagedPrivateEndpoint.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/CreateManagedPrivateEndpoint.json new file mode 100644 index 000000000000..546fa6e7fe84 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/CreateManagedPrivateEndpoint.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "workspaceName": "myWorkspace", + "SynapseDnsSuffix": "dev.azuresynapse.net", + "api-version": "2019-06-01-preview", + "managedVirtualNetworkName": "default", + "managedPrivateEndpointName": "myPrivateEndpoint", + "parameters": { + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.Storage/accounts/myStorageAccount", + "groupId": "blob" + } + } + }, + "responses": { + "202": { + "body": { + "type": "Microsoft.Synapse/workspaces/managedVirtualNetworks/managedPrivateEndpoints", + "name": "myPrivateEndpoint", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.Storage/accounts/myStorageAccount", + "groupId": "blob", + "provisioningState": "Provisioning", + "connectionState": { + "status": "Pending", + "description": "", + "actionsRequired": "" + } + } + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlowDebugSession_AddDataFlow.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlowDebugSession_AddDataFlow.json similarity index 95% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlowDebugSession_AddDataFlow.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlowDebugSession_AddDataFlow.json index 3fe211fe4d36..adf054457fcc 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlowDebugSession_AddDataFlow.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlowDebugSession_AddDataFlow.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "request": { "dataFlow": { "name": "dataflow1", @@ -90,7 +89,7 @@ }, "sessionId": "f06ed247-9d07-49b2-b05e-2cb4a2fc871e" }, - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlowDebugSession_Create.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlowDebugSession_Create.json similarity index 87% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlowDebugSession_Create.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlowDebugSession_Create.json index 2b8e9fb98143..b1644c6737c5 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlowDebugSession_Create.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlowDebugSession_Create.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "request": { "dataFlowName": "dataflow", "existingClusterId": "1221221", @@ -21,7 +20,7 @@ } } }, - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "202": { @@ -31,7 +30,7 @@ "x-ms-ratelimit-remaining-subscription-reads": "14989", "x-ms-request-id": "2f955e10-c6df-45a7-97d4-81acdb8540cd", "x-ms-correlation-request-id": "2f955e10-c6df-45a7-97d4-81acdb8540cd", - "location": "https://exampleWorkspaceName.dev.azuresynapse.net/operationStatuses/dfCreateSession$$229c688c-944c-44ac-b31a-82d50f347154?api-version=2019-11-01-preview" + "location": "https://exampleWorkspaceName.dev.azuresynapse.net/operationStatuses/dfCreateSession$$229c688c-944c-44ac-b31a-82d50f347154?api-version=2019-06-01-preview" } }, "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlowDebugSession_Delete.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlowDebugSession_Delete.json similarity index 78% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlowDebugSession_Delete.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlowDebugSession_Delete.json index be1da7df23ce..7eecf68ab320 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlowDebugSession_Delete.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlowDebugSession_Delete.json @@ -1,11 +1,10 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "request": { "sessionId": "91fb57e0-8292-47be-89ff-c8f2d2bb2a7e" }, - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlowDebugSession_ExecuteCommand.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlowDebugSession_ExecuteCommand.json similarity index 83% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlowDebugSession_ExecuteCommand.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlowDebugSession_ExecuteCommand.json index 45e86f142046..9c88adb10bde 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlowDebugSession_ExecuteCommand.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlowDebugSession_ExecuteCommand.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "request": { "dataFlowName": "dataFlowName", "commandPayload": { @@ -11,7 +10,7 @@ "commandName": "executePreviewQuery", "sessionId": "f06ed247-9d07-49b2-b05e-2cb4a2fc871e" }, - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "202": { @@ -21,7 +20,7 @@ "x-ms-ratelimit-remaining-subscription-reads": "14989", "x-ms-request-id": "2f955e10-c6df-45a7-97d4-81acdb8540cd", "x-ms-correlation-request-id": "2f955e10-c6df-45a7-97d4-81acdb8540cd", - "location": "https://exampleWorkspaceName.dev.azuresynapse.net/operationResults/dfCommandOutput$$f06ed247-9d07-49b2-b05e-2cb4a2fc871e$$e5328ee7-c524-4207-8ba4-b709010db33d$$ace5eaf0-3e93-45ba-ada3-bf77da321a7b?api-version=2019-11-01-preview" + "location": "https://exampleWorkspaceName.dev.azuresynapse.net/operationResults/dfCommandOutput$$f06ed247-9d07-49b2-b05e-2cb4a2fc871e$$e5328ee7-c524-4207-8ba4-b709010db33d$$ace5eaf0-3e93-45ba-ada3-bf77da321a7b?api-version=2019-06-01-preview" } }, "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlowDebugSession_QueryByWorkspace.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlowDebugSession_QueryByWorkspace.json similarity index 87% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlowDebugSession_QueryByWorkspace.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlowDebugSession_QueryByWorkspace.json index 8489bf43ada4..fee006e7bfa3 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlowDebugSession_QueryByWorkspace.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlowDebugSession_QueryByWorkspace.json @@ -1,8 +1,7 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "api-version": "2019-11-01-preview" + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlows_Create.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Create.json similarity index 97% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlows_Create.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Create.json index b7ed67fcc853..d684ba316241 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlows_Create.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Create.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "dataFlowName": "exampleDataFlow", "ifMatch": null, "dataFlow": { @@ -45,7 +44,7 @@ } } }, - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { 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 new file mode 100644 index 000000000000..6adacca27788 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Delete.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "dataFlowName": "exampleDataFlow", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlows_Get.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Get.json similarity index 95% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlows_Get.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Get.json index 62b69ff0b194..5320762f2207 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlows_Get.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Get.json @@ -1,10 +1,9 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "dataFlowName": "exampleDataFlow", "ifNoneMatch": "15004c4f-0000-0200-0000-5cbe090e0000", - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlows_ListByWorkspace.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_ListByWorkspace.json similarity index 95% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlows_ListByWorkspace.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_ListByWorkspace.json index 822e92e95dcc..24af45cebd60 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlows_ListByWorkspace.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_ListByWorkspace.json @@ -1,8 +1,7 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "api-version": "2019-11-01-preview" + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlows_Update.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Update.json similarity index 97% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlows_Update.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Update.json index 7dd8812dadde..f3c5fc5a031e 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlows_Update.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Update.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "dataFlowName": "exampleDataFlow", "ifMatch": null, "dataFlow": { @@ -45,7 +44,7 @@ } } }, - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Datasets_Create.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Create.json similarity index 95% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Datasets_Create.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Create.json index ac06a1b294d9..20f9a9b778ff 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Datasets_Create.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Create.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "datasetName": "exampleDataset", "ifMatch": null, "dataset": { @@ -34,7 +33,7 @@ } } }, - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { 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 new file mode 100644 index 000000000000..ecbb3fd65993 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Delete.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "datasetName": "exampleDataset", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Datasets_Get.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Get.json similarity index 92% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Datasets_Get.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Get.json index e144948c6a4a..9ff129e80acb 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Datasets_Get.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Get.json @@ -1,10 +1,9 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "datasetName": "exampleDataset", "ifNoneMatch": "15004c4f-0000-0200-0000-5cbe090e0000", - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "304": {}, diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Datasets_ListByWorkspace.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_ListByWorkspace.json similarity index 93% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Datasets_ListByWorkspace.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_ListByWorkspace.json index f447e965203b..9600e887321c 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Datasets_ListByWorkspace.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_ListByWorkspace.json @@ -1,8 +1,7 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "api-version": "2019-11-01-preview" + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Datasets_Update.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Update.json similarity index 94% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Datasets_Update.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Update.json index bbb243a3e705..c17bc775bed6 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Datasets_Update.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Update.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "datasetName": "exampleDataset", "ifMatch": null, "dataset": { @@ -35,7 +34,7 @@ } } }, - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DeleteManagedPrivateEndpoint.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DeleteManagedPrivateEndpoint.json new file mode 100644 index 000000000000..a82531a7ca46 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DeleteManagedPrivateEndpoint.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "workspaceName": "myWorkspace", + "SynapseDnsSuffix": "dev.azuresynapse.net", + "api-version": "2019-06-01-preview", + "managedVirtualNetworkName": "default", + "managedPrivateEndpointName": "myPrivateEndpoint" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/GetManagedPrivateEndpoint.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/GetManagedPrivateEndpoint.json new file mode 100644 index 000000000000..cb3551457722 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/GetManagedPrivateEndpoint.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "workspaceName": "myWorkspace", + "SynapseDnsSuffix": "dev.azuresynapse.net", + "api-version": "2019-06-01-preview", + "managedVirtualNetworkName": "default", + "managedPrivateEndpointName": "myPrivateEndpoint" + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.Synapse/workspaces/managedVirtualNetworks/managedPrivateEndpoints", + "name": "myPrivateEndpoint", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.Storage/accounts/myStorageAccount", + "groupId": "blob", + "provisioningState": "Succeeded", + "connectionState": { + "status": "Approved", + "description": "", + "actionsRequired": "" + } + } + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/LinkedServices_Create.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Create.json similarity index 92% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/LinkedServices_Create.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Create.json index a390ebc6a97a..83813ca2dbd3 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/LinkedServices_Create.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Create.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "linkedServiceName": "exampleLinkedService", "ifMatch": null, "linkedService": { @@ -15,7 +14,7 @@ } } }, - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { 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 new file mode 100644 index 000000000000..d18fa82e8963 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Delete.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "linkedServiceName": "exampleLinkedService", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/LinkedServices_Get.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Get.json similarity index 91% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/LinkedServices_Get.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Get.json index 0febc6bb3664..a1f58bc731fd 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/LinkedServices_Get.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Get.json @@ -1,10 +1,9 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "linkedServiceName": "exampleLinkedService", "ifNoneMatch": "1500474f-0000-0200-0000-5cbe090d0000", - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "304": {}, diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/LinkedServices_ListByWorkspace.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_ListByWorkspace.json similarity index 91% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/LinkedServices_ListByWorkspace.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_ListByWorkspace.json index 2624517adc08..73b500bfb22e 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/LinkedServices_ListByWorkspace.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_ListByWorkspace.json @@ -1,8 +1,7 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "api-version": "2019-11-01-preview" + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/LinkedServices_Update.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Update.json similarity index 93% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/LinkedServices_Update.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Update.json index a5b3f337bcf1..217788a059e1 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/LinkedServices_Update.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Update.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "linkedServiceName": "exampleLinkedService", "ifMatch": null, "linkedService": { @@ -16,7 +15,7 @@ "description": "Example description" } }, - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/ListManagedPrivateEndpoints.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/ListManagedPrivateEndpoints.json new file mode 100644 index 000000000000..2dfbbc8c6aef --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/ListManagedPrivateEndpoints.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "workspaceName": "myWorkspace", + "SynapseDnsSuffix": "dev.azuresynapse.net", + "api-version": "2019-06-01-preview", + "managedVirtualNetworkName": "default" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.Synapse/workspaces/managedVirtualNetworks/managedPrivateEndpoints", + "name": "myPrivateEndpoint1", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.Storage/accounts/myStorageAccount1", + "groupId": "blob", + "provisioningState": "Succeeded", + "connectionState": { + "status": "Approved", + "description": "", + "actionsRequired": "" + } + } + }, + { + "type": "Microsoft.Synapse/workspaces/managedVirtualNetworks/managedPrivateEndpoints", + "name": "myPrivateEndpoint2", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.Storage/accounts/myStorageAccount2", + "groupId": "blob", + "provisioningState": "Succeeded", + "connectionState": { + "status": "Pending", + "description": "", + "actionsRequired": "" + } + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/NoteBooks_Create.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Create.json similarity index 88% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/NoteBooks_Create.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Create.json index 6e096bebb3de..6dfcafc232ee 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/NoteBooks_Create.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Create.json @@ -1,12 +1,11 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "noteBookName": "exampleNoteBook", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "notebookName": "exampleNotebook", "ifMatch": null, - "noteBook": { + "Notebook": { "properties": { - "description": "A sample notebook", + "description": "A sample Notebook", "nbformat": 4, "nbformat_minor": 2, "bigDataPool": { @@ -54,7 +53,7 @@ ] } }, - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { @@ -66,11 +65,11 @@ "x-ms-correlation-request-id": "e4c589b7-a9fe-4c28-981c-3855ec27d264" }, "body": { - "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/notebooks/exampleNoteBook", - "name": "exampleNoteBook", - "type": "Microsoft.Synapse/workspaces/notebooks", + "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/Notebooks/exampleNotebook", + "name": "exampleNotebook", + "type": "Microsoft.Synapse/workspaces/Notebooks", "properties": { - "description": "A sample notebook", + "description": "A sample Notebook", "nbformat": 4, "nbformat_minor": 2, "bigDataPool": { 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 new file mode 100644 index 000000000000..58395fa417a1 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Delete.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "notebookName": "exampleNotebook", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/NoteBooks_Get.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Get.json similarity index 84% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/NoteBooks_Get.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Get.json index 1231f1525ebb..c60e7f3695a6 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/NoteBooks_Get.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Get.json @@ -1,10 +1,9 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "noteBookName": "exampleNoteBook", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "notebookName": "exampleNotebook", "ifNoneMatch": "1500504f-0000-0200-0000-5cbe090f0000", - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { @@ -16,11 +15,11 @@ "x-ms-correlation-request-id": "e4c589b7-a9fe-4c28-981c-3855ec27d264" }, "body": { - "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/notebooks/exampleNoteBook", - "name": "exampleNoteBook", - "type": "Microsoft.Synapse/workspaces/notebooks", + "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/notebooks/exampleNotebook", + "name": "exampleNotebook", + "type": "Microsoft.Synapse/workspaces/Notebooks", "properties": { - "description": "A sample notebook", + "description": "A sample Notebook", "nbformat": 4, "nbformat_minor": 2, "bigDataPool": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/NoteBooks_ListSummaryByWorkSpace.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_ListByWorkspace.json similarity index 86% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/NoteBooks_ListSummaryByWorkSpace.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_ListByWorkspace.json index b45c79479777..e339a9103d65 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/NoteBooks_ListSummaryByWorkSpace.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_ListByWorkspace.json @@ -1,8 +1,7 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "api-version": "2019-11-01-preview" + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "api-version": "2019-06-01-preview" }, "responses": { "200": { @@ -16,11 +15,11 @@ "body": { "value": [ { - "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/notebooks/exampleNoteBook", - "name": "exampleNoteBook", - "type": "Microsoft.Synapse/workspaces/notebooks", + "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/notebooks/exampleNotebook", + "name": "exampleNotebook", + "type": "Microsoft.Synapse/workspaces/Notebooks", "properties": { - "description": "A sample notebook", + "description": "A sample Notebook", "nbformat": 4, "nbformat_minor": 2, "bigDataPool": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/NoteBooks_ListByWorkspace.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_ListSummaryByWorkSpace.json similarity index 86% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/NoteBooks_ListByWorkspace.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_ListSummaryByWorkSpace.json index b45c79479777..e339a9103d65 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/NoteBooks_ListByWorkspace.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_ListSummaryByWorkSpace.json @@ -1,8 +1,7 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "api-version": "2019-11-01-preview" + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "api-version": "2019-06-01-preview" }, "responses": { "200": { @@ -16,11 +15,11 @@ "body": { "value": [ { - "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/notebooks/exampleNoteBook", - "name": "exampleNoteBook", - "type": "Microsoft.Synapse/workspaces/notebooks", + "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/notebooks/exampleNotebook", + "name": "exampleNotebook", + "type": "Microsoft.Synapse/workspaces/Notebooks", "properties": { - "description": "A sample notebook", + "description": "A sample Notebook", "nbformat": 4, "nbformat_minor": 2, "bigDataPool": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/NoteBooks_Update.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Update.json similarity index 90% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/NoteBooks_Update.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Update.json index 3add275201f5..c84e1a5f1741 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/NoteBooks_Update.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Update.json @@ -1,10 +1,9 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "noteBookName": "exampleNoteBook", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "notebookName": "exampleNotebook", "ifMatch": null, - "noteBook": { + "Notebook": { "properties": { "description": "Modified description", "nbformat": 4, @@ -54,7 +53,7 @@ ] } }, - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { @@ -66,9 +65,9 @@ "x-ms-correlation-request-id": "e4c589b7-a9fe-4c28-981c-3855ec27d264" }, "body": { - "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/notebooks/exampleNoteBook", - "name": "exampleNoteBook", - "type": "Microsoft.Synapse/workspaces/notebooks", + "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/notebooks/exampleNotebook", + "name": "exampleNotebook", + "type": "Microsoft.Synapse/workspaces/Notebooks", "properties": { "description": "Modified description", "nbformat": 4, diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/PipelineRuns_Cancel.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/PipelineRuns_Cancel.json new file mode 100644 index 000000000000..223ee4eea674 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/PipelineRuns_Cancel.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "runId": "16ac5348-ff82-4f95-a80d-638c1d47b721", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/PipelineRuns_Get.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/PipelineRuns_Get.json similarity index 89% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/PipelineRuns_Get.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/PipelineRuns_Get.json index c70c28bcd545..23b48073aed1 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/PipelineRuns_Get.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/PipelineRuns_Get.json @@ -1,9 +1,8 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "runId": "2f7fdb90-5df1-4b8e-ac2f-064cfa58202b", - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/PipelineRuns_QueryByWorkspace.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/PipelineRuns_QueryByWorkspace.json similarity index 94% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/PipelineRuns_QueryByWorkspace.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/PipelineRuns_QueryByWorkspace.json index 729a2293c584..c93f18b8301c 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/PipelineRuns_QueryByWorkspace.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/PipelineRuns_QueryByWorkspace.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "filterParameters": { "lastUpdatedAfter": "2018-06-16T00:36:44.3345758Z", "lastUpdatedBefore": "2018-06-16T00:49:48.3686473Z", @@ -15,7 +14,7 @@ } ] }, - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Pipelines_Create.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Create.json similarity index 97% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Pipelines_Create.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Create.json index aa5d08c13e96..399eb460bf34 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Pipelines_Create.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Create.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "pipelineName": "examplePipeline", "ifMatch": null, "pipeline": { @@ -78,7 +77,7 @@ } } }, - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Pipelines_CreateRun.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_CreateRun.json similarity index 83% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Pipelines_CreateRun.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_CreateRun.json index 9ccab2c1f7a4..7c4ec522a5a3 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Pipelines_CreateRun.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_CreateRun.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "pipelineName": "examplePipeline", "referencePipelineRunId": null, "parameters": { @@ -9,7 +8,7 @@ "exampleoutput.csv" ] }, - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { 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 new file mode 100644 index 000000000000..4a7573f09103 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Delete.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "pipelineName": "examplePipeline", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Pipelines_Get.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Get.json similarity index 95% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Pipelines_Get.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Get.json index 5336cd82dc2b..48e8f695574e 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Pipelines_Get.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Get.json @@ -1,10 +1,9 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "pipelineName": "examplePipeline", "ifNoneMatch": "1500504f-0000-0200-0000-5cbe090f0000", - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "304": {}, diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Pipelines_ListByWorkspace.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_ListByWorkspace.json similarity index 95% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Pipelines_ListByWorkspace.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_ListByWorkspace.json index d5ecfa79951a..e9b5dfc8816d 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Pipelines_ListByWorkspace.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_ListByWorkspace.json @@ -1,8 +1,7 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "api-version": "2019-11-01-preview" + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Pipelines_Update.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Update.json similarity index 97% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Pipelines_Update.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Update.json index 831858484fd3..b5718b15aa75 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Pipelines_Update.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Update.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "pipelineName": "examplePipeline", "ifMatch": null, "pipeline": { @@ -65,7 +64,7 @@ } } }, - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SparkJobDefinitions_Create.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SparkJobDefinitions_Create.json similarity index 95% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SparkJobDefinitions_Create.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SparkJobDefinitions_Create.json index 6572cbb38414..d969cd11b3e3 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SparkJobDefinitions_Create.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SparkJobDefinitions_Create.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "sparkJobDefinitionName": "exampleSparkJobDefinition", "ifMatch": null, "sparkJobDefinition": { @@ -32,7 +31,7 @@ } } }, - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SparkJobDefinitions_Debug.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SparkJobDefinitions_Debug.json similarity index 97% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SparkJobDefinitions_Debug.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SparkJobDefinitions_Debug.json index e274b30ea43a..d470f6b59a75 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SparkJobDefinitions_Debug.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SparkJobDefinitions_Debug.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "sparkJobDefinitionAzureResource": { "properties": { "description": "A sample spark job definition", @@ -23,7 +22,7 @@ } } }, - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "202": { @@ -33,7 +32,7 @@ "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", - "location": "https://exampleWorkspaceName.dev.azuresynapse.net/operationResults/arcadiaSpark$$exampleBigDataPool$$batch$$1?api-version=2019-11-01-preview" + "location": "https://exampleWorkspaceName.dev.azuresynapse.net/operationResults/arcadiaSpark$$exampleBigDataPool$$batch$$1?api-version=2019-06-01-preview" }, "body": { "livyInfo": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SparkJobDefinitions_Delete.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SparkJobDefinitions_Delete.json similarity index 51% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SparkJobDefinitions_Delete.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SparkJobDefinitions_Delete.json index 5ebb9f424a2a..37e6bcc064e8 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SparkJobDefinitions_Delete.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SparkJobDefinitions_Delete.json @@ -1,9 +1,8 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "sparkJobDefinitionName": "exampleSparkJobDefinition", - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": {}, diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SparkJobDefinitions_Execute.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SparkJobDefinitions_Execute.json similarity index 97% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SparkJobDefinitions_Execute.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SparkJobDefinitions_Execute.json index 0c8aabb09867..8ba9acd78875 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SparkJobDefinitions_Execute.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SparkJobDefinitions_Execute.json @@ -1,9 +1,8 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "sparkJobDefinitionName": "exampleSparkJobDefinition", - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "202": { @@ -13,7 +12,7 @@ "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", - "location": "https://exampleWorkspaceName.dev.azuresynapse.net/operationResults/arcadiaSpark$$exampleBigDataPool$$batch$$1?api-version=2019-11-01-preview" + "location": "https://exampleWorkspaceName.dev.azuresynapse.net/operationResults/arcadiaSpark$$exampleBigDataPool$$batch$$1?api-version=2019-06-01-preview" }, "body": { "livyInfo": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SparkJobDefinitions_Get.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SparkJobDefinitions_Get.json similarity index 93% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SparkJobDefinitions_Get.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SparkJobDefinitions_Get.json index d36ba238c79a..fb4857b4d515 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SparkJobDefinitions_Get.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SparkJobDefinitions_Get.json @@ -1,10 +1,9 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "sparkJobDefinitionName": "exampleSparkJobDefinition", "ifNoneMatch": "1500504f-0000-0200-0000-5cbe090f0000", - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SparkJobDefinitions_ListByWorkspace.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SparkJobDefinitions_ListByWorkspace.json similarity index 93% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SparkJobDefinitions_ListByWorkspace.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SparkJobDefinitions_ListByWorkspace.json index f05b845f65ba..1e021182a881 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SparkJobDefinitions_ListByWorkspace.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SparkJobDefinitions_ListByWorkspace.json @@ -1,8 +1,7 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "api-version": "2019-11-01-preview" + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SparkJobDefinitions_Update.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SparkJobDefinitions_Update.json similarity index 95% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SparkJobDefinitions_Update.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SparkJobDefinitions_Update.json index 005764c7dc47..61f620544311 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SparkJobDefinitions_Update.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SparkJobDefinitions_Update.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "sparkJobDefinitionName": "exampleSparkJobDefinition", "ifMatch": null, "sparkJobDefinition": { @@ -32,7 +31,7 @@ } } }, - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SqlScripts_Create.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlScripts_Create.json similarity index 93% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SqlScripts_Create.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlScripts_Create.json index 5dc6861614b9..aa96d82b50df 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SqlScripts_Create.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlScripts_Create.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "sqlScriptName": "exampleSqlScript", "ifMatch": null, "sqlScript": { @@ -20,7 +19,7 @@ "type": "SqlQuery" } }, - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlScripts_Delete.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlScripts_Delete.json new file mode 100644 index 000000000000..b01abf40c85b --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlScripts_Delete.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "sqlScriptName": "exampleSqlScript", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SqlScripts_Get.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlScripts_Get.json similarity index 91% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SqlScripts_Get.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlScripts_Get.json index 829447fd448f..58b0d64cc81b 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SqlScripts_Get.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlScripts_Get.json @@ -1,10 +1,9 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "sqlScriptName": "exampleSqlScript", "ifNoneMatch": "1500504f-0000-0200-0000-5cbe090f0000", - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "304": {}, diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SqlScripts_ListByWorkspace.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlScripts_ListByWorkspace.json similarity index 91% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SqlScripts_ListByWorkspace.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlScripts_ListByWorkspace.json index c999df7b1828..7625964f4a73 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SqlScripts_ListByWorkspace.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlScripts_ListByWorkspace.json @@ -1,8 +1,7 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "api-version": "2019-11-01-preview" + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SqlScripts_Update.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlScripts_Update.json similarity index 92% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SqlScripts_Update.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlScripts_Update.json index 0c377a063cbd..cd482ba8c7e9 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SqlScripts_Update.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlScripts_Update.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "sqlScriptName": "exampleSqlScript", "ifMatch": null, "sqlScript": { @@ -20,7 +19,7 @@ "type": "SqlQuery" } }, - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/TriggerRuns_QueryByWorkspace.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/TriggerRuns_QueryByWorkspace.json similarity index 91% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/TriggerRuns_QueryByWorkspace.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/TriggerRuns_QueryByWorkspace.json index 48c13c4038c3..e90f9a56ffbf 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/TriggerRuns_QueryByWorkspace.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/TriggerRuns_QueryByWorkspace.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "filterParameters": { "lastUpdatedAfter": "2018-06-16T00:36:44.3345758Z", "lastUpdatedBefore": "2018-06-16T00:49:48.3686473Z", @@ -15,7 +14,7 @@ } ] }, - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/TriggerRuns_Rerun.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/TriggerRuns_Rerun.json similarity index 79% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/TriggerRuns_Rerun.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/TriggerRuns_Rerun.json index edd3551ad448..169d70a4e4b5 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/TriggerRuns_Rerun.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/TriggerRuns_Rerun.json @@ -1,10 +1,9 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "triggerName": "exampleTrigger", "runId": "2f7fdb90-5df1-4b8e-ac2f-064cfa58202b", - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_Create.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Create.json similarity index 94% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_Create.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Create.json index d7210bda0148..c93a8820594c 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_Create.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Create.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "triggerName": "exampleTrigger", "ifMatch": null, "trigger": { @@ -31,7 +30,7 @@ ] } }, - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { 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 new file mode 100644 index 000000000000..b3a88c1cd75e --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Delete.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "triggerName": "exampleTrigger", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_Get.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Get.json similarity index 92% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_Get.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Get.json index bc4d1d09b735..d0a33e28322e 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_Get.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Get.json @@ -1,10 +1,9 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "triggerName": "exampleTrigger", "ifNoneMatch": "1500544f-0000-0200-0000-5cbe09100000", - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "304": {}, diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_GetEventSubscriptionStatus.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_GetEventSubscriptionStatus.json similarity index 60% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_GetEventSubscriptionStatus.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_GetEventSubscriptionStatus.json index 89e4b4c407c0..b53d893ae8dc 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_GetEventSubscriptionStatus.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_GetEventSubscriptionStatus.json @@ -1,9 +1,8 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "triggerName": "exampleTrigger", - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_ListByWorkspace.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_ListByWorkspace.json similarity index 93% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_ListByWorkspace.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_ListByWorkspace.json index ec31d1d1ad90..cd9b246ab465 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_ListByWorkspace.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_ListByWorkspace.json @@ -1,8 +1,7 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "api-version": "2019-11-01-preview" + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Start.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Start.json new file mode 100644 index 000000000000..b4062d3fb605 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Start.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "triggerName": "exampleTrigger", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Stop.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Stop.json new file mode 100644 index 000000000000..b4062d3fb605 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Stop.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "triggerName": "exampleTrigger", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_SubscribeToEvents.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_SubscribeToEvents.json similarity index 76% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_SubscribeToEvents.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_SubscribeToEvents.json index 012cdd41ae33..6fc40f69c0fb 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_SubscribeToEvents.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_SubscribeToEvents.json @@ -1,14 +1,13 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "triggerName": "exampleTrigger", - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "202": { "headers": { - "Location": "https://management.azure.com/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/triggers/exampleTrigger/getEventSubscriptionStatus?api-version=2019-11-01-preview" + "Location": "https://management.azure.com/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/triggers/exampleTrigger/getEventSubscriptionStatus?api-version=2019-06-01-preview" } }, "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_UnsubscribeFromEvents.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_UnsubscribeFromEvents.json similarity index 76% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_UnsubscribeFromEvents.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_UnsubscribeFromEvents.json index c3df05a1a218..d2d6e6b8e538 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_UnsubscribeFromEvents.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_UnsubscribeFromEvents.json @@ -1,14 +1,13 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "triggerName": "exampleTrigger", - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "202": { "headers": { - "Location": "https://management.azure.com/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/triggers/exampleTrigger/getEventSubscriptionStatus?api-version=2019-11-01-preview" + "Location": "https://management.azure.com/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/triggers/exampleTrigger/getEventSubscriptionStatus?api-version=2019-06-01-preview" } }, "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_Update.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Update.json similarity index 94% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_Update.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Update.json index ae377e99c8c9..a86583945183 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_Update.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Update.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "triggerName": "exampleTrigger", "ifMatch": null, "trigger": { @@ -32,7 +31,7 @@ "description": "Example description" } }, - "api-version": "2019-11-01-preview" + "api-version": "2019-06-01-preview" }, "responses": { "200": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/managedPrivateEndpoints.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/managedPrivateEndpoints.json new file mode 100644 index 000000000000..8322fd96043d --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/managedPrivateEndpoints.json @@ -0,0 +1,299 @@ +{ + "swagger": "2.0", + "info": { + "version": "2019-06-01-preview", + "title": "VnetClient" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{workspaceName}.{SynapseDnsSuffix}", + "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" + } + ] + }, + "schemes": [ + "https" + ], + "paths": { + "/managedVirtualNetworks/{managedVirtualNetworkName}/managedPrivateEndpoints/{managedPrivateEndpointName}": { + "get": { + "tags": [ + "ManagedPrivateEndpoints" + ], + "operationId": "ManagedPrivateEndpoints_Get", + "description": "Get Managed Private Endpoints", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ManagedVirtualNetworkNameParameter" + }, + { + "$ref": "#/parameters/ManagedPrivateEndpointNameParameter" + } + ], + "responses": { + "200": { + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpoint" + }, + "description": "" + } + }, + "x-ms-examples": { + "Get a managed private endpoint": { + "$ref": "./examples/GetManagedPrivateEndpoint.json" + } + } + }, + "put": { + "tags": [ + "ManagedPrivateEndpoints" + ], + "operationId": "ManagedPrivateEndpoints_Create", + "description": "Create Managed Private Endpoints", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ManagedVirtualNetworkNameParameter" + }, + { + "$ref": "#/parameters/ManagedPrivateEndpointNameParameter" + } + ], + "responses": { + "202": { + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpoint" + }, + "description": "" + } + }, + "x-ms-examples": { + "Create a managed private endpoint": { + "$ref": "./examples/CreateManagedPrivateEndpoint.json" + } + } + }, + "delete": { + "tags": [ + "ManagedPrivateEndpoints" + ], + "operationId": "ManagedPrivateEndpoints_Delete", + "description": "Delete Managed Private Endpoints", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ManagedVirtualNetworkNameParameter" + }, + { + "$ref": "#/parameters/ManagedPrivateEndpointNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "Already deleted" + } + }, + "x-ms-examples": { + "Delete a managed private endpoint": { + "$ref": "./examples/DeleteManagedPrivateEndpoint.json" + } + } + } + }, + "/managedVirtualNetworks/{managedVirtualNetworkName}/managedPrivateEndpoints": { + "get": { + "tags": [ + "ManagedPrivateEndpoints" + ], + "operationId": "ManagedPrivateEndpoints_List", + "description": "List Managed Private Endpoints", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ManagedVirtualNetworkNameParameter" + } + ], + "responses": { + "200": { + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpointListResponse" + }, + "description": "" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List managed private endpoints": { + "$ref": "./examples/ListManagedPrivateEndpoints.json" + } + } + } + } + }, + "definitions": { + "ManagedPrivateEndpointListResponse": { + "description": "A list of managed private endpoints", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "List of managed private endpoints", + "items": { + "$ref": "#/definitions/ManagedPrivateEndpoint" + } + }, + "nextLink": { + "description": "The link to the next page of results, if any remaining results exist.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedPrivateEndpoint": { + "description": "Managed private endpoint", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts." + }, + "properties": { + "$ref": "#/definitions/ManagedPrivateEndpointProperties", + "description": "Managed private endpoint properties" + } + } + }, + "ManagedPrivateEndpointProperties": { + "description": "Properties of a managed private endpoint", + "type": "object", + "properties": { + "privateLinkResourceId": { + "description": "The ARM resource ID of the resource to which the managed private endpoint is created", + "type": "string" + }, + "groupId": { + "description": "The groupId to which the managed private endpoint is created", + "type": "string" + }, + "provisioningState": { + "description": "The managed private endpoint provisioning state", + "type": "string", + "readOnly": true + }, + "connectionState": { + "description": "The managed private endpoint connection state", + "$ref": "#/definitions/ManagedPrivateEndpointConnectionState" + }, + "isReserved": { + "description": "Denotes whether the managed private endpoint is reserved", + "type": "boolean", + "readOnly": true + } + } + }, + "ManagedPrivateEndpointConnectionState": { + "description": "The connection state of a managed private endpoint", + "type": "object", + "properties": { + "status": { + "description": "The approval status", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The managed private endpoint description", + "type": "string" + }, + "actionsRequired": { + "description": "The actions required on the managed private endpoint", + "type": "string" + } + } + } + }, + "parameters": { + "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" + }, + "ManagedVirtualNetworkNameParameter": { + "name": "managedVirtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "Managed virtual network name", + "x-ms-parameter-location": "method" + }, + "ManagedPrivateEndpointNameParameter": { + "name": "managedPrivateEndpointName", + "in": "path", + "required": true, + "type": "string", + "description": "Managed private endpoint name", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlows_Delete.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlows_Delete.json deleted file mode 100644 index c17410917a90..000000000000 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/DataFlows_Delete.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "dataFlowName": "exampleDataFlow", - "api-version": "2019-11-01-preview" - }, - "responses": { - "200": {}, - "204": {} - } -} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Datasets_Delete.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Datasets_Delete.json deleted file mode 100644 index e82de485176e..000000000000 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Datasets_Delete.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "datasetName": "exampleDataset", - "api-version": "2019-11-01-preview" - }, - "responses": { - "200": {}, - "204": {} - } -} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/LinkedServices_Delete.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/LinkedServices_Delete.json deleted file mode 100644 index e4cc97bbd8e9..000000000000 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/LinkedServices_Delete.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "linkedServiceName": "exampleLinkedService", - "api-version": "2019-11-01-preview" - }, - "responses": { - "200": {}, - "204": {} - } -} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/NoteBooks_Delete.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/NoteBooks_Delete.json deleted file mode 100644 index 5b9d485f645f..000000000000 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/NoteBooks_Delete.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "noteBookName": "exampleNoteBook", - "api-version": "2019-11-01-preview" - }, - "responses": { - "200": {}, - "204": {} - } -} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/PipelineRuns_Cancel.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/PipelineRuns_Cancel.json deleted file mode 100644 index 240fccae8866..000000000000 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/PipelineRuns_Cancel.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "runId": "16ac5348-ff82-4f95-a80d-638c1d47b721", - "api-version": "2019-11-01-preview" - }, - "responses": { - "200": {} - } -} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Pipelines_Delete.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Pipelines_Delete.json deleted file mode 100644 index cb459371f543..000000000000 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Pipelines_Delete.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "pipelineName": "examplePipeline", - "api-version": "2019-11-01-preview" - }, - "responses": { - "200": {}, - "204": {} - } -} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SqlScripts_Delete.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SqlScripts_Delete.json deleted file mode 100644 index e67581c0ef4d..000000000000 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/SqlScripts_Delete.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "sqlScriptName": "exampleSqlScript", - "api-version": "2019-11-01-preview" - }, - "responses": { - "200": {}, - "204": {} - } -} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_Delete.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_Delete.json deleted file mode 100644 index 430e2cfba554..000000000000 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_Delete.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "triggerName": "exampleTrigger", - "api-version": "2019-11-01-preview" - }, - "responses": { - "200": {}, - "204": {} - } -} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_Start.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_Start.json deleted file mode 100644 index 8d61a0a08228..000000000000 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_Start.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "triggerName": "exampleTrigger", - "api-version": "2019-11-01-preview" - }, - "responses": { - "200": {} - } -} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_Stop.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_Stop.json deleted file mode 100644 index 8d61a0a08228..000000000000 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/adf/examples/Triggers_Stop.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "triggerName": "exampleTrigger", - "api-version": "2019-11-01-preview" - }, - "responses": { - "200": {} - } -} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkBatch_Create.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkBatch_Create.json index c00010474fcd..55db4134cc83 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkBatch_Create.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkBatch_Create.json @@ -1,11 +1,10 @@ { "parameters": { - "workspaceName": "myWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "myWorkspace.dev.azuresynapse.net", "livyApiVersion": "2019-11-01-preview", "sparkPoolName": "mySparkPool", "detailed": true, - "livyRequest": { + "sparkBatchJobOptions": { "tags": null, "artifactId": "fill in here", "name": "jobname", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkBatch_Delete.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkBatch_Delete.json index 2d724570df6f..4065e60cf5ca 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkBatch_Delete.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkBatch_Delete.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "myWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "myWorkspace.dev.azuresynapse.net", "livyApiVersion": "2019-11-01-preview", "sparkPoolName": "mySparkPool", "batchId": 123, diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkBatch_Get.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkBatch_Get.json index bf6362b33a76..2efdc6815217 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkBatch_Get.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkBatch_Get.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "myWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "myWorkspace.dev.azuresynapse.net", "livyApiVersion": "2019-11-01-preview", "sparkPoolName": "mySparkPool", "batchId": 123, diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkBatch_List.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkBatch_List.json index a112d816c54d..008b004dfb27 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkBatch_List.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkBatch_List.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "myWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "myWorkspace.dev.azuresynapse.net", "livyApiVersion": "2019-11-01-preview", "sparkPoolName": "mySparkPool", "from": 0, diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_Create.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_Create.json index 40aa196c6d1c..392544470614 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_Create.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_Create.json @@ -1,11 +1,10 @@ { "parameters": { - "workspaceName": "myWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "myWorkspace.dev.azuresynapse.net", "livyApiVersion": "2019-11-01-preview", "sparkPoolName": "mySparkPool", "detailed": true, - "livyRequest": { + "SparkSessionOptions": { "tags": null, "artifactId": "fill in here", "name": "jobname", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_CreateStatement.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_CreateStatement.json index a5fd2a5fc372..1c9c2cef0441 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_CreateStatement.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_CreateStatement.json @@ -1,11 +1,10 @@ { "parameters": { - "workspaceName": "myWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "myWorkspace.dev.azuresynapse.net", "livyApiVersion": "2019-11-01-preview", "sparkPoolName": "mySparkPool", "sessionId": 123, - "livyRequest": { + "SparkStatementOptions": { "code": "fill in here", "kind": "fill in here" } diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_Delete.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_Delete.json index d74f7b31bdc8..50dcbafe48eb 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_Delete.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_Delete.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "myWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "myWorkspace.dev.azuresynapse.net", "livyApiVersion": "2019-11-01-preview", "sparkPoolName": "mySparkPool", "sessionId": 123, diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_DeleteStatement.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_DeleteStatement.json index 09f511d90fbd..0f4624035909 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_DeleteStatement.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_DeleteStatement.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "myWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "myWorkspace.dev.azuresynapse.net", "livyApiVersion": "2019-11-01-preview", "sparkPoolName": "mySparkPool", "sessionId": 123, diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_Get.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_Get.json index c7a828d05e7f..56fb7dd2ae81 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_Get.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_Get.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "myWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "myWorkspace.dev.azuresynapse.net", "livyApiVersion": "2019-11-01-preview", "sparkPoolName": "mySparkPool", "sessionId": 123, diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_GetStatement.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_GetStatement.json index d45676affe42..86d5cb20c081 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_GetStatement.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_GetStatement.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "myWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "myWorkspace.dev.azuresynapse.net", "livyApiVersion": "2019-11-01-preview", "sparkPoolName": "mySparkPool", "sessionId": 123, diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_List.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_List.json index a112d816c54d..008b004dfb27 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_List.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_List.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "myWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "myWorkspace.dev.azuresynapse.net", "livyApiVersion": "2019-11-01-preview", "sparkPoolName": "mySparkPool", "from": 0, diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_ListStatements.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_ListStatements.json index e59988a5549f..4603d8c5feef 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_ListStatements.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_ListStatements.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "myWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "myWorkspace.dev.azuresynapse.net", "livyApiVersion": "2019-11-01-preview", "sparkPoolName": "mySparkPool", "sessionId": 123 diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_ResetTimeout.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_ResetTimeout.json index b9406468d90b..f6cdbf056b23 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_ResetTimeout.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/SparkFrontend_SparkSession_ResetTimeout.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "myWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "myWorkspace.dev.azuresynapse.net", "livyApiVersion": "2019-11-01-preview", "sparkPoolName": "mySparkPool", "sessionId": 123 diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/sparkFrontend.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/sparkJob.json similarity index 75% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/sparkFrontend.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/sparkJob.json index 537b1b03a4df..7f1d16f415b7 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/sparkFrontend.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/sparkJob.json @@ -2,24 +2,23 @@ "swagger": "2.0", "info": { "version": "2019-11-01-preview", - "title": "SynapseClient", + "title": "SparkClient", "x-ms-code-generation-settings": { "useDateTimeOffset": true } }, "x-ms-parameterized-host": { - "hostTemplate": "{workspaceName}.{SynapseDnsSuffix}", + "hostTemplate": "{endpoint}/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}", + "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/Endpoint" }, { - "$ref": "#/parameters/SynapseDnsSuffixInPath" + "$ref": "#/parameters/LivyApiVersion" + }, + { + "$ref": "#/parameters/SparkPoolName" } ] }, @@ -33,13 +32,13 @@ "application/json" ], "paths": { - "/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}/batches": { + "/batches": { "get": { "tags": [ "SparkBatch" ], "description": "List all spark batch jobs which are running under a particular spark pool.", - "operationId": "SparkBatch_List", + "operationId": "SparkBatch_GetSparkBatchJobs", "x-ms-examples": { "List all spark batch jobs": { "$ref": "./examples/SparkFrontend_SparkBatch_List.json" @@ -52,16 +51,6 @@ "application/json" ], "parameters": [ - { - "$ref": "#/parameters/LivyApiVersionInPath" - }, - { - "name": "sparkPoolName", - "in": "path", - "description": "Name of the spark pool. \"ondemand\" targets the ondemand pool.", - "required": true, - "type": "string" - }, { "name": "from", "in": "query", @@ -90,7 +79,7 @@ "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ExtendedLivyListBatchResponse" + "$ref": "#/definitions/SparkBatchJobCollection" } } } @@ -100,7 +89,7 @@ "SparkBatch" ], "description": "Create new spark batch job.", - "operationId": "SparkBatch_Create", + "operationId": "SparkBatch_CreateSparkBatchJob", "x-ms-examples": { "Create new spark batch job.": { "$ref": "./examples/SparkFrontend_SparkBatch_Create.json" @@ -113,16 +102,6 @@ "application/json" ], "parameters": [ - { - "$ref": "#/parameters/LivyApiVersionInPath" - }, - { - "name": "sparkPoolName", - "in": "path", - "description": "Name of the spark pool. \"ondemand\" targets the ondemand pool.", - "required": true, - "type": "string" - }, { "name": "detailed", "in": "query", @@ -131,12 +110,12 @@ "type": "boolean" }, { - "name": "livyRequest", + "name": "sparkBatchJobOptions", "in": "body", "description": "Livy compatible batch job request payload.", "required": true, "schema": { - "$ref": "#/definitions/ExtendedLivyBatchRequest" + "$ref": "#/definitions/sparkBatchJobOptions" } } ], @@ -144,19 +123,19 @@ "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ExtendedLivyBatchResponse" + "$ref": "#/definitions/SparkBatchJob" } } } } }, - "/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}/batches/{batchId}": { + "/batches/{batchId}": { "get": { "tags": [ "SparkBatch" ], "description": "Gets a single spark batch job.", - "operationId": "SparkBatch_Get", + "operationId": "SparkBatch_GetSparkBatchJob", "x-ms-examples": { "Gets a single spark batch job.": { "$ref": "./examples/SparkFrontend_SparkBatch_Get.json" @@ -169,16 +148,6 @@ "application/json" ], "parameters": [ - { - "$ref": "#/parameters/LivyApiVersionInPath" - }, - { - "name": "sparkPoolName", - "in": "path", - "description": "Name of the spark pool. \"ondemand\" targets the ondemand pool.", - "required": true, - "type": "string" - }, { "name": "batchId", "in": "path", @@ -199,7 +168,7 @@ "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ExtendedLivyBatchResponse" + "$ref": "#/definitions/SparkBatchJob" } } } @@ -209,7 +178,7 @@ "SparkBatch" ], "description": "Cancels a running spark batch job.", - "operationId": "SparkBatch_Delete", + "operationId": "SparkBatch_CancelSparkBatchJob", "x-ms-examples": { "Cancels a running spark batch job.": { "$ref": "./examples/SparkFrontend_SparkBatch_Delete.json" @@ -222,16 +191,6 @@ "application/json" ], "parameters": [ - { - "$ref": "#/parameters/LivyApiVersionInPath" - }, - { - "name": "sparkPoolName", - "in": "path", - "description": "Name of the spark pool. \"ondemand\" targets the ondemand pool.", - "required": true, - "type": "string" - }, { "name": "batchId", "in": "path", @@ -248,13 +207,13 @@ } } }, - "/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}/sessions": { + "/sessions": { "get": { "tags": [ "SparkSession" ], "description": "List all spark sessions which are running under a particular spark pool.", - "operationId": "SparkSession_List", + "operationId": "SparkSession_GetSparkSessions", "x-ms-examples": { "List all spark session jobs": { "$ref": "./examples/SparkFrontend_SparkSession_List.json" @@ -267,16 +226,6 @@ "application/json" ], "parameters": [ - { - "$ref": "#/parameters/LivyApiVersionInPath" - }, - { - "name": "sparkPoolName", - "in": "path", - "description": "Name of the spark pool. \"ondemand\" targets the ondemand pool.", - "required": true, - "type": "string" - }, { "name": "from", "in": "query", @@ -305,7 +254,7 @@ "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ExtendedLivyListSessionResponse" + "$ref": "#/definitions/SparkSessionCollection" } } } @@ -315,7 +264,7 @@ "SparkSession" ], "description": "Create new spark session.", - "operationId": "SparkSession_Create", + "operationId": "SparkSession_CreateSparkSession", "x-ms-examples": { "Create new spark session.": { "$ref": "./examples/SparkFrontend_SparkSession_Create.json" @@ -328,16 +277,6 @@ "application/json" ], "parameters": [ - { - "$ref": "#/parameters/LivyApiVersionInPath" - }, - { - "name": "sparkPoolName", - "in": "path", - "description": "Name of the spark pool. \"ondemand\" targets the ondemand pool.", - "required": true, - "type": "string" - }, { "name": "detailed", "in": "query", @@ -346,12 +285,12 @@ "type": "boolean" }, { - "name": "livyRequest", + "name": "SparkSessionOptions", "in": "body", "description": "Livy compatible batch job request payload.", "required": true, "schema": { - "$ref": "#/definitions/ExtendedLivySessionRequest" + "$ref": "#/definitions/SparkSessionOptions" } } ], @@ -359,19 +298,19 @@ "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ExtendedLivySessionResponse" + "$ref": "#/definitions/SparkSession" } } } } }, - "/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}/sessions/{sessionId}": { + "/sessions/{sessionId}": { "get": { "tags": [ "SparkSession" ], "description": "Gets a single spark session.", - "operationId": "SparkSession_Get", + "operationId": "SparkSession_GetSparkSession", "x-ms-examples": { "Gets a single spark session.": { "$ref": "./examples/SparkFrontend_SparkSession_Get.json" @@ -384,16 +323,6 @@ "application/json" ], "parameters": [ - { - "$ref": "#/parameters/LivyApiVersionInPath" - }, - { - "name": "sparkPoolName", - "in": "path", - "description": "Name of the spark pool. \"ondemand\" targets the ondemand pool.", - "required": true, - "type": "string" - }, { "name": "sessionId", "in": "path", @@ -414,7 +343,7 @@ "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ExtendedLivySessionResponse" + "$ref": "#/definitions/SparkSession" } } } @@ -424,7 +353,7 @@ "SparkSession" ], "description": "Cancels a running spark session.", - "operationId": "SparkSession_Delete", + "operationId": "SparkSession_CancelSparkSession", "x-ms-examples": { "Cancels a running spark session.": { "$ref": "./examples/SparkFrontend_SparkSession_Delete.json" @@ -437,16 +366,6 @@ "application/json" ], "parameters": [ - { - "$ref": "#/parameters/LivyApiVersionInPath" - }, - { - "name": "sparkPoolName", - "in": "path", - "description": "Name of the spark pool. \"ondemand\"\r\n targets the ondemand pool.", - "required": true, - "type": "string" - }, { "name": "sessionId", "in": "path", @@ -463,13 +382,13 @@ } } }, - "/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}/sessions/{sessionId}/reset-timeout": { + "/sessions/{sessionId}/reset-timeout": { "put": { "tags": [ "SparkSession" ], "description": "Sends a keep alive call to the current session to reset the session timeout.", - "operationId": "SparkSession_ResetTimeout", + "operationId": "SparkSession_ResetSparkSessionTimeout", "x-ms-examples": { "Reset the session timeout.": { "$ref": "./examples/SparkFrontend_SparkSession_ResetTimeout.json" @@ -482,16 +401,6 @@ "application/json" ], "parameters": [ - { - "$ref": "#/parameters/LivyApiVersionInPath" - }, - { - "name": "sparkPoolName", - "in": "path", - "description": "Name of the spark pool. \"ondemand\"\r\n targets the ondemand pool.", - "required": true, - "type": "string" - }, { "name": "sessionId", "in": "path", @@ -508,13 +417,13 @@ } } }, - "/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}/sessions/{sessionId}/statements": { + "/sessions/{sessionId}/statements": { "get": { "tags": [ "SparkSession" ], "description": "Gets a list of statements within a spark session.", - "operationId": "SparkSession_ListStatements", + "operationId": "SparkSession_GetSparkStatements", "x-ms-examples": { "Gets a list of statements within a spark session.": { "$ref": "./examples/SparkFrontend_SparkSession_ListStatements.json" @@ -527,16 +436,6 @@ "application/json" ], "parameters": [ - { - "$ref": "#/parameters/LivyApiVersionInPath" - }, - { - "name": "sparkPoolName", - "in": "path", - "description": "Name of the spark pool. \"ondemand\" targets the ondemand pool.", - "required": true, - "type": "string" - }, { "name": "sessionId", "in": "path", @@ -550,7 +449,7 @@ "200": { "description": "Success", "schema": { - "$ref": "#/definitions/LivyStatementsResponseBody" + "$ref": "#/definitions/SparkStatementCollection" } } } @@ -560,7 +459,7 @@ "SparkSession" ], "description": "Create statement within a spark session.", - "operationId": "SparkSession_CreateStatement", + "operationId": "SparkSession_CreateSparkStatement", "x-ms-examples": { "Create statement within a spark session.": { "$ref": "./examples/SparkFrontend_SparkSession_CreateStatement.json" @@ -573,16 +472,6 @@ "application/json" ], "parameters": [ - { - "$ref": "#/parameters/LivyApiVersionInPath" - }, - { - "name": "sparkPoolName", - "in": "path", - "description": "Name of the spark pool. \"ondemand\" targets the ondemand pool.", - "required": true, - "type": "string" - }, { "name": "sessionId", "in": "path", @@ -592,12 +481,12 @@ "format": "int32" }, { - "name": "livyRequest", + "name": "SparkStatementOptions", "in": "body", "description": "Livy compatible batch job request payload.", "required": true, "schema": { - "$ref": "#/definitions/LivyStatementRequestBody" + "$ref": "#/definitions/SparkStatementOptions" } } ], @@ -605,19 +494,19 @@ "200": { "description": "Success", "schema": { - "$ref": "#/definitions/LivyStatementResponseBody" + "$ref": "#/definitions/SparkStatement" } } } } }, - "/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}/sessions/{sessionId}/statements/{statementId}": { + "/sessions/{sessionId}/statements/{statementId}": { "get": { "tags": [ "SparkSession" ], "description": "Gets a single statement within a spark session.", - "operationId": "SparkSession_GetStatement", + "operationId": "SparkSession_GetSparkStatement", "x-ms-examples": { "Gets a single statement within a spark session.": { "$ref": "./examples/SparkFrontend_SparkSession_GetStatement.json" @@ -630,16 +519,6 @@ "application/json" ], "parameters": [ - { - "$ref": "#/parameters/LivyApiVersionInPath" - }, - { - "name": "sparkPoolName", - "in": "path", - "description": "Name of the spark pool. \"ondemand\" targets the ondemand pool.", - "required": true, - "type": "string" - }, { "name": "sessionId", "in": "path", @@ -661,19 +540,19 @@ "200": { "description": "Success", "schema": { - "$ref": "#/definitions/LivyStatementResponseBody" + "$ref": "#/definitions/SparkStatement" } } } } }, - "/livyApi/versions/{livyApiVersion}/sparkPools/{sparkPoolName}/sessions/{sessionId}/statements/{statementId}/cancel": { + "/sessions/{sessionId}/statements/{statementId}/cancel": { "post": { "tags": [ "SparkSession" ], "description": "Kill a statement within a session.", - "operationId": "SparkSession_DeleteStatement", + "operationId": "SparkSession_CancelSparkStatement", "x-ms-examples": { "Kill a statement within a session.": { "$ref": "./examples/SparkFrontend_SparkSession_DeleteStatement.json" @@ -686,16 +565,6 @@ "application/json" ], "parameters": [ - { - "$ref": "#/parameters/LivyApiVersionInPath" - }, - { - "name": "sparkPoolName", - "in": "path", - "description": "Name of the spark pool. \"ondemand\" targets the ondemand pool.", - "required": true, - "type": "string" - }, { "name": "sessionId", "in": "path", @@ -717,7 +586,7 @@ "200": { "description": "Success", "schema": { - "$ref": "#/definitions/LivyStatementCancellationResponse" + "$ref": "#/definitions/SparkStatementCancellationResult" } } } @@ -725,49 +594,63 @@ } }, "definitions": { - "ExtendedLivyListBatchResponse": { + "SparkBatchJobCollection": { "type": "object", "properties": { "from": { "format": "int32", - "type": "integer" + "type": "integer", + "description": "The start index of fetched sessions." }, "total": { "format": "int32", - "type": "integer" + "type": "integer", + "description": "Number of sessions fetched." }, "sessions": { "uniqueItems": false, "type": "array", + "description": "Batch list", "items": { - "$ref": "#/definitions/ExtendedLivyBatchResponse" + "$ref": "#/definitions/SparkBatchJob" } } - } + }, + "required": [ + "from", + "total" + ], + "description": "Response for batch list operation." }, - "ExtendedLivyBatchResponse": { + "SparkBatchJob": { "type": "object", "properties": { "livyInfo": { - "$ref": "#/definitions/LivyBatchStateInformation" + "$ref": "#/definitions/SparkBatchJobState" }, "name": { - "type": "string" + "type": "string", + "description": "The batch name." }, "workspaceName": { - "type": "string" + "type": "string", + "description": "The workspace name." }, "sparkPoolName": { - "type": "string" + "type": "string", + "description": "The Spark pool name." }, "submitterName": { - "type": "string" + "type": "string", + "description": "The submitter name." }, "submitterId": { - "type": "string" + "type": "string", + "description": "The submitter identifier." }, "artifactId": { - "type": "string" + "type": "string", + "description": "The artifact identifier." }, "jobType": { "enum": [ @@ -775,10 +658,11 @@ "SparkSession" ], "x-ms-enum": { - "name": "JobType", + "name": "SparkJobType", "modelAsString": true }, - "type": "string" + "type": "string", + "description": "The job type." }, "result": { "enum": [ @@ -788,95 +672,121 @@ "Cancelled" ], "x-ms-enum": { - "name": "JobResult", + "name": "SparkBatchJobResultType", "modelAsString": true }, - "type": "string" + "type": "string", + "description": "The Spark batch job result." }, "schedulerInfo": { - "$ref": "#/definitions/SchedulerInformation" + "x-ms-client-name": "scheduler", + "$ref": "#/definitions/SparkScheduler", + "description": "The scheduler information." }, "pluginInfo": { - "$ref": "#/definitions/SparkServicePluginInformation" + "x-ms-client-name": "plugin", + "$ref": "#/definitions/SparkServicePlugin", + "description": "The plugin information." }, "errorInfo": { + "x-ms-client-name": "errors", "uniqueItems": false, "type": "array", "items": { - "$ref": "#/definitions/ErrorInformation" - } + "$ref": "#/definitions/SparkServiceError" + }, + "description": "The error information." }, "tags": { "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "The tags." }, "id": { "format": "int32", - "type": "integer" + "type": "integer", + "description": "The session Id." }, "appId": { - "type": "string" + "type": "string", + "description": "The application id of this session" }, "appInfo": { "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "The detailed application info." }, "state": { - "type": "string" + "type": "string", + "description": "The batch state" }, "log": { + "x-ms-client-name": "logLines", "uniqueItems": false, "type": "array", "items": { "type": "string" - } + }, + "description": "The log lines." } - } + }, + "required": [ + "id" + ] }, - "LivyBatchStateInformation": { + "SparkBatchJobState": { "type": "object", "properties": { "notStartedAt": { "format": "date-time", - "type": "string" + "type": "string", + "description": "the time that at which \"not_started\" livy state was first seen." }, "startingAt": { "format": "date-time", - "type": "string" + "type": "string", + "description": "the time that at which \"starting\" livy state was first seen." }, "runningAt": { "format": "date-time", - "type": "string" + "type": "string", + "description": "the time that at which \"running\" livy state was first seen." }, "deadAt": { "format": "date-time", - "type": "string" + "type": "string", + "description": "time that at which \"dead\" livy state was first seen." }, "successAt": { "format": "date-time", - "type": "string" + "type": "string", + "description": "the time that at which \"success\" livy state was first seen." }, "killedAt": { + "x-ms-client-name": "terminatedAt", "format": "date-time", - "type": "string" + "type": "string", + "description": "the time that at which \"killed\" livy state was first seen." }, "recoveringAt": { "format": "date-time", - "type": "string" + "type": "string", + "description": "the time that at which \"recovering\" livy state was first seen." }, "currentState": { - "type": "string" + "type": "string", + "description": "the Spark job state." }, "jobCreationRequest": { - "$ref": "#/definitions/LivyRequestBase" + "$ref": "#/definitions/SparkRequest" } } }, - "SchedulerInformation": { + "SparkScheduler": { "type": "object", "properties": { "submittedAt": { @@ -909,7 +819,7 @@ } } }, - "SparkServicePluginInformation": { + "SparkServicePlugin": { "type": "object", "properties": { "preparationStartedAt": { @@ -950,7 +860,7 @@ } } }, - "ErrorInformation": { + "SparkServiceError": { "type": "object", "properties": { "message": { @@ -967,14 +877,14 @@ "Dependency" ], "x-ms-enum": { - "name": "ErrorSource", + "name": "SparkErrorSource", "modelAsString": true }, "type": "string" } } }, - "LivyRequestBase": { + "SparkRequest": { "type": "object", "properties": { "name": { @@ -987,6 +897,7 @@ "type": "string" }, "args": { + "x-ms-client-name": "arguments", "uniqueItems": false, "type": "array", "items": { @@ -1000,6 +911,14 @@ "type": "string" } }, + "pyFiles": { + "x-ms-client-name": "pythonFiles", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, "files": { "uniqueItems": false, "type": "array", @@ -1015,6 +934,7 @@ } }, "conf": { + "x-ms-client-name": "configuration", "type": "object", "additionalProperties": { "type": "string" @@ -1035,12 +955,13 @@ "type": "integer" }, "numExecutors": { + "x-ms-client-name": "executorCount", "format": "int32", "type": "integer" } } }, - "ExtendedLivyBatchRequest": { + "sparkBatchJobOptions": { "type": "object", "properties": { "tags": { @@ -1062,6 +983,7 @@ "type": "string" }, "args": { + "x-ms-client-name": "arguments", "uniqueItems": false, "type": "array", "items": { @@ -1075,6 +997,14 @@ "type": "string" } }, + "pyFiles": { + "x-ms-client-name": "pythonFiles", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, "files": { "uniqueItems": false, "type": "array", @@ -1090,6 +1020,7 @@ } }, "conf": { + "x-ms-client-name": "configuration", "type": "object", "additionalProperties": { "type": "string" @@ -1110,12 +1041,17 @@ "type": "integer" }, "numExecutors": { + "x-ms-client-name": "executorCount", "format": "int32", "type": "integer" } - } + }, + "required": [ + "name", + "file" + ] }, - "ExtendedLivyListSessionResponse": { + "SparkSessionCollection": { "type": "object", "properties": { "from": { @@ -1130,16 +1066,20 @@ "uniqueItems": false, "type": "array", "items": { - "$ref": "#/definitions/ExtendedLivySessionResponse" + "$ref": "#/definitions/SparkSession" } } - } + }, + "required": [ + "from", + "total" + ] }, - "ExtendedLivySessionResponse": { + "SparkSession": { "type": "object", "properties": { "livyInfo": { - "$ref": "#/definitions/LivySessionStateInformation" + "$ref": "#/definitions/SparkSessionState" }, "name": { "type": "string" @@ -1165,7 +1105,7 @@ "SparkSession" ], "x-ms-enum": { - "name": "JobType", + "name": "SparkJobType", "modelAsString": true }, "type": "string" @@ -1178,22 +1118,25 @@ "Cancelled" ], "x-ms-enum": { - "name": "JobResult", + "name": "SparkSessionResultType", "modelAsString": true }, "type": "string" }, "schedulerInfo": { - "$ref": "#/definitions/SchedulerInformation" + "x-ms-client-name": "scheduler", + "$ref": "#/definitions/SparkScheduler" }, "pluginInfo": { - "$ref": "#/definitions/SparkServicePluginInformation" + "x-ms-client-name": "plugin", + "$ref": "#/definitions/SparkServicePlugin" }, "errorInfo": { + "x-ms-client-name": "errors", "uniqueItems": false, "type": "array", "items": { - "$ref": "#/definitions/ErrorInformation" + "$ref": "#/definitions/SparkServiceError" } }, "tags": { @@ -1219,15 +1162,19 @@ "type": "string" }, "log": { + "x-ms-client-name": "logLines", "uniqueItems": false, "type": "array", "items": { "type": "string" } } - } + }, + "required": [ + "id" + ] }, - "LivySessionStateInformation": { + "SparkSessionState": { "type": "object", "properties": { "notStartedAt": { @@ -1251,6 +1198,7 @@ "type": "string" }, "killedAt": { + "x-ms-client-name": "terminatedAt", "format": "date-time", "type": "string" }, @@ -1270,11 +1218,11 @@ "type": "string" }, "jobCreationRequest": { - "$ref": "#/definitions/LivyRequestBase" + "$ref": "#/definitions/SparkRequest" } } }, - "ExtendedLivySessionRequest": { + "SparkSessionOptions": { "type": "object", "properties": { "tags": { @@ -1296,6 +1244,7 @@ "type": "string" }, "args": { + "x-ms-client-name": "arguments", "uniqueItems": false, "type": "array", "items": { @@ -1309,6 +1258,14 @@ "type": "string" } }, + "pyFiles": { + "x-ms-client-name": "pythonFiles", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, "files": { "uniqueItems": false, "type": "array", @@ -1324,6 +1281,7 @@ } }, "conf": { + "x-ms-client-name": "configuration", "type": "object", "additionalProperties": { "type": "string" @@ -1344,15 +1302,20 @@ "type": "integer" }, "numExecutors": { + "x-ms-client-name": "executorCount", "format": "int32", "type": "integer" } - } + }, + "required": [ + "name" + ] }, - "LivyStatementsResponseBody": { + "SparkStatementCollection": { "type": "object", "properties": { "total_statements": { + "x-ms-client-name": "total", "format": "int32", "type": "integer" }, @@ -1360,12 +1323,15 @@ "uniqueItems": false, "type": "array", "items": { - "$ref": "#/definitions/LivyStatementResponseBody" + "$ref": "#/definitions/SparkStatement" } } - } + }, + "required": [ + "total_statements" + ] }, - "LivyStatementResponseBody": { + "SparkStatement": { "type": "object", "properties": { "id": { @@ -1379,11 +1345,14 @@ "type": "string" }, "output": { - "$ref": "#/definitions/LivyStatementOutput" + "$ref": "#/definitions/SparkStatementOutput" } - } + }, + "required": [ + "id" + ] }, - "LivyStatementOutput": { + "SparkStatementOutput": { "type": "object", "properties": { "status": { @@ -1397,9 +1366,11 @@ "type": "object" }, "ename": { + "x-ms-client-name": "errorName", "type": "string" }, "evalue": { + "x-ms-client-name": "errorValue", "type": "string" }, "traceback": { @@ -1409,20 +1380,33 @@ "type": "string" } } - } + }, + "required": [ + "execution_count" + ] }, - "LivyStatementRequestBody": { + "SparkStatementOptions": { "type": "object", "properties": { "code": { "type": "string" }, "kind": { + "enum": [ + "spark", + "pyspark", + "dotnetspark", + "sql" + ], + "x-ms-enum": { + "name": "SparkStatementLanguageType", + "modelAsString": true + }, "type": "string" } } }, - "LivyStatementCancellationResponse": { + "SparkStatementCancellationResult": { "type": "object", "properties": { "msg": { @@ -1432,7 +1416,16 @@ } }, "parameters": { - "LivyApiVersionInPath": { + "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" + }, + "LivyApiVersion": { "name": "livyApiVersion", "in": "path", "description": "Valid api-version for the request.", @@ -1442,14 +1435,13 @@ "x-ms-skip-url-encoding": true, "x-ms-parameter-location": "client" }, - "SynapseDnsSuffixInPath": { - "name": "SynapseDnsSuffix", + "SparkPoolName": { + "name": "sparkPoolName", "in": "path", + "description": "Name of the spark pool.", "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/2019-11-01-preview/examples/RoleAssignments_CreateRoleAssignment.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/examples/RoleAssignments_CreateRoleAssignment.json similarity index 85% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/RoleAssignments_CreateRoleAssignment.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/examples/RoleAssignments_CreateRoleAssignment.json index 97212e8071ce..bca528607878 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/RoleAssignments_CreateRoleAssignment.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/examples/RoleAssignments_CreateRoleAssignment.json @@ -1,9 +1,8 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "api-version": "2020-02-01-preview", - "request": { + "createRoleAssignmentOptions": { "roleId": "00000000-0000-0000-0000-000000000000", "principalId": "00000000-0000-0000-0000-000000000000" } diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/RoleAssignments_DeleteRoleAssignmentById.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/examples/RoleAssignments_DeleteRoleAssignmentById.json similarity index 81% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/RoleAssignments_DeleteRoleAssignmentById.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/examples/RoleAssignments_DeleteRoleAssignmentById.json index ba09f1f27aa0..0171f555a8cf 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/RoleAssignments_DeleteRoleAssignmentById.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/examples/RoleAssignments_DeleteRoleAssignmentById.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "roleAssignmentId": "00000000-0000-0000-0000-000000000000-00000000-0000-0000-0000-000000000000", "api-version": "2020-02-01-preview" }, diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/RoleAssignments_GetRoleAssignmentById.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/examples/RoleAssignments_GetRoleAssignmentById.json similarity index 87% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/RoleAssignments_GetRoleAssignmentById.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/examples/RoleAssignments_GetRoleAssignmentById.json index 4374be7f52ec..2e0e8d8896bf 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/RoleAssignments_GetRoleAssignmentById.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/examples/RoleAssignments_GetRoleAssignmentById.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "roleAssignmentId": "00000000-0000-0000-0000-000000000000-00000000-0000-0000-0000-000000000000", "api-version": "2020-02-01-preview" }, diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/RoleAssignments_ListCallerRoleAssignments.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/examples/RoleAssignments_ListCallerRoleAssignments.json similarity index 81% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/RoleAssignments_ListCallerRoleAssignments.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/examples/RoleAssignments_ListCallerRoleAssignments.json index 2dca414a3784..becbc1cd5b26 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/RoleAssignments_ListCallerRoleAssignments.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/examples/RoleAssignments_ListCallerRoleAssignments.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "api-version": "2020-02-01-preview" }, "responses": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/RoleAssignments_ListRoleAssignments.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/examples/RoleAssignments_ListRoleAssignments.json similarity index 91% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/RoleAssignments_ListRoleAssignments.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/examples/RoleAssignments_ListRoleAssignments.json index f1af57ba8b4b..c9a190167d43 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/RoleAssignments_ListRoleAssignments.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/examples/RoleAssignments_ListRoleAssignments.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "api-version": "2020-02-01-preview", "roleId": "00000000-0000-0000-0000-000000000000", "principalId": "00000000-0000-0000-0000-000000000000" diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Roles_GetRoleById.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/examples/Roles_GetRoleById.json similarity index 84% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Roles_GetRoleById.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/examples/Roles_GetRoleById.json index 5c6f07d2e9f0..7b709acbdfff 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Roles_GetRoleById.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/examples/Roles_GetRoleById.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "roleId": "00000000-0000-0000-0000-000000000000", "api-version": "2020-02-01-preview" }, diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Roles_ListRoles.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/examples/Roles_ListRoles.json similarity index 87% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Roles_ListRoles.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/examples/Roles_ListRoles.json index 74838831ed04..305559688c49 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Roles_ListRoles.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/examples/Roles_ListRoles.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "exampleWorkspace", - "SynapseDnsSuffix": "azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "api-version": "2020-02-01-preview" }, "responses": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/roleAssignments.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/roleAssignments.json similarity index 88% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/roleAssignments.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/roleAssignments.json index 922d6074a432..5d2a04daacd5 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/roleAssignments.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/roleAssignments.json @@ -1,22 +1,15 @@ { "swagger": "2.0", "info": { - "version": "2019-11-01-preview", - "title": "SynapseClient" + "version": "2020-02-01-preview", + "title": "AccessControlClient" }, "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" } ] }, @@ -29,7 +22,7 @@ "tags": [ "RoleAssignments" ], - "operationId": "RoleAssignments_CreateRoleAssignment", + "operationId": "CreateRoleAssignment", "description": "Create role assignment.", "x-ms-examples": { "Create role assignment": { @@ -44,12 +37,12 @@ ], "parameters": [ { - "name": "request", + "name": "createRoleAssignmentOptions", "in": "body", "required": true, "description": "Details of role id and object id.", "schema": { - "$ref": "#/definitions/RoleAssignmentRequest" + "$ref": "#/definitions/RoleAssignmentOptions" } }, { @@ -75,7 +68,7 @@ "tags": [ "RoleAssignments" ], - "operationId": "RoleAssignments_ListRoleAssignments", + "operationId": "GetRoleAssignments", "description": "List role assignments.", "x-ms-examples": { "Get role assignment information": { @@ -127,7 +120,7 @@ "tags": [ "RoleAssignments" ], - "operationId": "RoleAssignments_GetRoleAssignmentById", + "operationId": "GetRoleAssignmentById", "description": "Get role assignment by role assignment Id.", "x-ms-examples": { "Get role assignment information": { @@ -141,6 +134,9 @@ "parameters": [ { "$ref": "#/parameters/RoleAssignmentIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { @@ -162,7 +158,7 @@ "tags": [ "RoleAssignments" ], - "operationId": "RoleAssignments_DeleteRoleAssignmentById", + "operationId": "DeleteRoleAssignmentById", "description": "Delete role assignment by role assignment Id.", "x-ms-examples": { "Delete role assignment": { @@ -176,6 +172,9 @@ "parameters": [ { "$ref": "#/parameters/RoleAssignmentIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { @@ -199,7 +198,7 @@ "tags": [ "RoleAssignments" ], - "operationId": "RoleAssignments_ListCallerRoleAssignments", + "operationId": "GetCallerRoleAssignments", "description": "List role assignments of the caller.", "x-ms-examples": { "Get caller role assignments": { @@ -222,7 +221,6 @@ "type": "array", "items": { "description": "Role ID of the Synapse Built-In Role", - "format": "uuid", "type": "string" } } @@ -298,18 +296,16 @@ "$ref": "#/definitions/RoleAssignmentDetails" } }, - "RoleAssignmentRequest": { + "RoleAssignmentOptions": { "description": "Role Assignment request details", "type": "object", "properties": { "roleId": { "description": "Role ID of the Synapse Built-In Role", - "format": "uuid", "type": "string" }, "principalId": { "description": "Object ID of the AAD principal or security-group", - "format": "uuid", "type": "string" } }, @@ -328,18 +324,25 @@ }, "roleId": { "description": "Role ID of the Synapse Built-In Role", - "format": "uuid", "type": "string" }, "principalId": { "description": "Object ID of the AAD principal or security-group", - "format": "uuid", "type": "string" } } } }, "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", @@ -347,16 +350,6 @@ "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" - }, "RoleIdParameterInQuery": { "name": "roleId", "in": "query", @@ -384,6 +377,7 @@ }, "XMsContinuationToken": { "name": "x-ms-continuation", + "x-ms-client-name": "continuationToken", "in": "header", "required": false, "type": "string", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/roles.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/roles.json similarity index 83% rename from specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/roles.json rename to specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/roles.json index f566e171de1f..8751013f2784 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/roles.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/roles.json @@ -1,22 +1,15 @@ { "swagger": "2.0", "info": { - "version": "2019-11-01-preview", - "title": "SynapseClient" + "version": "2020-02-01-preview", + "title": "AccessControlClient" }, "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" } ] }, @@ -29,7 +22,7 @@ "tags": [ "SynapseRoles" ], - "operationId": "Roles_ListRoles", + "operationId": "GetRoleDefinitions", "description": "List roles.", "x-ms-examples": { "Get access control information": { @@ -69,7 +62,7 @@ "tags": [ "SynapseRoles" ], - "operationId": "Roles_GetRoleById", + "operationId": "GetRoleDefinitionById", "description": "Get role by role Id.", "x-ms-examples": { "Get access control information": { @@ -83,6 +76,9 @@ "parameters": [ { "$ref": "#/parameters/RoleIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { @@ -129,7 +125,6 @@ "properties": { "id": { "description": "Role ID", - "format": "uuid", "type": "string" }, "name": { @@ -140,10 +135,22 @@ "description": "Is a built-in role or not", "type": "boolean" } - } + }, + "required": [ + "isBuiltIn" + ] } }, "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", @@ -151,16 +158,6 @@ "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" - }, "RoleIdParameter": { "name": "roleId", "in": "path", diff --git a/specification/synapse/data-plane/readme.go.md b/specification/synapse/data-plane/readme.go.md new file mode 100644 index 000000000000..3b24071d4596 --- /dev/null +++ b/specification/synapse/data-plane/readme.go.md @@ -0,0 +1,51 @@ +## 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-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) +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) +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) +go: + namespace: accesscontrol +output-folder: $(go-sdk-folder)/services/preview/synapse/2020-02-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 f2f3be08766f..90987da109b6 100644 --- a/specification/synapse/data-plane/readme.md +++ b/specification/synapse/data-plane/readme.md @@ -20,14 +20,64 @@ To see additional help and options, run: ## Configuration - - ### Basic Information These are the global settings for the Azure Synapse Analytics API. ``` yaml openapi-type: data-plane -tag: package-2019-11-01-preview +``` + +``` yaml $(package-spark) +tag: package-spark-2019-11-01-preview +``` + +``` yaml $(package-artifacts) +tag: package-artifacts-2019-06-01-preview +``` + +``` yaml $(package-access-control) +tag: package-access-control-2020-02-01-preview +``` + +``` yaml $(package-vnet) +tag: package-vnet-2019-06-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. + +``` yaml $(tag) == 'package-spark-2019-11-01-preview' +input-file: +- Microsoft.Synapse/preview/2019-11-01-preview/sparkJob.json +``` + +### Tag: package-artifacts-2019-06-01-preview + +These settings apply only when `--tag=package-artifacts-2019-06-01-preview` is specified on the command line. + +``` yaml $(tag) == 'package-artifacts-2019-06-01-preview' +input-file: +- Microsoft.Synapse/preview/2019-06-01-preview/artifacts.json +``` + +### Tag: package-access-control-2020-02-01-preview + +These settings apply only when `--tag=package-access-control-2020-02-01-preview` is specified on the command line. + +``` yaml $(tag) == 'package-access-control-2020-02-01-preview' +input-file: +- Microsoft.Synapse/preview/2020-02-01-preview/roles.json +- Microsoft.Synapse/preview/2020-02-01-preview/roleAssignments.json +``` + +### Tag: package-vnet-2019-06-01-preview + +These settings apply only when `--tag=package-vnet-2019-06-01-preview` is specified on the command line + +``` yaml $(tag) == 'package-vnet-2019-06-01-preview' +input-file: +- Microsoft.Synapse/preview/2019-06-01-preview/managedPrivateEndpoints.json ``` ## Suppression @@ -35,14 +85,14 @@ tag: package-2019-11-01-preview directive: - suppress: DefinitionsPropertiesNamesCamelCase reason: This would require a breaking change, and need to be consistent with the response from RP side. - from: Microsoft.Synapse/preview/2019-11-01-preview/sparkFrontend.json + from: sparkJob.json where: - - $.definitions.LivyStatementsResponseBody.properties.total_statements - - $.definitions.LivyStatementOutput.properties.execution_count + - $.definitions.SparkStatementCollection.properties.total_statements + - $.definitions.SparkStatementOutput.properties.execution_count - suppress: DefinitionsPropertiesNamesCamelCase - reason: These properties need to keep the same with jupyter notebook. Rp can't change these proeprties. - from: Microsoft.Synapse/preview/2019-11-01-preview/adf/entityTypes/NoteBook.json + reason: These properties need to keep the same with jupyter Notebook. Rp can't change these proeprties. + from: Notebook.json where: - $.definitions.NotebookCellOutputItem.properties.execution_count - $.definitions.NotebookCellOutputItem.properties.output_type @@ -50,26 +100,12 @@ directive: - $.definitions.NotebookLanguageInfo.properties.codemirror_mode - $.definitions.NotebookKernelSpec.properties.display_name - $.definitions.NotebookMetadata.properties.language_info - - $.definitions.NoteBook.properties.nbformat_minor -``` - -### Tag: package-2019-11-01-preview - -These settings apply only when `--tag=package-2019-11-01-preview` is specified on the command line - -``` yaml $(tag) == 'package-2019-11-01-preview' -input-file: -- Microsoft.Synapse/preview/2019-11-01-preview/monitoring.json -- Microsoft.Synapse/preview/2019-11-01-preview/sparkFrontend.json -- Microsoft.Synapse/preview/2019-11-01-preview/roles.json -- Microsoft.Synapse/preview/2019-11-01-preview/roleAssignments.json -- Microsoft.Synapse/preview/2019-11-01-preview/adf/datafactory.json + - $.definitions.Notebook.properties.nbformat_minor ``` --- # Code Generation - ## Swagger to SDK Swagger to SDK has been intentionally disabled for this spec. @@ -86,11 +122,20 @@ csharp: namespace: Microsoft.Azure.Synapse output-folder: $(csharp-sdks-folder)/synapse/Microsoft.Azure.Synapse/src/Generated clear-output-folder: true +batch: + - package-spark: true + - package-artifacts: true + - package-access-control: true ``` ## TypeScript See configuration in [readme.typescript.md](./readme.typescript.md) + +## 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. @@ -103,12 +148,11 @@ 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-11-01-preview/sparkJob.json - $(this-folder)/Microsoft.Synapse/preview/2019-11-01-preview/monitoring.json - - $(this-folder)/Microsoft.Synapse/preview/2019-11-01-preview/sparkFrontend.json - - $(this-folder)/Microsoft.Synapse/preview/2019-11-01-preview/roles.json - - $(this-folder)/Microsoft.Synapse/preview/2019-11-01-preview/roleAssignments.json - - $(this-folder)/Microsoft.Synapse/preview/2019-11-01-preview/adf/datafactory.json - + - $(this-folder)/Microsoft.Synapse/preview/2020-02-01-preview/roles.json + - $(this-folder)/Microsoft.Synapse/preview/2020-02-01-preview/roleAssignments.json ``` If there are files that should not be in the `all-api-versions` set, diff --git a/specification/synapse/data-plane/readme.python.md b/specification/synapse/data-plane/readme.python.md index cf2ba5dbe061..30169a5bf708 100644 --- a/specification/synapse/data-plane/readme.python.md +++ b/specification/synapse/data-plane/readme.python.md @@ -5,21 +5,30 @@ Please also specify `--python-sdks-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..4d9b9ee0af9b --- /dev/null +++ b/specification/vmware/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) +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-2019-08-09-preview +``` + +### 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..89553bfed17c 100644 --- a/specification/vmware/resource-manager/readme.md +++ b/specification/vmware/resource-manager/readme.md @@ -56,6 +56,8 @@ 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 ``` ## TypeScript @@ -70,6 +72,14 @@ 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) + ## 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/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=true, false otherwise.", + "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": [ 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 fe02ddd901a7..cf72d9b7c660 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 @@ -1232,9 +1232,10 @@ "type": { "description": "Type of managed service identity.", "enum": [ - "None", "SystemAssigned", - "UserAssigned" + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" ], "type": "string", "x-ms-enum": { diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2019-08-01/WebApps.json b/specification/web/resource-manager/Microsoft.Web/stable/2019-08-01/WebApps.json index 1efc1c1d5478..281daf0188c8 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2019-08-01/WebApps.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2019-08-01/WebApps.json @@ -710,6 +710,253 @@ "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": [ @@ -19827,9 +20074,10 @@ }, "identityType": { "enum": [ - "None", "SystemAssigned", - "UserAssigned" + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" ], "type": "string", "x-ms-enum": { @@ -20581,6 +20829,59 @@ } } }, + "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", @@ -21289,9 +21590,10 @@ }, "identityType": { "enum": [ - "None", "SystemAssigned", - "UserAssigned" + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" ], "type": "string", "x-ms-enum": { diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2019-08-01/examples/GetPublishingCredentialsPolicy.json b/specification/web/resource-manager/Microsoft.Web/stable/2019-08-01/examples/GetPublishingCredentialsPolicy.json new file mode 100644 index 000000000000..1a2b02bb2b8d --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2019-08-01/examples/GetPublishingCredentialsPolicy.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testSite", + "api-version": "2019-08-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "allow": false + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2019-08-01/examples/ListPublishingCredentialsPolicies.json b/specification/web/resource-manager/Microsoft.Web/stable/2019-08-01/examples/ListPublishingCredentialsPolicies.json new file mode 100644 index 000000000000..f96c4a736517 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2019-08-01/examples/ListPublishingCredentialsPolicies.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testSite", + "api-version": "2019-08-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "ftp": { + "properties": { + "allow": false + } + }, + "scm": { + "properties": { + "allow": false + } + } + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2019-08-01/examples/UpdatePublishingCredentialsPolicy.json b/specification/web/resource-manager/Microsoft.Web/stable/2019-08-01/examples/UpdatePublishingCredentialsPolicy.json new file mode 100644 index 000000000000..b8c83f16c837 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2019-08-01/examples/UpdatePublishingCredentialsPolicy.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testSite", + "api-version": "2019-08-01", + "csmPublishingAccessPoliciesEntity": { + "properties": { + "allow": true + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "allow": true + } + } + } + } +} diff --git a/specificationRepositoryConfiguration.json b/specificationRepositoryConfiguration.json index 7bcfe9c0e212..dbcddfeb40e2 100644 --- a/specificationRepositoryConfiguration.json +++ b/specificationRepositoryConfiguration.json @@ -20,6 +20,11 @@ "mainRepository": "Azure/azure-sdk-for-net" }, "azure-sdk-for-python": { + "integrationRepository": "AzureSDKAutomation/azure-sdk-for-python", + "mainRepository": "Azure/azure-sdk-for-python", + "mainBranch": "release/v3" + }, + "azure-sdk-for-python-track2": { "integrationRepository": "AzureSDKAutomation/azure-sdk-for-python", "mainRepository": "Azure/azure-sdk-for-python" },