diff --git a/.azure-pipelines-preproduction/package-lock.json b/.azure-pipelines-preproduction/package-lock.json
index cd0b8e1f56e6..3333e5d1810e 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,13 +93,13 @@
}
},
"@azure/rest-api-specs-scripts": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@azure/rest-api-specs-scripts/-/rest-api-specs-scripts-0.8.0.tgz",
- "integrity": "sha512-vJxboVIH6D9Z6oFHNvMthkPtCGz3wMsxSgnkkZtS8fEvXHP3r8uNQgDbTdejp0zuH0XnRG3OrO504CwBkoM1Rw==",
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/@azure/rest-api-specs-scripts/-/rest-api-specs-scripts-0.9.1.tgz",
+ "integrity": "sha512-F8Zg+kSd2/hoGCQ7DoMhTCc0u1uf0IIjxWsIpeVWBcWuiBtQ1MOlz5Yib4nCa9q4Dmhfnt5AYBv/q7vkM1aPmw==",
"dev": true,
"requires": {
"@azure/avocado": "^0.4.1",
- "@azure/oad": "^0.7.0",
+ "@azure/oad": "^0.8.0",
"@octokit/rest": "^16.42.0",
"@ts-common/string-map": "^0.3.0",
"commonmark": "0.27.0",
@@ -307,9 +312,9 @@
}
},
"@octokit/types": {
- "version": "2.12.1",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.12.1.tgz",
- "integrity": "sha512-LRLR1tjbcCfAmUElvTmMvLEzstpx6Xt/aQVTg2xvd+kHA2Ekp1eWl5t+gU7bcwjXHYEAzh4hH4WH+kS3vh+wRw==",
+ "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"
@@ -3564,18 +3569,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"
}
},
"minimatch": {
@@ -3715,9 +3720,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.25.3",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.25.3.tgz",
+ "integrity": "sha512-PuYv0PHxZvzc15Sp8ybUCoQ+xpyPWvjOuK72a5ovzp2LI32rJXOiIfyoFoYvG3s6EwwrdkMyWuRiEHSZRLJNdg==",
"dev": true
},
"ms": {
@@ -3948,9 +3953,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": "*",
@@ -4529,9 +4534,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": {
@@ -5072,9 +5077,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 +5476,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.3",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.9.3.tgz",
+ "integrity": "sha512-r5ImcL6QyzQGVimQoov3aL2ZScywrOgBXGndbWrdehKoSvGe/RmiE5Jpw/v+GvxODt6l2tpBXwA7n+qZVlHBMA==",
"dev": true,
"optional": true,
"requires": {
@@ -5940,15 +5945,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": {
@@ -5959,9 +5964,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/.azure-pipelines-preproduction/package.json b/.azure-pipelines-preproduction/package.json
index 7d9c807b4684..b17c36d433e5 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.8.0",
+ "@azure/avocado": "^0.6.4",
+ "@azure/rest-api-specs-scripts": "^0.9.1",
"@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/SDKAutomation.yml b/.azure-pipelines/SDKAutomation.yml
index 6e481cdb9139..4ffe19244ebd 100644
--- a/.azure-pipelines/SDKAutomation.yml
+++ b/.azure-pipelines/SDKAutomation.yml
@@ -69,6 +69,7 @@ jobs:
-e SPEC_REPO \
-e PR_NUMBER \
-e SDK_REPO_NAME \
+ -e AZURE_DEVOPS_EXT_PAT \
sdk-automation:latest npm start
env:
BLOB_STORAGE_NAME: $(blob-storage-name)
@@ -76,4 +77,6 @@ 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)
+ BUILD_ID: $(Build.BuildId)
displayName: SDK Automation
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index 345d8c92354c..408cffef6ef6 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -1,17 +1,20 @@
-### Latest improvements:
MSFT employees can try out our new experience at [OpenAPI Hub](https://aka.ms/openapiportal) - one location for using our validation tools and finding your workflow.
-
+
+
### Contribution checklist:
-- [ ] I have reviewed the [documentation](https://github.com/Azure/adx-documentation-pr/wiki/Overall-basic-flow) for the workflow.
-- [ ] [Validation tools](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/swagger-checklist.md#validation-tools-for-swagger-checklist) were run on swagger spec(s) and have all been fixed in this PR.
-- [ ] The [OpenAPI Hub](https://aka.ms/openapiportal) was used for checking validation status and next steps.
+- [ ] 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)
+
+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).
+
### ARM API Review Checklist
-- [ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
-- adding/removing APIs.
-- adding/removing properties.
-- adding/removing API-version.
-- adding a new service in Azure.
+- [ ] Service team MUST add the "**WaitForARMFeedback**" label if the management plane API changes fall into one of the below categories.
+ - adding/removing APIs.
+ - adding/removing properties.
+ - adding/removing API-version.
+ - adding a new service in Azure.
+
+Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.
-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://armwiki.azurewebsites.net/rp_onboarding/ResourceProviderOnboardingAPIRevieworkflow.html).
+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).
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 516ff14d76b4..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}"
@@ -76,7 +78,7 @@
action: sendEmail
scope: issue
args:
- booleanFilterExpression: "triage"
+ booleanFilterExpression: "needs-triage"
limit: 48h
message: " Dear Swagger reviewer,
Please response to the issue ${URL} . The issue isn't updated in 48 hours.
Quick info. - If you have any question, please send email to Visual Studio Swagger and Tool team vscswagger@microsoft.com.
Best regards,
Azure Management Experience "
subject: "Action Required: Please respond to issue ${URL}"
diff --git a/CODEOWNERS b/CODEOWNERS
index 2444dda0fade..dee3983a317b 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -66,7 +66,7 @@
/specification/servicebus/ @sazeesha @v-ajnava
/specification/servicefabric/ @juhacket @samedder
/specification/sql/ @dnayantara @jaredmoo @nathannfan
-/specification/storage/ @jasonyang-msft @xiaonlimsft
+/specification/storage/ @blueww @jasonyang-msft @xiaonlimsft
/specification/storageimportexport/ @leoz-ms
/specification/storagesync/ @ankushbindlish2
/specification/storsimple8000series/ @manaas-microsoft
diff --git a/custom-words.txt b/custom-words.txt
index 19d89c521509..3a5c2da39997 100644
--- a/custom-words.txt
+++ b/custom-words.txt
@@ -290,6 +290,7 @@ cntk
CODEGEN
codegeneration
codemirror
+codepackage
cognitiveservices
colls
colocation
@@ -561,6 +562,7 @@ Français
frontdoor
fsaction
Fulfilment
+fullmetadata
Fulltext
fullyqualified
functionappsettings
@@ -594,6 +596,7 @@ getprivatelinkresources
getsas
getskus
getssotoken
+gettestresultfile
getvpnclientipsecparameters
getvpnprofilepackageurl
gibibytes
@@ -978,6 +981,7 @@ nodeconfiguration
nodecounts
Nodeploy
nodrm
+nometadata
nonadmin
NONCLUSTERED
nonincreasing
@@ -1124,6 +1128,7 @@ pricesheets
pricings
primarybytes
privatedns
+privatelinks
privatepreview
projectable
Protectable
@@ -1251,6 +1256,7 @@ resourcetype
Responsys
restoreheartbeat
Restproxy
+restype
resumable
resync
resynchronization
@@ -1275,6 +1281,8 @@ rosettanetprocessconfigurations
rotatediskencryptionkey
routable
routingendpointhealth
+rpki
+RPKI
rpns
RSAES
RSASSA
@@ -1514,6 +1522,7 @@ testall
testallroutes
testnew
testnewroute
+testresultfile
textanalytics
TFIDF
Tful
@@ -1700,6 +1709,7 @@ websearch
webservices
Webspace
webtest
+webtestresult
webtests
westcentralus
westeurope
@@ -1753,6 +1763,9 @@ cloudManifestFiles
highestcriticalimpact
apiserver
kubeadmin
+AzureAD
+PrivateLink
+privateLinkForAzureAd
userprincipalname
sessionstate
sessionhosts
diff --git a/documentation/openapi-authoring-automated-guidelines.md b/documentation/openapi-authoring-automated-guidelines.md
index 0d3581f28f39..7d4fd5353113 100644
--- a/documentation/openapi-authoring-automated-guidelines.md
+++ b/documentation/openapi-authoring-automated-guidelines.md
@@ -51,9 +51,11 @@ We request OpenAPI(Swagger) spec authoring be assigned to engineers who have an
| [R3011](#r3011) | [DescriptionMustNotBeNodeName](#r3011) | ARM and Data plane OpenAPI(swagger) specs |
| [R2020](#r2020) | [RequiredPropertiesMissingInResourceModel](#r2020) | ARM OpenAPI(swagger) specs |
| [R3020](#r3020) | [PathResourceProviderNamePascalCase](#r3020) | ARM OpenAPI(swagger) specs |
-| [R3021](#r3021) | [PathResouceTypeNameCamelCase](#r3021) | ARM OpenAPI(swagger) specs |
+| [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) | [IntergerTypeMustHaveFormat](#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 IntergerTypeMustHaveFormat
+
+**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/package-lock.json b/package-lock.json
index 210ac693bff4..fc609748244c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -24,14 +24,14 @@
}
},
"@azure/oad": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/@azure/oad/-/oad-0.7.0.tgz",
- "integrity": "sha512-voz6Q71GmJpRAThFG5aDWqHiQCc6eL1ajAR0JqbqCsqStQdBauGkGZhOeawkNJIgHnFY3GG9GO/fWhfp36uBWg==",
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/@azure/oad/-/oad-0.7.1.tgz",
+ "integrity": "sha512-KTlb+aQRFyKbd4ezie9wA5bthI+9Cia+j59PfYRyt8AD0L1RjW7DNvTXbpK7hOxRYPJdd/+1alczXRnWr99Pbw==",
"dev": true,
"requires": {
"@ts-common/fs": "^0.2.0",
"@ts-common/json-parser": "^0.7.0",
- "autorest": "^2.0.0",
+ "autorest": "^2.0.4407",
"glob": "^7.1.3",
"js-yaml": "^3.13.1",
"json-pointer": "^0.6.0",
@@ -88,9 +88,9 @@
}
},
"@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.8.0",
+ "resolved": "https://registry.npmjs.org/@azure/rest-api-specs-scripts/-/rest-api-specs-scripts-0.8.0.tgz",
+ "integrity": "sha512-vJxboVIH6D9Z6oFHNvMthkPtCGz3wMsxSgnkkZtS8fEvXHP3r8uNQgDbTdejp0zuH0XnRG3OrO504CwBkoM1Rw==",
"dev": true,
"requires": {
"@azure/avocado": "^0.4.1",
@@ -307,9 +307,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": "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"
@@ -3300,18 +3300,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 +3597,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.25.3",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.25.3.tgz",
+ "integrity": "sha512-PuYv0PHxZvzc15Sp8ybUCoQ+xpyPWvjOuK72a5ovzp2LI32rJXOiIfyoFoYvG3s6EwwrdkMyWuRiEHSZRLJNdg==",
"dev": true
},
"ms": {
@@ -3830,9 +3830,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 +4417,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 +4618,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"
@@ -4960,9 +4960,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 +5339,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.3",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.9.3.tgz",
+ "integrity": "sha512-r5ImcL6QyzQGVimQoov3aL2ZScywrOgBXGndbWrdehKoSvGe/RmiE5Jpw/v+GvxODt6l2tpBXwA7n+qZVlHBMA==",
"dev": true,
"optional": true,
"requires": {
@@ -5961,15 +5961,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 +5980,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..1089ced9b10a 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.8.0",
"@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/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/componentProactiveDetection_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/componentProactiveDetection_API.json
similarity index 100%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01/componentProactiveDetection_API.json
rename to specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/componentProactiveDetection_API.json
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01/components_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/components_API.json
similarity index 100%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01/components_API.json
rename to specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/components_API.json
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01/examples/ComponentsCreate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsCreate.json
similarity index 100%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01/examples/ComponentsCreate.json
rename to specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsCreate.json
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01/examples/ComponentsDelete.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsDelete.json
similarity index 100%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01/examples/ComponentsDelete.json
rename to specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsDelete.json
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01/examples/ComponentsGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsGet.json
similarity index 100%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01/examples/ComponentsGet.json
rename to specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsGet.json
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01/examples/ComponentsList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsList.json
similarity index 100%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01/examples/ComponentsList.json
rename to specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsList.json
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01/examples/ComponentsListByResourceGroup.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsListByResourceGroup.json
similarity index 100%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01/examples/ComponentsListByResourceGroup.json
rename to specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsListByResourceGroup.json
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01/examples/ComponentsPurge.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsPurge.json
similarity index 100%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01/examples/ComponentsPurge.json
rename to specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsPurge.json
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01/examples/ComponentsPurgeStatus.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsPurgeStatus.json
similarity index 100%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01/examples/ComponentsPurgeStatus.json
rename to specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsPurgeStatus.json
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01/examples/ComponentsUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsUpdate.json
similarity index 100%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01/examples/ComponentsUpdate.json
rename to specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsUpdate.json
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01/examples/ComponentsUpdateTagsOnly.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsUpdateTagsOnly.json
similarity index 100%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01/examples/ComponentsUpdateTagsOnly.json
rename to specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ComponentsUpdateTagsOnly.json
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01/examples/ProactiveDetectionConfigurationGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ProactiveDetectionConfigurationGet.json
similarity index 100%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01/examples/ProactiveDetectionConfigurationGet.json
rename to specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ProactiveDetectionConfigurationGet.json
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01/examples/ProactiveDetectionConfigurationUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ProactiveDetectionConfigurationUpdate.json
similarity index 100%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01/examples/ProactiveDetectionConfigurationUpdate.json
rename to specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ProactiveDetectionConfigurationUpdate.json
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01/examples/ProactiveDetectionConfigurationsList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ProactiveDetectionConfigurationsList.json
similarity index 100%
rename from specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01/examples/ProactiveDetectionConfigurationsList.json
rename to specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/examples/ProactiveDetectionConfigurationsList.json
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-10-preview/WebTestResults_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-10-preview/WebTestResults_API.json
new file mode 100644
index 000000000000..7bcea7f72ba3
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-10-preview/WebTestResults_API.json
@@ -0,0 +1,294 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApplicationInsightsManagementClient",
+ "description": "Azure Application Insights client for web test results.",
+ "version": "2020-02-10-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"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/webtests/{webTestName}/getTestResultFile": {
+ "post": {
+ "tags": [
+ "WebTests_GetTestResultFile"
+ ],
+ "operationId": "getTestResultFile",
+ "description": "Returns a file test result for the matching test",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/WebTestNameParameter"
+ },
+ {
+ "$ref": "#/parameters/GeolocationIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TimeStampParameter"
+ },
+ {
+ "$ref": "#/parameters/DownloadAsParameter"
+ },
+ {
+ "$ref": "#/parameters/TestSuccessfulCriteriaParameter"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TestResultFileResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Example Get call:": {
+ "$ref": "./examples/WebTestResultsTestResultFile.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ErrorResponse": {
+ "description": "Describes the format of Error response.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ }
+ },
+ "TestResultFileResponse": {
+ "description": "Test result.",
+ "type": "object",
+ "properties": {
+ "data": {
+ "description": "File contents.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next section of the result file in the event the file is too large for a single request.",
+ "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"
+ }
+ },
+ "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": {
+ "WebTestNameParameter": {
+ "name": "webTestName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Application Insights webtest resource.",
+ "x-ms-parameter-location": "method"
+ },
+ "GeolocationIdParameter": {
+ "name": "geoLocationId",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The location ID where the webtest was physically run.",
+ "x-ms-parameter-location": "method"
+ },
+ "TimeStampParameter": {
+ "name": "timeStamp",
+ "in": "query",
+ "required": true,
+ "type": "integer",
+ "format": "int64",
+ "description": "The posix (epoch) time stamp for the webtest result.",
+ "x-ms-parameter-location": "method"
+ },
+ "DownloadAsParameter": {
+ "name": "downloadAs",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "WebTestResult",
+ "Json"
+ ],
+ "x-ms-enum": {
+ "name": "downloadAs",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "WebTestResult",
+ "description": "Returned file will be in visual studio webtestresult file format."
+ },
+ {
+ "value": "Json",
+ "description": "Returned file will be in json file format."
+ }
+ ]
+ },
+ "description": "The format to use when returning the webtest result.",
+ "x-ms-parameter-location": "method"
+ },
+ "TestSuccessfulCriteriaParameter": {
+ "name": "testSuccessfulCriteria",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "The success state criteria for the webtest result.",
+ "x-ms-parameter-location": "method"
+ },
+ "ContinuationTokenParameter": {
+ "name": "continuationToken",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The continuation token.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-10-preview/examples/Operations_List.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-10-preview/examples/Operations_List.json
new file mode 100644
index 000000000000..583aa46d8850
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-10-preview/examples/Operations_List.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2020-02-10-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "microsoft.insights/webtests/gettestresultfile",
+ "display": {
+ "provider": "Microsoft Container Instance",
+ "resource": "webtests",
+ "operation": "Get test results file",
+ "description": "Get the requested webtest result"
+ },
+ "origin": "User"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-10-preview/examples/WebTestResultsTestResultFile.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-10-preview/examples/WebTestResultsTestResultFile.json
new file mode 100644
index 000000000000..31dc3c9e7a99
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-10-preview/examples/WebTestResultsTestResultFile.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2020-02-10-preview",
+ "subscriptionId": "123subid",
+ "resourceGroupName": "myresourcegroup",
+ "webTestName": "my-test-name",
+ "geoLocationId": "brs",
+ "timeStamp": 1566819054,
+ "downloadAs": "WebTestResult",
+ "testSuccessfulCriteria": true,
+ "continuationToken": "0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "data": "xxxxxxxxxx",
+ "nextLink": "https://management.azure.com/subscriptions/123subid/resourcegroups/myresourcegroup/providers/microsoft.insights/webtests/my-test-name/testresultfile?geoLocationId=brs×tamp=1566823240&downloadAs=webtestresult&testSuccessfulCriteria=true&continuationToken=10&api-version=2020-10-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/readme.md b/specification/applicationinsights/resource-manager/readme.md
index edd696d4bbc1..b01e064aecde 100644
--- a/specification/applicationinsights/resource-manager/readme.md
+++ b/specification/applicationinsights/resource-manager/readme.md
@@ -4,10 +4,10 @@
This is the AutoRest configuration file for ApplicationInsights.
-
-
---
+
## Getting Started
+
To build the SDK for ApplicationInsights, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
> `autorest`
@@ -15,6 +15,7 @@ To build the SDK for ApplicationInsights, simply [Install AutoRest](https://aka.
To see additional help and options, run:
> `autorest --help`
+
---
## Configuration
@@ -27,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-2015-05
+tag: package-preview-2020-02
```
## Suppression
@@ -237,6 +238,15 @@ directive:
reason: There are a bug in this rule. "ExportConfigurations_Create" is a valid operation id.
```
+
+### Tag: package-preview-2020-02
+
+These settings apply only when `--tag=package-preview-2020-02` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2020-02'
+input-file:
+ - Microsoft.Insights/preview/2020-02-10-preview/WebTestResults_API.json
+```
### Tag: package-2015-05
These settings apply only when `--tag=package-2015-05` is specified on the command line.
@@ -281,7 +291,7 @@ input-file:
These settings apply only when `--tag=package-2019-10-17-preview` is specified on the command line.
-```yaml $(tag) == 'package-2019-10-17-preview'
+``` yaml $(tag) == 'package-2019-10-17-preview'
input-file:
- Microsoft.Insights/preview/2019-10-17-preview/workbookTemplates_API.json
```
@@ -292,8 +302,8 @@ These settings apply only when `--tag=package-2018-05-01-preview` is specified o
``` yaml $(tag) == 'package-2018-05-01-preview'
input-file:
-- Microsoft.Insights/preview/2018-05-01/componentProactiveDetection_API.json
-- Microsoft.Insights/preview/2018-05-01/components_API.json
+- Microsoft.Insights/preview/2018-05-01-preview/componentProactiveDetection_API.json
+- Microsoft.Insights/preview/2018-05-01-preview/components_API.json
```
### Tag: package-2019-09-01-preview
@@ -342,7 +352,7 @@ input-file:
- Microsoft.Insights/stable/2015-05-01/webTests_API.json
- Microsoft.Insights/stable/2015-05-01/analyticsItems_API.json
- Microsoft.Insights/stable/2015-05-01/workbooks_API.json
-- Microsoft.Insights/preview/2018-05-01/components_API.json
+- Microsoft.Insights/preview/2018-05-01-preview/components_API.json
- Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json
```
@@ -445,6 +455,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.Insights/preview/2020-02-10-preview/WebTestResults_API.json
- $(this-folder)/Microsoft.Insights/stable/2015-05-01/aiOperations_API.json
- $(this-folder)/Microsoft.Insights/stable/2015-05-01/componentAnnotations_API.json
- $(this-folder)/Microsoft.Insights/stable/2015-05-01/componentApiKeys_API.json
@@ -462,8 +473,8 @@ input-file:
- $(this-folder)/Microsoft.Insights/preview/2017-10-01/componentFeaturesAndPricing_API.json
- $(this-folder)/Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json
- $(this-folder)/Microsoft.Insights/preview/2019-10-17-preview/workbookTemplates_API.json
- - $(this-folder)/Microsoft.Insights/preview/2018-05-01/componentProactiveDetection_API.json
- - $(this-folder)/Microsoft.Insights/preview/2018-05-01/components_API.json
+ - $(this-folder)/Microsoft.Insights/preview/2018-05-01-preview/componentProactiveDetection_API.json
+ - $(this-folder)/Microsoft.Insights/preview/2018-05-01-preview/components_API.json
- $(this-folder)/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json
- $(this-folder)/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json
- $(this-folder)/Microsoft.Insights/preview/2020-02-02-preview/components_API.json
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..0e2bb009dc76 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,28 @@
}
}
},
+ "Sku": {
+ "description": "Sku of Azure Spring Cloud",
+ "required": [
+ "name"
+ ],
+ "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",
@@ -3403,6 +3467,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/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/readme.cli.md b/specification/attestation/resource-manager/readme.cli.md
index c1990d90a9d8..539d9cf67e00 100644
--- a/specification/attestation/resource-manager/readme.cli.md
+++ b/specification/attestation/resource-manager/readme.cli.md
@@ -7,11 +7,12 @@ cli:
cli-name: attestation
package-name: azure-mgmt-attestation
namespace: azure.mgmt.attestation
- test-setup:
- - name: Operations_List
- - name: AttestationProviders_Create
- - name: AttestationProviders_Get
- - name: AttestationProviders_List
- - name: AttestationProviders_ListByResourceGroup
- - name: AttestationProviders_Delete
+ test-scenario:
+ - name: /AttestationProviders/put/AttestationProviders_Create
+ - name: /AttestationProviders/get/AttestationProviders_Get
+ - name: /AttestationProviders/get/AttestationProviders_ListByResourceGroup
+ - name: /AttestationProviders/get/AttestationProviders_List
+ - name: /Operations/get/Operations_List
+ - name: /AttestationProviders/patch/AttestationProviders_Update
+ - name: /AttestationProviders/delete/AttestationProviders_Delete
```
diff --git a/specification/azsadmin/resource-manager/commerce/Microsoft.Commerce.Admin/preview/2015-06-01-preview/Commerce.json b/specification/azsadmin/resource-manager/commerce/Microsoft.Commerce.Admin/preview/2015-06-01-preview/Commerce.json
index c34915e2be14..890c3b5b8fda 100644
--- a/specification/azsadmin/resource-manager/commerce/Microsoft.Commerce.Admin/preview/2015-06-01-preview/Commerce.json
+++ b/specification/azsadmin/resource-manager/commerce/Microsoft.Commerce.Admin/preview/2015-06-01-preview/Commerce.json
@@ -198,7 +198,8 @@
},
"quantity": {
"description": "The amount of the resource consumption that occurred in this time frame.",
- "type": "string"
+ "type": "number",
+ "format": "double"
},
"meterId": {
"description": "Unique ID for the resource that was consumed, for example, the Resource ID.",
diff --git a/specification/azsadmin/resource-manager/commerce/readme.azsautogen.md b/specification/azsadmin/resource-manager/commerce/readme.azsautogen.md
new file mode 100644
index 000000000000..77f54f1348bb
--- /dev/null
+++ b/specification/azsadmin/resource-manager/commerce/readme.azsautogen.md
@@ -0,0 +1,8 @@
+# AutoRest v3 generators
+
+> see https://aka.ms/autorest
+
+``` yaml
+input-file:
+ - Microsoft.Commerce.Admin/preview/2015-06-01-preview/Commerce.json
+```
diff --git a/specification/azsadmin/resource-manager/commerce/readme.md b/specification/azsadmin/resource-manager/commerce/readme.md
index 1676a911714f..7e36302807ea 100644
--- a/specification/azsadmin/resource-manager/commerce/readme.md
+++ b/specification/azsadmin/resource-manager/commerce/readme.md
@@ -84,4 +84,3 @@ uncomment the `exclude-file` section below and add the file paths.
#exclude-file:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
-
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageAccounts/Undelete.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageAccounts/Undelete.json
index c4a30491f691..51713d045a6f 100644
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageAccounts/Undelete.json
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageAccounts/Undelete.json
@@ -7,11 +7,7 @@
"summary": "false"
},
"responses": {
- "200": {
- "body": {
- "accountId": "80d458ce4ecd47888b54aaa277800748"
- }
- },
+ "200": {},
"202": {}
}
}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/settings.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/settings.json
index 9f8a9e4bc325..626252ba8783 100644
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/settings.json
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/settings.json
@@ -121,8 +121,7 @@
"properties": {
"description": "Properties of the storage account.",
"x-ms-client-flatten": true,
- "$ref": "#/definitions/SettingProperties",
- "readOnly": true
+ "$ref": "#/definitions/SettingProperties"
}
},
"allOf": [
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/storage.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/storage.json
index 7f09a86f4239..bd30cc8babdf 100644
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/storage.json
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/storage.json
@@ -91,7 +91,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.Storage.Admin/storageServices": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Storage.Admin/storageServices": {
"get": {
"x-ms-examples": {
"Returns the storage services list under the specified resource group and subscription.": {
@@ -166,7 +166,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.Storage.Admin/storageServices/{serviceName}": {
+ "/subscriptions/{subscriptionId}resourceGroups/{resourceGroup}/providers/Microsoft.Storage.Admin/storageServices/{serviceName}": {
"get": {
"x-ms-examples": {
"Returns the specified storage service.": {
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/storageaccounts.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/storageaccounts.json
index ec8df91cef15..93288e309e6d 100644
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/storageaccounts.json
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/storageaccounts.json
@@ -137,10 +137,7 @@
],
"responses": {
"200": {
- "description": "OK -- Undelete either has been performed or account was not deleted.",
- "schema": {
- "$ref": "#/definitions/UndeleteStorageAccount"
- }
+ "description": "OK -- Undelete either has been performed or account was not deleted."
},
"202": {
"description": "Accepted -- undelete operation trigged; operation will complete asynchronously."
@@ -195,7 +192,10 @@
}
}
},
- "x-ms-long-running-operation": true
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
}
}
},
@@ -377,6 +377,7 @@
},
"primaryEndpoints": {
"description": "The URLs that are used to perform a retrieval of a public BLOB, queue, or table object.",
+ "type": "object",
"additionalProperties": {
"type": "string"
},
@@ -543,7 +544,8 @@
"in": "query",
"required": false,
"type": "boolean",
- "x-ms-parameter-location": "method"
+ "x-ms-parameter-location": "method",
+ "default": false
},
"FilterParameter": {
"description": "Filter string",
diff --git a/specification/azsadmin/resource-manager/storage/readme.azsautogen.md b/specification/azsadmin/resource-manager/storage/readme.azsautogen.md
new file mode 100644
index 000000000000..d6a523515d44
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/readme.azsautogen.md
@@ -0,0 +1,55 @@
+# Storage Admin
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Storage Admin.
+
+---
+## Getting Started
+To build the SDK for Storage 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 Storage API.
+
+``` yaml
+title: StorageAdminClient
+description: Storage Admin Client
+openapi-type: arm
+tag: package-2019-08-08
+```
+
+``` yaml
+input-file:
+ - $(this-folder)/Microsoft.Storage.Admin/preview/2019-08-08/storageaccounts.json
+ - $(this-folder)/Microsoft.Storage.Admin/preview/2019-08-08/quotas.json
+ - $(this-folder)/Microsoft.Storage.Admin/preview/2019-08-08/settings.json
+ - $(this-folder)/Microsoft.Storage.Admin/preview/2019-08-08/storage.json
+ - $(this-folder)/Microsoft.Storage.Admin/preview/2019-08-08/acquisitions.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.Storage.Admin
+ payload-flattening-threshold: 1
+ output-folder: $(csharp-sdks-folder)/Generated
+ clear-output-folder: true
+```
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/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/examples/AzureADPrivateLinkPolicyCreate.json b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/examples/AzureADPrivateLinkPolicyCreate.json
new file mode 100644
index 000000000000..57e47eddbf87
--- /dev/null
+++ b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/examples/AzureADPrivateLinkPolicyCreate.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "policyName": "ddb1",
+ "api-version": "2020-03-01-preview",
+ "privateLinkPolicy": {
+ "name": "myOrgPrivateLinkPolicy",
+ "allTenants": false,
+ "ownerTenantId": "950f8bca-bf4d-4a41-ad10-034e792a243d",
+ "tenants": [
+ "3616657d-1c80-41ae-9d83-2a2776f2c9be",
+ "727b6ef1-18ab-4627-ac95-3f9cd945ed87"
+ ],
+ "resourceName": "myOrgVnetPrivateLink",
+ "subscriptionId": "57849194-ea1f-470b-abda-d195b25634c1",
+ "resourceGroup": "myOrgVnetRG"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myOrgPrivateLinkPolicy",
+ "ownerTenantId": "950f8bca-bf4d-4a41-ad10-034e792a243d",
+ "allTenants": false,
+ "tenants": [
+ "3616657d-1c80-41ae-9d83-2a2776f2c9be",
+ "727b6ef1-18ab-4627-ac95-3f9cd945ed87"
+ ],
+ "resourceName": "myOrgVnetPrivateLink",
+ "subscriptionId": "57849194-ea1f-470b-abda-d195b25634c1",
+ "resourceGroup": "myOrgVnetRG"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "myOrgPrivateLinkPolicy",
+ "ownerTenantId": "950f8bca-bf4d-4a41-ad10-034e792a243d",
+ "allTenants": false,
+ "tenants": [
+ "3616657d-1c80-41ae-9d83-2a2776f2c9be",
+ "727b6ef1-18ab-4627-ac95-3f9cd945ed87"
+ ],
+ "resourceName": "myOrgVnetPrivateLink",
+ "subscriptionId": "57849194-ea1f-470b-abda-d195b25634c1",
+ "resourceGroup": "myOrgVnetRG"
+ }
+ }
+ }
+}
diff --git a/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/examples/AzureADPrivateLinkPolicyDelete.json b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/examples/AzureADPrivateLinkPolicyDelete.json
new file mode 100644
index 000000000000..a67dbec84476
--- /dev/null
+++ b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/examples/AzureADPrivateLinkPolicyDelete.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "policyName": "ddb1",
+ "api-version": "2020-03-01-preview",
+ "privateLinkPolicy": {
+ "name": "myOrgPrivateLinkPolicy",
+ "ownerTenantId": "950f8bca-bf4d-4a41-ad10-034e792a243d",
+ "allTenants": false,
+ "tenants": [
+ "3616657d-1c80-41ae-9d83-2a2776f2c9be",
+ "727b6ef1-18ab-4627-ac95-3f9cd945ed87"
+ ],
+ "resourceName": "myOrgVnetPrivateLink",
+ "subscriptionId": "57849194-ea1f-470b-abda-d195b25634c1",
+ "resourceGroup": "myOrgVnetRG"
+ }
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/examples/AzureADPrivateLinkPolicyGet.json b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/examples/AzureADPrivateLinkPolicyGet.json
new file mode 100644
index 000000000000..8dbe8dcf0e61
--- /dev/null
+++ b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/examples/AzureADPrivateLinkPolicyGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "policyName": "ddb1",
+ "api-version": "2020-03-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myOrgPrivateLinkPolicy",
+ "ownerTenantId": "950f8bca-bf4d-4a41-ad10-034e792a243d",
+ "allTenants": false,
+ "tenants": [
+ "3616657d-1c80-41ae-9d83-2a2776f2c9be",
+ "727b6ef1-18ab-4627-ac95-3f9cd945ed87"
+ ],
+ "resourceName": "myOrgVnetPrivateLink",
+ "subscriptionId": "57849194-ea1f-470b-abda-d195b25634c1",
+ "resourceGroup": "myOrgVnetRG"
+ }
+ }
+ }
+}
diff --git a/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/examples/AzureADPrivateLinkPolicyList.json b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/examples/AzureADPrivateLinkPolicyList.json
new file mode 100644
index 000000000000..da9771decce0
--- /dev/null
+++ b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/examples/AzureADPrivateLinkPolicyList.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-03-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "myOrgPrivateLinkPolicy",
+ "ownerTenantId": "950f8bca-bf4d-4a41-ad10-034e792a243d",
+ "tenants": [
+ "3616657d-1c80-41ae-9d83-2a2776f2c9be",
+ "727b6ef1-18ab-4627-ac95-3f9cd945ed87"
+ ],
+ "resourceName": "myOrgVnetPrivateLink",
+ "subscriptionId": "57849194-ea1f-470b-abda-d195b25634c1",
+ "resourceGroup": "myOrgVnetRG"
+ }
+ ],
+ "nextLink": "null"
+ }
+ }
+ }
+}
diff --git a/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/examples/AzureADPrivateLinkPolicyListBySubscription.json b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/examples/AzureADPrivateLinkPolicyListBySubscription.json
new file mode 100644
index 000000000000..4fb0b868ed83
--- /dev/null
+++ b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/examples/AzureADPrivateLinkPolicyListBySubscription.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "api-version": "2020-03-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "myOrgPrivateLinkPolicy",
+ "ownerTenantId": "950f8bca-bf4d-4a41-ad10-034e792a243d",
+ "allTenants": false,
+ "tenants": [
+ "3616657d-1c80-41ae-9d83-2a2776f2c9be",
+ "727b6ef1-18ab-4627-ac95-3f9cd945ed87"
+ ],
+ "resourceName": "myOrgVnetPrivateLink",
+ "subscriptionId": "57849194-ea1f-470b-abda-d195b25634c1",
+ "resourceGroup": "myOrgVnetRG"
+ }
+ ],
+ "nextLink": "null"
+ }
+ }
+ }
+}
diff --git a/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/examples/AzureADPrivateLinkPolicyMinCreate.json b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/examples/AzureADPrivateLinkPolicyMinCreate.json
new file mode 100644
index 000000000000..75a8b97c04e2
--- /dev/null
+++ b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/examples/AzureADPrivateLinkPolicyMinCreate.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "policyName": "ddb1",
+ "api-version": "2020-03-01-preview",
+ "privateLinkPolicy": {
+ "name": "myOrgPrivateLinkPolicy",
+ "ownerTenantId": "950f8bca-bf4d-4a41-ad10-034e792a243d",
+ "allTenants": false,
+ "tenants": [
+ "3616657d-1c80-41ae-9d83-2a2776f2c9be",
+ "727b6ef1-18ab-4627-ac95-3f9cd945ed87"
+ ],
+ "resourceName": "myOrgVnetPrivateLink",
+ "subscriptionId": "57849194-ea1f-470b-abda-d195b25634c1",
+ "resourceGroup": "myOrgVnetRG"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myOrgPrivateLinkPolicy",
+ "ownerTenantId": "950f8bca-bf4d-4a41-ad10-034e792a243d",
+ "allTenants": false,
+ "tenants": [
+ "3616657d-1c80-41ae-9d83-2a2776f2c9be",
+ "727b6ef1-18ab-4627-ac95-3f9cd945ed87"
+ ],
+ "resourceName": "myOrgVnetPrivateLink",
+ "subscriptionId": "57849194-ea1f-470b-abda-d195b25634c1",
+ "resourceGroup": "myOrgVnetRG"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "myOrgPrivateLinkPolicy",
+ "ownerTenantId": "950f8bca-bf4d-4a41-ad10-034e792a243d",
+ "allTenants": false,
+ "tenants": [
+ "3616657d-1c80-41ae-9d83-2a2776f2c9be",
+ "727b6ef1-18ab-4627-ac95-3f9cd945ed87"
+ ],
+ "resourceName": "myOrgVnetPrivateLink",
+ "subscriptionId": "57849194-ea1f-470b-abda-d195b25634c1",
+ "resourceGroup": "myOrgVnetRG"
+ }
+ }
+ }
+}
diff --git a/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/examples/AzureADPrivateLinkPolicyUpdate.json b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/examples/AzureADPrivateLinkPolicyUpdate.json
new file mode 100644
index 000000000000..5902885602af
--- /dev/null
+++ b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/examples/AzureADPrivateLinkPolicyUpdate.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "policyName": "ddb1",
+ "api-version": "2020-03-01-preview",
+ "privateLinkPolicy": {
+ "tags": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myOrgPrivateLinkPolicy",
+ "ownerTenantId": "950f8bca-bf4d-4a41-ad10-034e792a243d",
+ "allTenants": false,
+ "tenants": [
+ "3616657d-1c80-41ae-9d83-2a2776f2c9be",
+ "727b6ef1-18ab-4627-ac95-3f9cd945ed87"
+ ],
+ "resourceName": "myOrgVnetPrivateLink",
+ "subscriptionId": "57849194-ea1f-470b-abda-d195b25634c1",
+ "resourceGroup": "myOrgVnetRG",
+ "tags": {}
+ }
+ }
+ }
+}
diff --git a/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/examples/AzureADPrivateLinkResourceGet.json b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/examples/AzureADPrivateLinkResourceGet.json
new file mode 100644
index 000000000000..31fbcdc073ef
--- /dev/null
+++ b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/examples/AzureADPrivateLinkResourceGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "policyName": "ddb1",
+ "groupName": "azureactivedirectory",
+ "api-version": "2020-03-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/microsoft.aadiam/privateLinkForAzureAD/ddb1/privateLinkResources/azureactivedirectory",
+ "name": "azureactivedirectory",
+ "type": "microsoft.aadiam/privateLinkforAzureAD/privateLinkResources",
+ "properties": {
+ "groupId": "azureactivedirectory",
+ "requiredMembers": [
+ "authentication",
+ "nonauthentication"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/examples/AzureADPrivateLinkResourceListGet.json b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/examples/AzureADPrivateLinkResourceListGet.json
new file mode 100644
index 000000000000..60fe21893e83
--- /dev/null
+++ b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/examples/AzureADPrivateLinkResourceListGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "policyName": "ddb1",
+ "api-version": "2020-03-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/microsoft.aadiam/privateLinkForAzureAD/ddb1/privateLinkResources/azureactivedirectory",
+ "name": "azureactivedirectory",
+ "type": "microsoft.aadiam/privateLinkforAzureAD/privateLinkResources",
+ "properties": {
+ "groupId": "azureactivedirectory",
+ "requiredMembers": [
+ "authentication",
+ "nonauthentication"
+ ]
+ }
+ }
+ ],
+ "nextLink": "null"
+ }
+ }
+ }
+}
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
new file mode 100644
index 000000000000..beda20b39188
--- /dev/null
+++ b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkForAzureAD.json
@@ -0,0 +1,480 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-03-01-preview",
+ "title": "azureactivedirectory",
+ "description": "Private link Policy 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/privateLinkForAzureAd/{policyName}": {
+ "put": {
+ "tags": [
+ "privateLinkForAzureAd"
+ ],
+ "operationId": "privateLinkForAzureAd_Create",
+ "x-ms-long-running-operation": true,
+ "description": "Creates a private link policy.",
+ "x-ms-examples": {
+ "privateLinkPolicyCreate": {
+ "$ref": "./examples/AzureADPrivateLinkPolicyCreate.json"
+ },
+ "privateLinkPolicyMinCreate": {
+ "$ref": "./examples/AzureADPrivateLinkPolicyMinCreate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/policyNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "privateLinkPolicy",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/privateLinkPolicy"
+ },
+ "description": "private link Policy supplied to the operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Created -- Private Link Policy created.",
+ "schema": {
+ "$ref": "#/definitions/privateLinkPolicy"
+ }
+ },
+ "201": {
+ "description": "OK -- Private Link Policy is updated.",
+ "schema": {
+ "$ref": "#/definitions/privateLinkPolicy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "privateLinkForAzureAd"
+ ],
+ "operationId": "privateLinkForAzureAd_Update",
+ "description": "Updates private link policy tags with specified values.",
+ "x-ms-examples": {
+ "privateLinkPolicyUpdate": {
+ "$ref": "./examples/AzureADPrivateLinkPolicyUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/policyNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "privateLinkPolicy",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/privateLinkPolicyUpdateParameter"
+ },
+ "description": "Private Link Policy resource with the tags to be updated."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Private Link Policy tags are updated.",
+ "schema": {
+ "$ref": "#/definitions/privateLinkPolicy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "privateLinkForAzureAd"
+ ],
+ "operationId": "privateLinkForAzureAd_Get",
+ "description": "Gets a private link policy with a given name.",
+ "x-ms-examples": {
+ "privateLinkPolicyGet": {
+ "$ref": "./examples/AzureADPrivateLinkPolicyGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/policyNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Returns information about the private link policy.",
+ "schema": {
+ "$ref": "#/definitions/privateLinkPolicy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "privateLinkForAzureAd"
+ ],
+ "operationId": "privateLinkForAzureAd_Delete",
+ "description": "Deletes a private link policy. When operation completes, status code 200 returned without content.",
+ "x-ms-examples": {
+ "privateLinkPolicyDelete": {
+ "$ref": "./examples/AzureADPrivateLinkPolicyDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/policyNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- private link policy deleted."
+ },
+ "204": {
+ "description": "private link policy does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/microsoft.aadiam/privateLinkForAzureAd": {
+ "get": {
+ "tags": [
+ "privateLinkForAzureAd"
+ ],
+ "operationId": "privateLinkForAzureAd_ListBySubscription",
+ "description": "Lists all Private Link Policies For AzureAD in the given subscription.",
+ "x-ms-examples": {
+ "privateLinkPolicyListBySubscription": {
+ "$ref": "./examples/AzureADPrivateLinkPolicyListBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Returns a list of private link policies.",
+ "schema": {
+ "$ref": "#/definitions/privateLinkPolicyListResult"
+ }
+ },
+ "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/privateLinkForAzureAd": {
+ "get": {
+ "tags": [
+ "privateLinkForAzureAd"
+ ],
+ "operationId": "privateLinkForAzureAd_List",
+ "x-ms-examples": {
+ "privateLinkPolicyGetList": {
+ "$ref": "./examples/AzureADPrivateLinkPolicyList.json"
+ }
+ },
+ "description": "Operation to return the list of Private Link Policies For AzureAD scoped to the resourceGroup.",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request to get list of Private Links configuration objects For AzureAD.",
+ "schema": {
+ "$ref": "#/definitions/privateLinkPolicyListResult"
+ }
+ },
+ "default": {
+ "description": "Error, failed to get list of Private Links For AzureAD.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "privateLinkPolicyListResult": {
+ "description": "A list of private link policies",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private link policies",
+ "items": {
+ "$ref": "#/definitions/privateLinkPolicy"
+ }
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of operations.",
+ "type": "string"
+ }
+ }
+ },
+ "privateLinkPolicy": {
+ "description": "PrivateLink Policy configuration object.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the Private Link Azure AD Policy.",
+ "type": "string"
+ },
+ "ownerTenantId": {
+ "description": "Guid of the owner tenant",
+ "type": "string"
+ },
+ "allTenants": {
+ "description": "Flag indicating whether all tenants are allowed",
+ "type": "boolean"
+ },
+ "tenants": {
+ "description": "The list of tenantIds.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "resourceName": {
+ "description": "Name of the private link policy resource",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "Subscription Identifier",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "Name of the resource group",
+ "type": "string"
+ },
+ "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": false,
+ "type": "string",
+ "description": "Name of this resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of this resource."
+ }
+ }
+ },
+ "privateLinkPolicyUpdateParameter": {
+ "type": "object",
+ "description": "private Link policy 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": {
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Azure subscription ID.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client"
+ },
+ "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."
+ },
+ "policyNameParameter": {
+ "name": "policyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "name of the private link policy."
+ }
+ }
+}
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
new file mode 100644
index 000000000000..a5cb5c0cab09
--- /dev/null
+++ b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkResources.json
@@ -0,0 +1,267 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2017-04-01",
+ "title": "azureactivedirectory",
+ "description": "Azure Active Directory Client."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.aadiam/privateLinkForAzureAd/{policyName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "description": "Gets the private link resources that need to be created for a policy of AzureAD.",
+ "operationId": "PrivateLinkResources_ListByPrivateLinkPolicy",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/policyNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved private link resources.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourceListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets private endpoint connection.": {
+ "$ref": "./examples/AzureADPrivateLinkResourceListGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.aadiam/privateLinkForAzureAd/{policyName}/privateLinkResources/{groupName}": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "description": "Gets the private link resources that need to be created for a policy of AzureAD.",
+ "operationId": "PrivateLinkResources_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/policyNameParameter"
+ },
+ {
+ "$ref": "#/parameters/groupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved a specified private link resource.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets private endpoint connection.": {
+ "$ref": "./examples/AzureADPrivateLinkResourceGet.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "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
+ }
+ }
+ },
+ "PrivateLinkResourceListResult": {
+ "description": "A list of private link resources",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private link resources",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of operations.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkResource": {
+ "description": "A private link resource",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMProxyResource"
+ }
+ ]
+ },
+ "PrivateLinkResourceProperties": {
+ "description": "Properties of a private link resource.",
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "description": "The private link resource group id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "requiredMembers": {
+ "description": "The private link resource required member names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "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 Azure AD PrivateLink Policy."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the Azure AD PrivateLink Policy."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of Azure resource."
+ }
+ },
+ "x-ms-azure-resource": true
+ }
+ },
+ "parameters": {
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Azure subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request."
+ },
+ "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."
+ },
+ "groupNameParameter": {
+ "name": "groupName",
+ "in": "path",
+ "description": "The name of the private link resource.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "string"
+ },
+ "policyNameParameter": {
+ "name": "policyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private link policy name in Azure AD.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/azuredata.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/azuredata.json
index 85331f97bdb1..86241df72903 100644
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/azuredata.json
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/azuredata.json
@@ -856,6 +856,294 @@
}
}
},
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureData/sqlServerInstances": {
+ "get": {
+ "tags": [
+ "SqlServerInstances"
+ ],
+ "operationId": "SqlServerInstances_List",
+ "summary": "List sqlServerInstance resources in the subscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SqlServerInstanceListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 404 ResourceNotFound - The requested resource was not found.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all SQL Server Instance in a subscription.": {
+ "$ref": "./examples/ListSubscriptionSqlServerInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/sqlServerInstances": {
+ "get": {
+ "tags": [
+ "SqlServerInstances"
+ ],
+ "operationId": "SqlServerInstances_ListByResourceGroup",
+ "description": "Gets all sqlServerInstances in a resource group.",
+ "summary": "List sqlServerInstance resources in the resource group",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SqlServerInstanceListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all SQL Server Instance in a resource group.": {
+ "$ref": "./examples/ListByResourceGroupSqlServerInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/sqlServerInstances/{sqlServerInstanceName}": {
+ "get": {
+ "tags": [
+ "SqlServerInstances"
+ ],
+ "operationId": "SqlServerInstances_Get",
+ "description": "Retrieves a SQL Server Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlServerInstanceName",
+ "description": "Name of SQL Server Instance",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SqlServerInstance"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates a SQL Server Instance tags.": {
+ "$ref": "./examples/GetSqlServerInstance.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "SqlServerInstances"
+ ],
+ "operationId": "SqlServerInstances_Create",
+ "description": "Creates or replaces a SQL Server Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlServerInstanceName",
+ "description": "The name of SQL Server Instance",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The SQL Server Instance to be created or updated.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlServerInstance"
+ }
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SqlServerInstance"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/SqlServerInstance"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates a SQL Server Instance tags.": {
+ "$ref": "./examples/CreateOrUpdateSqlServerInstance.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "SqlServerInstances"
+ ],
+ "operationId": "SqlServerInstances_Delete",
+ "description": "Deletes a SQL Server Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlServerInstanceName",
+ "description": "The name of SQL Server Instance",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the SQL Server Instance."
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "204": {
+ "description": "The specified SQL Server Instance does not exist."
+ }
+ },
+ "x-ms-examples": {
+ "Delete a SQL Server Instance.": {
+ "$ref": "./examples/DeleteSqlServerInstance.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "SqlServerInstances"
+ ],
+ "operationId": "SqlServerInstances_Update",
+ "description": "Updates a SQL Server Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlServerInstanceName",
+ "description": "Name of sqlServerInstance",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The SQL Server Instance.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlServerInstanceUpdate"
+ }
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SqlServerInstance"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates a SQL Server Instance tags.": {
+ "$ref": "./examples/UpdateSqlServerInstance.json"
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/providers/Microsoft.AzureData/postgresInstances": {
"get": {
"tags": [
@@ -1984,6 +2272,97 @@
}
}
},
+ "SqlServerInstanceProperties": {
+ "description": "Properties of SqlServerInstance.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "type": "string",
+ "description": "SQL Server version."
+ },
+ "edition": {
+ "type": "string",
+ "description": "SQL Server edition."
+ },
+ "containerResourceId": {
+ "type": "string",
+ "description": "ARM Resource id of the container resource (Azure Arc for Servers)"
+ },
+ "createTime": {
+ "type": "string",
+ "description": "The time when the resource was created.",
+ "readOnly": true
+ },
+ "updateTime": {
+ "type": "string",
+ "description": "The time when the resource was last updated.",
+ "readOnly": true
+ },
+ "vCore": {
+ "type": "string",
+ "description": "The number of logical processors used by the SQL Server instance."
+ },
+ "status": {
+ "type": "string",
+ "description": "The cloud connectivity status."
+ }
+ },
+ "required": [
+ "version",
+ "edition",
+ "containerResourceId",
+ "vCore",
+ "status"
+ ]
+ },
+ "SqlServerInstance": {
+ "description": "A SqlServerInstance.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SqlServerInstanceProperties",
+ "description": "null",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "SqlServerInstanceUpdate": {
+ "description": "An update to a SQL Server Instance.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "SqlServerInstanceListResult": {
+ "description": "A list of SqlServerInstance.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SqlServerInstance"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
"HybridDataManagerProperties": {
"description": "Hybrid data manager properties",
"type": "object"
@@ -2184,6 +2563,14 @@
"type": "string",
"x-ms-parameter-location": "method"
},
+ "SqlServerInstanceNameParameter": {
+ "in": "path",
+ "name": "sqlServerInstanceName",
+ "description": "The name of the resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
"HybridDataManagerNameParameter": {
"in": "path",
"name": "hybridDataManagerName",
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlServerInstance.json
new file mode 100644
index 000000000000..fff63fffd1b8
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlServerInstance.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlServerInstanceName": "testsqlServerInstance",
+ "api-version": "2017-07-24",
+ "parameters": {
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "vCore": "4",
+ "status": "Connected"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "updateTime": "01/01/2020 01:01:01",
+ "vCore": "4",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlServerInstances/testsqlServerInstance",
+ "name": "testsqlServerInstance",
+ "type": "Microsoft.AzureData/SqlServerInstances"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "updateTime": "01/01/2020 01:01:01",
+ "vCore": "4",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlServerInstances/testsqlServerInstance",
+ "name": "testsqlServerInstance",
+ "type": "Microsoft.AzureData/SqlServerInstances"
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/DeleteSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/DeleteSqlServerInstance.json
new file mode 100644
index 000000000000..25be3d7479ed
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/DeleteSqlServerInstance.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlServerInstanceName": "testsqlServerInstance",
+ "api-version": "2017-07-24"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlServerInstance.json
new file mode 100644
index 000000000000..b45f1e0e3995
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlServerInstance.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlServerInstanceName": "testsqlServerInstance",
+ "api-version": "2017-07-24"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "updateTime": "01/01/2020 01:01:01",
+ "vCore": "4",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlServerInstances/testsqlServerInstance",
+ "name": "testsqlServerInstance",
+ "type": "Microsoft.AzureData/SqlServerInstances"
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlServerInstance.json
new file mode 100644
index 000000000000..67ea60097317
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlServerInstance.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "api-version": "2017-07-24"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "updateTime": "01/01/2020 01:01:01",
+ "vCore": "4",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlServerInstances/sqlServerInstance1",
+ "name": "sqlServerInstance1",
+ "type": "Microsoft.AzureData/SqlServerInstances"
+ },
+ {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "updateTime": "01/01/2020 01:01:01",
+ "vCore": "4",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlServerInstances/sqlServerInstance2",
+ "name": "sqlServerInstance2",
+ "type": "Microsoft.AzureData/SqlServerInstances"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlServerInstance.json
new file mode 100644
index 000000000000..9b8da63326af
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlServerInstance.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "api-version": "2017-07-24"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "updateTime": "01/01/2020 01:01:01",
+ "vCore": "4",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlServerInstances/sqlServerInstance1",
+ "name": "sqlServerInstance1",
+ "type": "Microsoft.AzureData/SqlServerInstances"
+ },
+ {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "updateTime": "01/01/2020 01:01:01",
+ "vCore": "4",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlServerInstances/sqlServerInstance2",
+ "name": "sqlServerInstance2",
+ "type": "Microsoft.AzureData/SqlServerInstances"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlServerInstance.json
new file mode 100644
index 000000000000..54206a23fdda
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlServerInstance.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlServerInstanceName": "testsqlServerInstance",
+ "api-version": "2017-07-24",
+ "parameters": {
+ "tags": {
+ "mytag": "myval"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "updateTime": "01/01/2020 01:01:01",
+ "vCore": "4",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlServerInstances/testsqlServerInstance",
+ "name": "testsqlServerInstance",
+ "type": "Microsoft.AzureData/SqlServerInstances"
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/readme.go.md b/specification/azuredata/resource-manager/readme.go.md
index dc83264ea194..154eac206330 100644
--- a/specification/azuredata/resource-manager/readme.go.md
+++ b/specification/azuredata/resource-manager/readme.go.md
@@ -6,14 +6,21 @@ These settings apply only when `--go` is specified on the command line.
go:
license-header: MICROSOFT_APACHE_NO_VERSION
clear-output-folder: true
+ namespace: azuredata
```
-### Tag: package-2019-07-24 and go
+### Go multi-api
-These settings apply only when `--tag=package-2019-07-24 --go` is specified on the command line.
-Please also specify `--go-sdks-folder=`.
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-preview-2019-07
+```
+
+### Tag: package-preview-2019-07 and go
+
+These settings apply only when `--tag=package-preview-2019-07 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
-```yaml $(tag) == 'package-2019-07-24' && $(go)
-namespace: Microsoft.AzureData
-output-folder: $(go-sdks-folder)/services/preview/$(namespace)/mgmt/2019-07-24-preview/$(namespace)
+```yaml $(tag) == 'package-preview-2019-07' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-07-24-preview/$(namespace)
```
\ No newline at end of file
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..1dfb09e8472b
--- /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 'Azure.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/blockchain/resource-manager/Microsoft.Blockchain/preview/2018-06-01-preview/examples/BlockchainMembers_Create.json b/specification/blockchain/resource-manager/Microsoft.Blockchain/preview/2018-06-01-preview/examples/BlockchainMembers_Create.json
index dc0b961b6ca7..9fcbc4debcd5 100644
--- a/specification/blockchain/resource-manager/Microsoft.Blockchain/preview/2018-06-01-preview/examples/BlockchainMembers_Create.json
+++ b/specification/blockchain/resource-manager/Microsoft.Blockchain/preview/2018-06-01-preview/examples/BlockchainMembers_Create.json
@@ -11,9 +11,9 @@
"capacity": 2
},
"protocol": "Quorum",
- "password": "$@123_34#&",
+ "password": "1234abcdEFG1",
"consortium": "ContoseConsortium",
- "consortiumManagementAccountPassword": "$@123_34#&"
+ "consortiumManagementAccountPassword": "1234abcdEFG1"
}
}
},
diff --git a/specification/blockchain/resource-manager/Microsoft.Blockchain/preview/2018-06-01-preview/examples/BlockchainMembers_Update.json b/specification/blockchain/resource-manager/Microsoft.Blockchain/preview/2018-06-01-preview/examples/BlockchainMembers_Update.json
index 0e5b08b2ba45..14f07b1e8bb6 100644
--- a/specification/blockchain/resource-manager/Microsoft.Blockchain/preview/2018-06-01-preview/examples/BlockchainMembers_Update.json
+++ b/specification/blockchain/resource-manager/Microsoft.Blockchain/preview/2018-06-01-preview/examples/BlockchainMembers_Update.json
@@ -6,8 +6,8 @@
"api-version": "2018-06-01-preview",
"blockchainMember": {
"properties": {
- "password": "$@123_34#&",
- "consortiumManagementAccountPassword": "$@123_34#&",
+ "password": "1234abcdEFG1",
+ "consortiumManagementAccountPassword": "1234abcdEFG1",
"firewallRules": null
},
"tags": null
diff --git a/specification/blockchain/resource-manager/Microsoft.Blockchain/preview/2018-06-01-preview/examples/TransactionNodes_Create.json b/specification/blockchain/resource-manager/Microsoft.Blockchain/preview/2018-06-01-preview/examples/TransactionNodes_Create.json
index c67f8c60f4f6..458faaa40e4d 100644
--- a/specification/blockchain/resource-manager/Microsoft.Blockchain/preview/2018-06-01-preview/examples/TransactionNodes_Create.json
+++ b/specification/blockchain/resource-manager/Microsoft.Blockchain/preview/2018-06-01-preview/examples/TransactionNodes_Create.json
@@ -8,7 +8,7 @@
"transactionNode": {
"location": "southeastasia",
"properties": {
- "password": "$@123_34#&"
+ "password": "1234abcdEFG1"
}
}
},
diff --git a/specification/blockchain/resource-manager/Microsoft.Blockchain/preview/2018-06-01-preview/examples/TransactionNodes_Update.json b/specification/blockchain/resource-manager/Microsoft.Blockchain/preview/2018-06-01-preview/examples/TransactionNodes_Update.json
index 4db7bf67ace2..4c336035493c 100644
--- a/specification/blockchain/resource-manager/Microsoft.Blockchain/preview/2018-06-01-preview/examples/TransactionNodes_Update.json
+++ b/specification/blockchain/resource-manager/Microsoft.Blockchain/preview/2018-06-01-preview/examples/TransactionNodes_Update.json
@@ -7,7 +7,7 @@
"api-version": "2018-06-01-preview",
"transactionNode": {
"properties": {
- "password": "$@123_34#&"
+ "password": "1234abcdEFG1"
}
}
},
diff --git a/specification/blockchain/resource-manager/readme.az.md b/specification/blockchain/resource-manager/readme.az.md
new file mode 100644
index 000000000000..a299cae2b674
--- /dev/null
+++ b/specification/blockchain/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: blockchain
+ namespace: azure.mgmt.blockchain
+ package-name: azure-mgmt-blockchain
+az-output-folder: $(azure-cli-extension-folder)/src/blockchain
+python-sdk-output-folder: "$(az-output-folder)/azext_blockchain/vendored_sdks/blockchain"
+```
diff --git a/specification/blockchain/resource-manager/readme.cli.md b/specification/blockchain/resource-manager/readme.cli.md
index 643f6a056659..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/blockchain/resource-manager/readme.python.md b/specification/blockchain/resource-manager/readme.python.md
index 5e36652a4068..50680aec44a9 100644
--- a/specification/blockchain/resource-manager/readme.python.md
+++ b/specification/blockchain/resource-manager/readme.python.md
@@ -5,7 +5,7 @@ Please also specify `--python-sdks-folder=.azureedge.net.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/EndpointProperties"
+ }
+ }
+ },
+ "EndpointProperties": {
+ "description": "The JSON object that contains the properties required to create an endpoint.",
+ "required": [
+ "origins"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/EndpointPropertiesUpdateParameters"
+ }
+ ],
+ "properties": {
+ "hostName": {
+ "description": "The host name of the endpoint structured as {endpointName}.{DNSZone}, e.g. contoso.azureedge.net",
+ "type": "string",
+ "readOnly": true
+ },
+ "origins": {
+ "description": "The source of the content being delivered via CDN.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeepCreatedOrigin"
+ }
+ },
+ "originGroups": {
+ "description": "The origin groups comprising of origins that are used for load balancing the traffic based on availability.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeepCreatedOriginGroup"
+ }
+ },
+ "resourceState": {
+ "description": "Resource status of the endpoint.",
+ "readOnly": true,
+ "enum": [
+ "Creating",
+ "Deleting",
+ "Running",
+ "Starting",
+ "Stopped",
+ "Stopping"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EndpointResourceState",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "description": "Provisioning status of the endpoint.",
+ "type": "string"
+ }
+ }
+ },
+ "EndpointListResult": {
+ "description": "Result of the request to list endpoints. It contains a list of endpoint objects and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Endpoint"
+ },
+ "description": "List of CDN endpoints within a profile"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of endpoint objects if there is any."
+ }
+ }
+ },
+ "EndpointUpdateParameters": {
+ "type": "object",
+ "description": "Properties required to create or update an endpoint.",
+ "properties": {
+ "tags": {
+ "description": "Endpoint tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/EndpointPropertiesUpdateParameters"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "EndpointPropertiesUpdateParameters": {
+ "description": "The JSON object containing endpoint update parameters.",
+ "properties": {
+ "originPath": {
+ "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.",
+ "type": "string"
+ },
+ "contentTypesToCompress": {
+ "description": "List of content types on which compression applies. The value should be a valid MIME type.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "originHostHeader": {
+ "description": "The host header value sent to the origin with each request. This property at Endpoint is only allowed when endpoint uses single origin and can be overridden by the same property specified at origin.If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.",
+ "type": "string"
+ },
+ "isCompressionEnabled": {
+ "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB.",
+ "type": "boolean"
+ },
+ "isHttpAllowed": {
+ "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.",
+ "type": "boolean"
+ },
+ "isHttpsAllowed": {
+ "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.",
+ "type": "boolean"
+ },
+ "queryStringCachingBehavior": {
+ "description": "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL.",
+ "$ref": "#/definitions/QueryStringCachingBehavior"
+ },
+ "optimizationType": {
+ "description": "Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization.",
+ "$ref": "#/definitions/OptimizationType"
+ },
+ "probePath": {
+ "description": "Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the most optimal routes for the CDN. This is relative to the origin path. This property is only relevant when using a single origin.",
+ "type": "string"
+ },
+ "geoFilters": {
+ "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GeoFilter"
+ }
+ },
+ "defaultOriginGroup": {
+ "description": "A reference to the origin group.",
+ "type": "object",
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "urlSigningKeys": {
+ "description": "List of keys used to validate the signed URL hashes.",
+ "type": "array",
+ "$ref": "#/definitions/UrlSigningKey"
+ },
+ "deliveryPolicy": {
+ "description": "A policy that specifies the delivery rules to be used for an endpoint.",
+ "type": "object",
+ "required": [
+ "rules"
+ ],
+ "properties": {
+ "description": {
+ "description": "User-friendly description of the policy.",
+ "type": "string"
+ },
+ "rules": {
+ "description": "A list of the delivery rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeliveryRule"
+ }
+ }
+ }
+ },
+ "webApplicationFirewallPolicyLink": {
+ "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource ID."
+ }
+ }
+ }
+ }
+ },
+ "DeliveryRule": {
+ "description": "A rule that specifies a set of actions and conditions",
+ "type": "object",
+ "required": [
+ "order",
+ "actions"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name of the rule",
+ "type": "string"
+ },
+ "order": {
+ "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.",
+ "type": "integer"
+ },
+ "conditions": {
+ "description": "A list of conditions that must be matched for the actions to be executed",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ },
+ "actions": {
+ "description": "A list of actions that are executed when all the conditions of a rule are satisfied.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeliveryRuleAction"
+ }
+ }
+ }
+ },
+ "DeliveryRuleCondition": {
+ "description": "A condition for the delivery rule.",
+ "discriminator": "name",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "The name of the condition for the delivery rule.",
+ "type": "string",
+ "enum": [
+ "RemoteAddress",
+ "RequestMethod",
+ "QueryString",
+ "PostArgs",
+ "RequestUri",
+ "RequestHeader",
+ "RequestBody",
+ "RequestScheme",
+ "UrlPath",
+ "UrlFileExtension",
+ "UrlFileName",
+ "HttpVersion",
+ "Cookies",
+ "IsDevice"
+ ],
+ "x-ms-enum": {
+ "name": "MatchVariable",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "DeliveryRuleRemoteAddressCondition": {
+ "description": "Defines the RemoteAddress condition for the delivery rule.",
+ "x-ms-discriminator-value": "RemoteAddress",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/RemoteAddressMatchConditionParameters"
+ }
+ }
+ },
+ "DeliveryRuleRequestMethodCondition": {
+ "description": "Defines the RequestMethod condition for the delivery rule.",
+ "x-ms-discriminator-value": "RequestMethod",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/RequestMethodMatchConditionParameters"
+ }
+ }
+ },
+ "DeliveryRuleQueryStringCondition": {
+ "description": "Defines the QueryString condition for the delivery rule.",
+ "x-ms-discriminator-value": "QueryString",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/QueryStringMatchConditionParameters"
+ }
+ }
+ },
+ "DeliveryRulePostArgsCondition": {
+ "description": "Defines the PostArgs condition for the delivery rule.",
+ "x-ms-discriminator-value": "PostArgs",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/PostArgsMatchConditionParameters"
+ }
+ }
+ },
+ "DeliveryRuleRequestUriCondition": {
+ "description": "Defines the RequestUri condition for the delivery rule.",
+ "x-ms-discriminator-value": "RequestUri",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/RequestUriMatchConditionParameters"
+ }
+ }
+ },
+ "DeliveryRuleRequestHeaderCondition": {
+ "description": "Defines the RequestHeader condition for the delivery rule.",
+ "x-ms-discriminator-value": "RequestHeader",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/RequestHeaderMatchConditionParameters"
+ }
+ }
+ },
+ "DeliveryRuleRequestBodyCondition": {
+ "description": "Defines the RequestBody condition for the delivery rule.",
+ "x-ms-discriminator-value": "RequestBody",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/RequestBodyMatchConditionParameters"
+ }
+ }
+ },
+ "DeliveryRuleRequestSchemeCondition": {
+ "description": "Defines the RequestScheme condition for the delivery rule.",
+ "x-ms-discriminator-value": "RequestScheme",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/RequestSchemeMatchConditionParameters"
+ }
+ }
+ },
+ "DeliveryRuleUrlPathCondition": {
+ "description": "Defines the UrlPath condition for the delivery rule.",
+ "x-ms-discriminator-value": "UrlPath",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/UrlPathMatchConditionParameters"
+ }
+ }
+ },
+ "DeliveryRuleUrlFileExtensionCondition": {
+ "description": "Defines the UrlFileExtension condition for the delivery rule.",
+ "x-ms-discriminator-value": "UrlFileExtension",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters"
+ }
+ }
+ },
+ "DeliveryRuleUrlFileNameCondition": {
+ "description": "Defines the UrlFileName condition for the delivery rule.",
+ "x-ms-discriminator-value": "UrlFileName",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/UrlFileNameMatchConditionParameters"
+ }
+ }
+ },
+ "DeliveryRuleHttpVersionCondition": {
+ "description": "Defines the HttpVersion condition for the delivery rule.",
+ "x-ms-discriminator-value": "HttpVersion",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/HttpVersionMatchConditionParameters"
+ }
+ }
+ },
+ "DeliveryRuleCookiesCondition": {
+ "description": "Defines the Cookies condition for the delivery rule.",
+ "x-ms-discriminator-value": "Cookies",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/CookiesMatchConditionParameters"
+ }
+ }
+ },
+ "DeliveryRuleIsDeviceCondition": {
+ "description": "Defines the IsDevice condition for the delivery rule.",
+ "x-ms-discriminator-value": "IsDevice",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/IsDeviceMatchConditionParameters"
+ }
+ }
+ },
+ "RemoteAddressMatchConditionParameters": {
+ "description": "Defines the parameters for RemoteAddress match conditions",
+ "required": [
+ "operator",
+ "matchValues",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters"
+ ]
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Any",
+ "IPMatch",
+ "GeoMatch"
+ ],
+ "x-ms-enum": {
+ "name": "RemoteAddressOperator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transforms": {
+ "description": "List of transforms",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/transform"
+ }
+ }
+ }
+ },
+ "RequestMethodMatchConditionParameters": {
+ "description": "Defines the parameters for RequestMethod match conditions",
+ "required": [
+ "operator",
+ "matchValues",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestMethodConditionParameters"
+ ]
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Equal"
+ ],
+ "x-ms-enum": {
+ "name": "RequestMethodOperator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "The match value for the condition of the delivery rule",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "GET",
+ "HEAD",
+ "POST",
+ "PUT",
+ "DELETE",
+ "OPTIONS",
+ "TRACE"
+ ]
+ }
+ }
+ }
+ },
+ "QueryStringMatchConditionParameters": {
+ "description": "Defines the parameters for QueryString match conditions",
+ "required": [
+ "operator",
+ "matchValues",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleQueryStringConditionParameters"
+ ]
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Any",
+ "Equal",
+ "Contains",
+ "BeginsWith",
+ "EndsWith",
+ "LessThan",
+ "LessThanOrEqual",
+ "GreaterThan",
+ "GreaterThanOrEqual"
+ ],
+ "x-ms-enum": {
+ "name": "QueryStringOperator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "The match value for the condition of the delivery rule",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transforms": {
+ "description": "List of transforms",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/transform"
+ }
+ }
+ }
+ },
+ "PostArgsMatchConditionParameters": {
+ "description": "Defines the parameters for PostArgs match conditions",
+ "required": [
+ "operator",
+ "matchValues",
+ "selector",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRulePostArgsConditionParameters"
+ ]
+ },
+ "selector": {
+ "description": "Name of PostArg to be matched",
+ "type": "string"
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Any",
+ "Equal",
+ "Contains",
+ "BeginsWith",
+ "EndsWith",
+ "LessThan",
+ "LessThanOrEqual",
+ "GreaterThan",
+ "GreaterThanOrEqual"
+ ],
+ "x-ms-enum": {
+ "name": "PostArgsOperator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "The match value for the condition of the delivery rule",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transforms": {
+ "description": "List of transforms",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/transform"
+ }
+ }
+ }
+ },
+ "RequestUriMatchConditionParameters": {
+ "description": "Defines the parameters for RequestUri match conditions",
+ "required": [
+ "operator",
+ "matchValues",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestUriConditionParameters"
+ ]
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Any",
+ "Equal",
+ "Contains",
+ "BeginsWith",
+ "EndsWith",
+ "LessThan",
+ "LessThanOrEqual",
+ "GreaterThan",
+ "GreaterThanOrEqual"
+ ],
+ "x-ms-enum": {
+ "name": "RequestUriOperator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "The match value for the condition of the delivery rule",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transforms": {
+ "description": "List of transforms",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/transform"
+ }
+ }
+ }
+ },
+ "RequestHeaderMatchConditionParameters": {
+ "description": "Defines the parameters for RequestHeader match conditions",
+ "required": [
+ "operator",
+ "matchValues",
+ "selector",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestHeaderConditionParameters"
+ ]
+ },
+ "selector": {
+ "description": "Name of Header to be matched",
+ "type": "string"
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Any",
+ "Equal",
+ "Contains",
+ "BeginsWith",
+ "EndsWith",
+ "LessThan",
+ "LessThanOrEqual",
+ "GreaterThan",
+ "GreaterThanOrEqual"
+ ],
+ "x-ms-enum": {
+ "name": "RequestHeaderOperator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "The match value for the condition of the delivery rule",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transforms": {
+ "description": "List of transforms",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/transform"
+ }
+ }
+ }
+ },
+ "RequestBodyMatchConditionParameters": {
+ "description": "Defines the parameters for RequestBody match conditions",
+ "required": [
+ "operator",
+ "matchValues",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestBodyConditionParameters"
+ ]
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Any",
+ "Equal",
+ "Contains",
+ "BeginsWith",
+ "EndsWith",
+ "LessThan",
+ "LessThanOrEqual",
+ "GreaterThan",
+ "GreaterThanOrEqual"
+ ],
+ "x-ms-enum": {
+ "name": "RequestBodyOperator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "The match value for the condition of the delivery rule",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transforms": {
+ "description": "List of transforms",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/transform"
+ }
+ }
+ }
+ },
+ "RequestSchemeMatchConditionParameters": {
+ "description": "Defines the parameters for RequestScheme match conditions ",
+ "required": [
+ "operator",
+ "matchValues",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestSchemeConditionParameters"
+ ]
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Equal"
+ ]
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "The match value for the condition of the delivery rule",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "HTTP",
+ "HTTPS"
+ ]
+ }
+ }
+ }
+ },
+ "UrlPathMatchConditionParameters": {
+ "description": "Defines the parameters for UrlPath match conditions",
+ "required": [
+ "operator",
+ "matchValues",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathMatchConditionParameters"
+ ]
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Any",
+ "Equal",
+ "Contains",
+ "BeginsWith",
+ "EndsWith",
+ "LessThan",
+ "LessThanOrEqual",
+ "GreaterThan",
+ "GreaterThanOrEqual",
+ "Wildcard"
+ ],
+ "x-ms-enum": {
+ "name": "UrlPathOperator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "The match value for the condition of the delivery rule",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transforms": {
+ "description": "List of transforms",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/transform"
+ }
+ }
+ }
+ },
+ "UrlFileExtensionMatchConditionParameters": {
+ "description": "Defines the parameters for UrlFileExtension match conditions",
+ "required": [
+ "operator",
+ "matchValues",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionMatchConditionParameters"
+ ]
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Any",
+ "Equal",
+ "Contains",
+ "BeginsWith",
+ "EndsWith",
+ "LessThan",
+ "LessThanOrEqual",
+ "GreaterThan",
+ "GreaterThanOrEqual"
+ ],
+ "x-ms-enum": {
+ "name": "UrlFileExtensionOperator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "The match value for the condition of the delivery rule",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transforms": {
+ "description": "List of transforms",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/transform"
+ }
+ }
+ }
+ },
+ "UrlFileNameMatchConditionParameters": {
+ "description": "Defines the parameters for UrlFilename match conditions",
+ "required": [
+ "operator",
+ "matchValues",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFilenameConditionParameters"
+ ]
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Any",
+ "Equal",
+ "Contains",
+ "BeginsWith",
+ "EndsWith",
+ "LessThan",
+ "LessThanOrEqual",
+ "GreaterThan",
+ "GreaterThanOrEqual"
+ ],
+ "x-ms-enum": {
+ "name": "UrlFileNameOperator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "The match value for the condition of the delivery rule",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transforms": {
+ "description": "List of transforms",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/transform"
+ }
+ }
+ }
+ },
+ "HttpVersionMatchConditionParameters": {
+ "description": "Defines the parameters for HttpVersion match conditions",
+ "required": [
+ "operator",
+ "matchValues",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleHttpVersionConditionParameters"
+ ]
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Equal"
+ ],
+ "x-ms-enum": {
+ "name": "HttpVersionOperator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "The match value for the condition of the delivery rule",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "CookiesMatchConditionParameters": {
+ "description": "Defines the parameters for Cookies match conditions",
+ "required": [
+ "operator",
+ "matchValues",
+ "selector",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleCookiesConditionParameters"
+ ]
+ },
+ "selector": {
+ "description": "Name of Cookies to be matched",
+ "type": "string"
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Any",
+ "Equal",
+ "Contains",
+ "BeginsWith",
+ "EndsWith",
+ "LessThan",
+ "LessThanOrEqual",
+ "GreaterThan",
+ "GreaterThanOrEqual"
+ ],
+ "x-ms-enum": {
+ "name": "CookiesOperator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "The match value for the condition of the delivery rule",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transforms": {
+ "description": "List of transforms",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/transform"
+ }
+ }
+ }
+ },
+ "IsDeviceMatchConditionParameters": {
+ "description": "Defines the parameters for IsDevice match conditions",
+ "required": [
+ "operator",
+ "matchValues",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleIsDeviceConditionParameters"
+ ]
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Equal"
+ ],
+ "x-ms-enum": {
+ "name": "IsDeviceOperator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if this is negate condition or not",
+ "type": "boolean"
+ },
+ "matchValues": {
+ "description": "The match value for the condition of the delivery rule",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "Mobile",
+ "Desktop"
+ ]
+ }
+ },
+ "transforms": {
+ "description": "List of transforms",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/transform"
+ }
+ }
+ }
+ },
+ "DeliveryRuleAction": {
+ "description": "An action for the delivery rule.",
+ "discriminator": "name",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "The name of the action for the delivery rule.",
+ "type": "string",
+ "enum": [
+ "CacheExpiration",
+ "CacheKeyQueryString",
+ "ModifyRequestHeader",
+ "ModifyResponseHeader",
+ "UrlRedirect",
+ "UrlRewrite",
+ "UrlSigning"
+ ],
+ "x-ms-enum": {
+ "name": "DeliveryRuleAction",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "UrlRedirectAction": {
+ "description": "Defines the url redirect action for the delivery rule.",
+ "x-ms-discriminator-value": "UrlRedirect",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleAction"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the action.",
+ "$ref": "#/definitions/UrlRedirectActionParameters"
+ }
+ }
+ },
+ "UrlRedirectActionParameters": {
+ "description": "Defines the parameters for the url redirect action.",
+ "required": [
+ "redirectType",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRedirectActionParameters"
+ ]
+ },
+ "redirectType": {
+ "description": "The redirect type the rule will use when redirecting traffic.",
+ "type": "string",
+ "enum": [
+ "Moved",
+ "Found",
+ "TemporaryRedirect",
+ "PermanentRedirect"
+ ],
+ "x-ms-enum": {
+ "name": "RedirectType",
+ "modelAsString": true
+ }
+ },
+ "destinationProtocol": {
+ "description": "Protocol to use for the redirect. The default value is MatchRequest",
+ "type": "string",
+ "enum": [
+ "MatchRequest",
+ "Http",
+ "Https"
+ ],
+ "x-ms-enum": {
+ "name": "DestinationProtocol",
+ "modelAsString": true
+ }
+ },
+ "customPath": {
+ "description": "The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.",
+ "type": "string"
+ },
+ "customHostname": {
+ "description": "Host to redirect. Leave empty to use the incoming host as the destination host.",
+ "type": "string"
+ },
+ "customQueryString": {
+ "description": "The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. ? and & will be added automatically so do not include them.",
+ "type": "string"
+ },
+ "customFragment": {
+ "type": "string",
+ "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #."
+ }
+ }
+ },
+ "UrlSigningActionParameters": {
+ "description": "Defines the parameters for the Url Signing action.",
+ "required": [
+ "keyId"
+ ],
+ "properties": {
+ "keyId": {
+ "description": "Id reference of the key to be used to verify the hash and should be defined in UrlSigningKeys",
+ "type": "string"
+ },
+ "algorithm": {
+ "description": "Algorithm to use for URL signing",
+ "type": "string",
+ "enum": [
+ "SHA256"
+ ]
+ },
+ "parameterNameOverride": {
+ "description": "Defines which query string parameters in the url to be considered for expires, key id etc. ",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UrlSigningParamIdentifier"
+ }
+ },
+ "ipSubnets": {
+ "description": "Match values to match against. Supports CIDR ranges (both IPv4 and IPv6).",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "UrlSigningParamIdentifier": {
+ "description": "Defines how to identify a parameter for a specific purpose e.g. expires",
+ "required": [
+ "paramIndicator",
+ "paramName"
+ ],
+ "properties": {
+ "paramIndicator": {
+ "description": "Indicates the purpose of the parameter",
+ "type": "string",
+ "enum": [
+ "expires",
+ "keyId",
+ "signature"
+ ]
+ },
+ "paramName": {
+ "description": "Parameter name",
+ "type": "string"
+ }
+ }
+ },
+ "UrlRewriteAction": {
+ "description": "Defines the url rewrite action for the delivery rule.",
+ "x-ms-discriminator-value": "UrlRewrite",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleAction"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the action.",
+ "$ref": "#/definitions/UrlRewriteActionParameters"
+ }
+ }
+ },
+ "UrlRewriteActionParameters": {
+ "description": "Defines the parameters for the url rewrite action.",
+ "required": [
+ "sourcePattern",
+ "destination",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRewriteActionParameters"
+ ]
+ },
+ "sourcePattern": {
+ "description": "define a request URI pattern that identifies the type of requests that may be rewritten. If value is blank, all strings are matched.",
+ "type": "string"
+ },
+ "destination": {
+ "description": "Define the relative URL to which the above requests will be rewritten by.",
+ "type": "string"
+ },
+ "preserveUnmatchedPath": {
+ "description": "Whether to preserve unmatched path. Default value is true.",
+ "type": "boolean"
+ }
+ }
+ },
+ "DeliveryRuleRequestHeaderAction": {
+ "description": "Defines the request header action for the delivery rule.",
+ "x-ms-discriminator-value": "ModifyRequestHeader",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleAction"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the action.",
+ "$ref": "#/definitions/HeaderActionParameters"
+ }
+ }
+ },
+ "DeliveryRuleResponseHeaderAction": {
+ "description": "Defines the response header action for the delivery rule.",
+ "x-ms-discriminator-value": "ModifyResponseHeader",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleAction"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the action.",
+ "$ref": "#/definitions/HeaderActionParameters"
+ }
+ }
+ },
+ "HeaderActionParameters": {
+ "description": "Defines the parameters for the request header action.",
+ "required": [
+ "headerAction",
+ "headerName",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters"
+ ]
+ },
+ "headerAction": {
+ "description": "Action to perform",
+ "type": "string",
+ "enum": [
+ "Append",
+ "Overwrite",
+ "Delete"
+ ],
+ "x-ms-enum": {
+ "name": "HeaderAction",
+ "modelAsString": true
+ }
+ },
+ "headerName": {
+ "description": "Name of the header to modify",
+ "type": "string"
+ },
+ "value": {
+ "description": "Value for the specified action",
+ "type": "string"
+ }
+ }
+ },
+ "DeliveryRuleCacheExpirationAction": {
+ "description": "Defines the cache expiration action for the delivery rule.",
+ "x-ms-discriminator-value": "CacheExpiration",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleAction"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the action.",
+ "$ref": "#/definitions/CacheExpirationActionParameters"
+ }
+ }
+ },
+ "CacheExpirationActionParameters": {
+ "description": "Defines the parameters for the cache expiration action.",
+ "required": [
+ "cacheBehavior",
+ "cacheType",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters"
+ ]
+ },
+ "cacheBehavior": {
+ "description": "Caching behavior for the requests",
+ "type": "string",
+ "enum": [
+ "BypassCache",
+ "Override",
+ "SetIfMissing"
+ ],
+ "x-ms-enum": {
+ "name": "cacheBehavior",
+ "modelAsString": true
+ }
+ },
+ "cacheType": {
+ "description": "The level at which the content needs to be cached.",
+ "type": "string",
+ "enum": [
+ "All"
+ ],
+ "x-ms-enum": {
+ "name": "CacheType",
+ "modelAsString": true
+ }
+ },
+ "cacheDuration": {
+ "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss",
+ "type": "string",
+ "x-nullable": true
+ }
+ }
+ },
+ "DeliveryRuleCacheKeyQueryStringAction": {
+ "description": "Defines the cache-key query string action for the delivery rule.",
+ "x-ms-discriminator-value": "CacheKeyQueryString",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleAction"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the action.",
+ "$ref": "#/definitions/CacheKeyQueryStringActionParameters"
+ }
+ }
+ },
+ "CacheKeyQueryStringActionParameters": {
+ "description": "Defines the parameters for the cache-key query string action.",
+ "required": [
+ "queryStringBehavior",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheKeyQueryStringBehaviorActionParameters"
+ ]
+ },
+ "queryStringBehavior": {
+ "description": "Caching behavior for the requests",
+ "type": "string",
+ "enum": [
+ "Include",
+ "IncludeAll",
+ "Exclude",
+ "ExcludeAll"
+ ],
+ "x-ms-enum": {
+ "name": "queryStringBehavior",
+ "modelAsString": true
+ }
+ },
+ "queryParameters": {
+ "description": "query parameters to include or exclude (comma separated).",
+ "type": "string",
+ "x-nullable": true
+ }
+ }
+ },
+ "transform": {
+ "description": "Describes what transforms are applied before matching",
+ "type": "string",
+ "enum": [
+ "Lowercase",
+ "Uppercase"
+ ],
+ "x-ms-enum": {
+ "name": "transform",
+ "modelAsString": true
+ }
+ },
+ "DeepCreatedOrigin": {
+ "description": "The main origin of CDN content which is added when creating a CDN endpoint.",
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "Origin name which must be unique within the endpoint. ",
+ "type": "string"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DeepCreatedOriginProperties"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "DeepCreatedOriginProperties": {
+ "description": "Properties of the origin created on the CDN endpoint.",
+ "type": "object",
+ "required": [
+ "hostName"
+ ],
+ "properties": {
+ "hostName": {
+ "description": "The address of the origin. It can be a domain name, IPv4 address, or IPv6 address. This should be unique across all origins in an endpoint.",
+ "type": "string"
+ },
+ "httpPort": {
+ "description": "The value of the HTTP port. Must be between 1 and 65535.",
+ "type": "integer",
+ "maximum": 65535,
+ "exclusiveMaximum": false,
+ "minimum": 1,
+ "exclusiveMinimum": false
+ },
+ "httpsPort": {
+ "description": "The value of the HTTPS port. Must be between 1 and 65535.",
+ "type": "integer",
+ "maximum": 65535,
+ "exclusiveMaximum": false,
+ "minimum": 1,
+ "exclusiveMinimum": false
+ },
+ "originHostHeader": {
+ "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.",
+ "type": "string"
+ },
+ "priority": {
+ "description": "Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5.",
+ "type": "integer",
+ "maximum": 5,
+ "minimum": 1
+ },
+ "weight": {
+ "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000",
+ "type": "integer",
+ "maximum": 1000,
+ "minimum": 1
+ },
+ "enabled": {
+ "description": "Origin is enabled for load balancing or not. By default, origin is always enabled.",
+ "type": "boolean"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "DeepCreatedOriginGroup": {
+ "description": "The origin group for CDN content which is added when creating a CDN endpoint. Traffic is sent to the origins within the origin group based on origin health.",
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "Origin group name which must be unique within the endpoint.",
+ "type": "string"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DeepCreatedOriginGroupProperties"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "DeepCreatedOriginGroupProperties": {
+ "description": "Properties of the origin group created on the CDN endpoint.",
+ "type": "object",
+ "required": [
+ "origins"
+ ],
+ "properties": {
+ "healthProbeSettings": {
+ "description": "Health probe settings to the origin that is used to determine the health of the origin.",
+ "type": "object",
+ "$ref": "#/definitions/HealthProbeParameters"
+ },
+ "origins": {
+ "description": "The source of the content being delivered via CDN within given origin group.",
+ "type": "array",
+ "items": {
+ "description": "A reference to a origin.",
+ "$ref": "#/definitions/ResourceReference"
+ }
+ },
+ "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": {
+ "description": "Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not supported.",
+ "type": "integer",
+ "maximum": 50,
+ "minimum": 0
+ },
+ "responseBasedOriginErrorDetectionSettings": {
+ "description": "The JSON object that contains the properties to determine origin health using real requests/responses.This property is currently not supported.",
+ "type": "object",
+ "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ResourceReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource ID."
+ }
+ },
+ "description": "Reference to another resource.",
+ "x-ms-azure-resource": true
+ },
+ "GeoFilter": {
+ "description": "Rules defining user's geo access within a CDN endpoint.",
+ "type": "object",
+ "required": [
+ "relativePath",
+ "action",
+ "countryCodes"
+ ],
+ "properties": {
+ "relativePath": {
+ "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)",
+ "type": "string"
+ },
+ "action": {
+ "description": "Action of the geo filter, i.e. allow or block access.",
+ "enum": [
+ "Block",
+ "Allow"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "GeoFilterActions",
+ "modelAsString": false
+ }
+ },
+ "countryCodes": {
+ "description": "Two letter country codes defining user country access in a geo filter, e.g. AU, MX, US.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PurgeParameters": {
+ "type": "object",
+ "description": "Parameters required for content purge.",
+ "required": [
+ "contentPaths"
+ ],
+ "properties": {
+ "contentPaths": {
+ "description": "The path to the content to be purged. Can describe a file path or a wild card directory.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "UrlSigningKey": {
+ "description": "Url signing key",
+ "required": [
+ "keyId",
+ "keySourceParameters"
+ ],
+ "properties": {
+ "keyId": {
+ "description": "Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash.",
+ "type": "string"
+ },
+ "keySourceParameters": {
+ "description": "Defines the parameters for using customer key vault for Url Signing Key.",
+ "$ref": "#/definitions/KeyVaultSigningKeyParameters"
+ }
+ }
+ },
+ "KeyVaultSigningKeyParameters": {
+ "description": "Describes the parameters for using a user's KeyVault for URL Signing Key.",
+ "required": [
+ "@odata.type",
+ "subscriptionId",
+ "resourceGroupName",
+ "vaultName",
+ "secretName",
+ "secretVersion"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.KeyVaultSigningKeyParameters"
+ ]
+ },
+ "subscriptionId": {
+ "description": "Subscription Id of the user's Key Vault containing the secret",
+ "type": "string"
+ },
+ "resourceGroupName": {
+ "description": "Resource group of the user's Key Vault containing the secret",
+ "type": "string"
+ },
+ "vaultName": {
+ "description": "The name of the user's Key Vault containing the secret",
+ "type": "string"
+ },
+ "secretName": {
+ "description": "The name of secret in Key Vault.",
+ "type": "string"
+ },
+ "secretVersion": {
+ "description": "The version(GUID) of secret in Key Vault.",
+ "type": "string"
+ }
+ }
+ },
+ "LoadParameters": {
+ "type": "object",
+ "description": "Parameters required for content load.",
+ "required": [
+ "contentPaths"
+ ],
+ "properties": {
+ "contentPaths": {
+ "description": "The path to the content to be loaded. Path should be a relative file URL of the origin.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "Origin": {
+ "description": "CDN origin is the source of the content being delivered via CDN. When the edge nodes represented by an endpoint do not have the requested content cached, they attempt to fetch it from one or more of the configured origins.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OriginProperties"
+ }
+ }
+ },
+ "OriginProperties": {
+ "description": "The JSON object that contains the properties of the origin.",
+ "required": [
+ "hostName"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/OriginUpdatePropertiesParameters"
+ }
+ ],
+ "properties": {
+ "resourceState": {
+ "description": "Resource status of the origin.",
+ "readOnly": true,
+ "enum": [
+ "Creating",
+ "Active",
+ "Deleting"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OriginResourceState",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "description": "Provisioning status of the origin.",
+ "type": "string"
+ },
+ "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
+ }
+ }
+ }
+ },
+ "OriginUpdateParameters": {
+ "type": "object",
+ "description": "Origin properties needed for origin update.",
+ "properties": {
+ "tags": {
+ "description": "Origin tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OriginUpdatePropertiesParameters"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "OriginUpdatePropertiesParameters": {
+ "description": "The JSON object that contains the properties of the origin.",
+ "properties": {
+ "hostName": {
+ "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.This should be unique across all origins in an endpoint.",
+ "type": "string"
+ },
+ "httpPort": {
+ "description": "The value of the HTTP port. Must be between 1 and 65535.",
+ "type": "integer",
+ "maximum": 65535,
+ "exclusiveMaximum": false,
+ "minimum": 1,
+ "exclusiveMinimum": false
+ },
+ "httpsPort": {
+ "description": "The value of the HTTPS port. Must be between 1 and 65535.",
+ "type": "integer",
+ "maximum": 65535,
+ "exclusiveMaximum": false,
+ "minimum": 1,
+ "exclusiveMinimum": false
+ },
+ "originHostHeader": {
+ "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint",
+ "type": "string"
+ },
+ "priority": {
+ "description": "Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5",
+ "type": "integer",
+ "maximum": 5,
+ "minimum": 1
+ },
+ "weight": {
+ "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000",
+ "type": "integer",
+ "maximum": 1000,
+ "minimum": 1
+ },
+ "enabled": {
+ "description": "Origin is enabled for load balancing or not",
+ "type": "boolean"
+ },
+ "privateLinkAlias": {
+ "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'",
+ "type": "string"
+ },
+ "privateLinkResourceId": {
+ "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'",
+ "type": "string"
+ },
+ "privateLinkLocation": {
+ "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated",
+ "type": "string"
+ },
+ "privateLinkApprovalMessage": {
+ "description": "A custom message to be included in the approval request to connect to the Private Link.",
+ "type": "string"
+ }
+ }
+ },
+ "OriginListResult": {
+ "description": "Result of the request to list origins. It contains a list of origin objects and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Origin"
+ },
+ "description": "List of CDN origins within an endpoint"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of origin objects if there are any."
+ }
+ }
+ },
+ "OriginGroup": {
+ "description": "Origin group comprising of origins is used for load balancing to origins when the content cannot be served from CDN.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OriginGroupProperties"
+ }
+ }
+ },
+ "OriginGroupProperties": {
+ "description": "The JSON object that contains the properties of the origin group.",
+ "type": "object",
+ "required": [
+ "origins"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/OriginGroupUpdatePropertiesParameters"
+ }
+ ],
+ "properties": {
+ "resourceState": {
+ "description": "Resource status of the origin group.",
+ "readOnly": true,
+ "enum": [
+ "Creating",
+ "Active",
+ "Deleting"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OriginGroupResourceState",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "description": "Provisioning status of the origin group.",
+ "type": "string"
+ }
+ }
+ },
+ "OriginGroupUpdateParameters": {
+ "type": "object",
+ "description": "Origin group properties needed for origin group creation or update.",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OriginGroupUpdatePropertiesParameters"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "OriginGroupUpdatePropertiesParameters": {
+ "description": "The JSON object that contains the properties of the origin group.",
+ "properties": {
+ "healthProbeSettings": {
+ "description": "Health probe settings to the origin that is used to determine the health of the origin.",
+ "type": "object",
+ "$ref": "#/definitions/HealthProbeParameters"
+ },
+ "origins": {
+ "description": "The source of the content being delivered via CDN within given origin group.",
+ "type": "array",
+ "items": {
+ "description": "A reference to a origin.",
+ "$ref": "#/definitions/ResourceReference"
+ }
+ },
+ "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": {
+ "description": "Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not supported.",
+ "type": "integer",
+ "maximum": 50,
+ "minimum": 0
+ },
+ "responseBasedOriginErrorDetectionSettings": {
+ "description": "The JSON object that contains the properties to determine origin health using real requests/responses. This property is currently not supported.",
+ "type": "object",
+ "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters"
+ }
+ }
+ },
+ "HealthProbeParameters": {
+ "description": "The JSON object that contains the properties to send health probes to origin.",
+ "properties": {
+ "probePath": {
+ "description": "The path relative to the origin that is used to determine the health of the origin.",
+ "type": "string"
+ },
+ "probeRequestType": {
+ "description": "The type of health probe request that is made.",
+ "enum": [
+ "NotSet",
+ "GET",
+ "HEAD"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HealthProbeRequestType",
+ "modelAsString": false
+ }
+ },
+ "probeProtocol": {
+ "description": "Protocol to use for health probe.",
+ "type": "string",
+ "enum": [
+ "NotSet",
+ "Http",
+ "Https"
+ ],
+ "x-ms-enum": {
+ "name": "ProbeProtocol",
+ "modelAsString": false
+ }
+ },
+ "probeIntervalInSeconds": {
+ "description": "The number of seconds between health probes.Default is 240sec.",
+ "type": "integer",
+ "maximum": 255,
+ "minimum": 1
+ }
+ }
+ },
+ "ResponseBasedOriginErrorDetectionParameters": {
+ "description": "The JSON object that contains the properties to determine origin health using real requests/responses.",
+ "properties": {
+ "responseBasedDetectedErrorTypes": {
+ "description": "Type of response errors for real user requests for which origin will be deemed unhealthy",
+ "type": "string",
+ "enum": [
+ "None",
+ "TcpErrorsOnly",
+ "TcpAndHttpErrors"
+ ],
+ "x-ms-enum": {
+ "name": "ResponseBasedDetectedErrorTypes",
+ "modelAsString": false
+ }
+ },
+ "responseBasedFailoverThresholdPercentage": {
+ "description": "The percentage of failed requests in the sample where failover should trigger.",
+ "type": "integer",
+ "maximum": 100,
+ "minimum": 0
+ },
+ "httpErrorRanges": {
+ "description": "The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HttpErrorRangeParameters"
+ }
+ }
+ }
+ },
+ "HttpErrorRangeParameters": {
+ "description": "The JSON object that represents the range for http status codes",
+ "properties": {
+ "begin": {
+ "description": "The inclusive start of the http status code range.",
+ "type": "integer",
+ "maximum": 999,
+ "minimum": 100
+ },
+ "end": {
+ "description": "The inclusive end of the http status code range.",
+ "type": "integer",
+ "maximum": 999,
+ "minimum": 100
+ }
+ }
+ },
+ "OriginGroupListResult": {
+ "description": "Result of the request to list origin groups. It contains a list of origin groups objects and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/OriginGroup"
+ },
+ "description": "List of CDN origin groups within an endpoint"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of origin objects if there are any."
+ }
+ }
+ },
+ "CustomDomain": {
+ "description": "Friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes, e.g. www.contoso.com.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CustomDomainProperties"
+ }
+ }
+ },
+ "CustomDomainProperties": {
+ "description": "The JSON object that contains the properties of the custom domain to create.",
+ "required": [
+ "hostName"
+ ],
+ "properties": {
+ "hostName": {
+ "description": "The host name of the custom domain. Must be a domain name.",
+ "type": "string"
+ },
+ "resourceState": {
+ "description": "Resource status of the custom domain.",
+ "readOnly": true,
+ "enum": [
+ "Creating",
+ "Active",
+ "Deleting"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CustomDomainResourceState",
+ "modelAsString": true
+ }
+ },
+ "customHttpsProvisioningState": {
+ "description": "Provisioning status of Custom Https of the custom domain.",
+ "readOnly": true,
+ "enum": [
+ "Enabling",
+ "Enabled",
+ "Disabling",
+ "Disabled",
+ "Failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CustomHttpsProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "customHttpsProvisioningSubstate": {
+ "description": "Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step.",
+ "readOnly": true,
+ "enum": [
+ "SubmittingDomainControlValidationRequest",
+ "PendingDomainControlValidationREquestApproval",
+ "DomainControlValidationRequestApproved",
+ "DomainControlValidationRequestRejected",
+ "DomainControlValidationRequestTimedOut",
+ "IssuingCertificate",
+ "DeployingCertificate",
+ "CertificateDeployed",
+ "DeletingCertificate",
+ "CertificateDeleted"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CustomHttpsProvisioningSubstate",
+ "modelAsString": true
+ }
+ },
+ "validationData": {
+ "description": "Special validation or data may be required when delivering CDN to some regions due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in China.",
+ "type": "string"
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "description": "Provisioning status of the custom domain.",
+ "type": "string"
+ }
+ }
+ },
+ "CustomDomainParameters": {
+ "description": "The customDomain JSON object required for custom domain creation or update.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CustomDomainPropertiesParameters"
+ }
+ }
+ },
+ "CustomDomainPropertiesParameters": {
+ "description": "The JSON object that contains the properties of the custom domain to create.",
+ "required": [
+ "hostName"
+ ],
+ "properties": {
+ "hostName": {
+ "description": "The host name of the custom domain. Must be a domain name.",
+ "type": "string"
+ }
+ }
+ },
+ "CustomDomainHttpsParameters": {
+ "description": "The JSON object that contains the properties to secure a custom domain.",
+ "discriminator": "certificateSource",
+ "required": [
+ "certificateSource",
+ "protocolType"
+ ],
+ "properties": {
+ "certificateSource": {
+ "description": "Defines the source of the SSL certificate.",
+ "enum": [
+ "AzureKeyVault",
+ "Cdn"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CertificateSource",
+ "modelAsString": true
+ }
+ },
+ "protocolType": {
+ "description": "Defines the TLS extension protocol that is used for secure delivery.",
+ "enum": [
+ "ServerNameIndication",
+ "IPBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtocolType",
+ "modelAsString": true
+ }
+ },
+ "minimumTlsVersion": {
+ "description": "TLS protocol version that will be used for Https",
+ "enum": [
+ "None",
+ "TLS10",
+ "TLS12"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MinimumTlsVersion",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "CdnManagedHttpsParameters": {
+ "description": "Defines the certificate source parameters using CDN managed certificate for enabling SSL.",
+ "x-ms-discriminator-value": "Cdn",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CustomDomainHttpsParameters"
+ }
+ ],
+ "required": [
+ "certificateSourceParameters"
+ ],
+ "properties": {
+ "certificateSourceParameters": {
+ "description": "Defines the certificate source parameters using CDN managed certificate for enabling SSL.",
+ "$ref": "#/definitions/CdnCertificateSourceParameters"
+ }
+ }
+ },
+ "CdnCertificateSourceParameters": {
+ "description": "Defines the parameters for using CDN managed certificate for securing custom domain.",
+ "required": [
+ "@odata.type",
+ "certificateType"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.CdnCertificateSourceParameters"
+ ]
+ },
+ "certificateType": {
+ "description": "Type of certificate used",
+ "enum": [
+ "Shared",
+ "Dedicated"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CertificateType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "UserManagedHttpsParameters": {
+ "description": "Defines the certificate source parameters using user's keyvault certificate for enabling SSL.",
+ "x-ms-discriminator-value": "AzureKeyVault",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CustomDomainHttpsParameters"
+ }
+ ],
+ "required": [
+ "certificateSourceParameters"
+ ],
+ "properties": {
+ "certificateSourceParameters": {
+ "description": "Defines the certificate source parameters using user's keyvault certificate for enabling SSL.",
+ "$ref": "#/definitions/KeyVaultCertificateSourceParameters"
+ }
+ }
+ },
+ "KeyVaultCertificateSourceParameters": {
+ "description": "Describes the parameters for using a user's KeyVault certificate for securing custom domain.",
+ "required": [
+ "@odata.type",
+ "subscriptionId",
+ "resourceGroupName",
+ "vaultName",
+ "secretName",
+ "secretVersion",
+ "updateRule",
+ "deleteRule"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.KeyVaultCertificateSourceParameters"
+ ]
+ },
+ "subscriptionId": {
+ "description": "Subscription Id of the user's Key Vault containing the SSL certificate",
+ "type": "string"
+ },
+ "resourceGroupName": {
+ "description": "Resource group of the user's Key Vault containing the SSL certificate",
+ "type": "string"
+ },
+ "vaultName": {
+ "description": "The name of the user's Key Vault containing the SSL certificate",
+ "type": "string"
+ },
+ "secretName": {
+ "description": "The name of Key Vault Secret (representing the full certificate PFX) in Key Vault.",
+ "type": "string"
+ },
+ "secretVersion": {
+ "description": "The version(GUID) of Key Vault Secret in Key Vault.",
+ "type": "string"
+ },
+ "updateRule": {
+ "description": "Describes the action that shall be taken when the certificate is updated in Key Vault.",
+ "type": "string",
+ "enum": [
+ "NoAction"
+ ],
+ "x-ms-enum": {
+ "name": "UpdateRule",
+ "modelAsString": true
+ }
+ },
+ "deleteRule": {
+ "description": "Describes the action that shall be taken when the certificate is removed from Key Vault.",
+ "type": "string",
+ "enum": [
+ "NoAction"
+ ],
+ "x-ms-enum": {
+ "name": "DeleteRule",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "CustomDomainListResult": {
+ "description": "Result of the request to list custom domains. It contains a list of custom domain objects and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/CustomDomain"
+ },
+ "description": "List of CDN CustomDomains within an endpoint."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of custom domain objects if there are any."
+ }
+ }
+ },
+ "ValidateCustomDomainInput": {
+ "description": "Input of the custom domain to be validated for DNS mapping.",
+ "type": "object",
+ "required": [
+ "hostName"
+ ],
+ "properties": {
+ "hostName": {
+ "description": "The host name of the custom domain. Must be a domain name.",
+ "type": "string"
+ }
+ }
+ },
+ "ValidateCustomDomainOutput": {
+ "description": "Output of custom domain validation.",
+ "type": "object",
+ "properties": {
+ "customDomainValidated": {
+ "description": "Indicates whether the custom domain is valid or not.",
+ "readOnly": true,
+ "type": "boolean"
+ },
+ "reason": {
+ "description": "The reason why the custom domain is not valid.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message describing why the custom domain is not valid.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "CheckNameAvailabilityInput": {
+ "description": "Input of CheckNameAvailability API.",
+ "type": "object",
+ "required": [
+ "name",
+ "type"
+ ],
+ "properties": {
+ "name": {
+ "description": "The resource name to validate.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of the resource whose name is to be validated.",
+ "$ref": "#/definitions/ResourceType"
+ }
+ }
+ },
+ "CheckNameAvailabilityOutput": {
+ "description": "Output of check name availability API.",
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "description": "Indicates whether the name is available.",
+ "readOnly": true,
+ "type": "boolean"
+ },
+ "reason": {
+ "description": "The reason why the name is not available.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "message": {
+ "description": "The detailed error message describing why the name is not available.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "ValidateProbeInput": {
+ "description": "Input of the validate probe API.",
+ "properties": {
+ "probeURL": {
+ "description": "The probe URL to validate.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "probeURL"
+ ],
+ "type": "object"
+ },
+ "ValidateProbeOutput": {
+ "description": "Output of the validate probe API.",
+ "properties": {
+ "isValid": {
+ "description": "Indicates whether the probe URL is accepted or not.",
+ "readOnly": true,
+ "type": "boolean"
+ },
+ "errorCode": {
+ "description": "Specifies the error code when the probe url is not accepted.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "message": {
+ "description": "The detailed error message describing why the probe URL is not accepted.",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceUsageListResult": {
+ "description": "Output of check resource usage API.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ResourceUsage"
+ },
+ "description": "List of resource usages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of custom domain objects if there are any."
+ }
+ }
+ },
+ "ResourceUsage": {
+ "description": "Output of check resource usage API.",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type for which the usage is provided."
+ },
+ "unit": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Unit of the usage. e.g. Count."
+ },
+ "currentValue": {
+ "type": "integer",
+ "readOnly": true,
+ "description": "Actual value of usage on the specified resource type."
+ },
+ "limit": {
+ "type": "integer",
+ "readOnly": true,
+ "description": "Quota of the specified resource type."
+ }
+ }
+ },
+ "ResourceType": {
+ "description": "Type of CDN resource used in CheckNameAvailability.",
+ "enum": [
+ "Microsoft.Cdn/Profiles/Endpoints"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ResourceType",
+ "modelAsString": false
+ }
+ },
+ "Operation": {
+ "description": "CDN REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}",
+ "readOnly": true,
+ "type": "string"
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "properties": {
+ "provider": {
+ "description": "Service provider: Microsoft.Cdn",
+ "readOnly": true,
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed: Profile, endpoint, etc.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation type: Read, write, delete, etc.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "OperationsListResult": {
+ "description": "Result of the request to list CDN operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of CDN operations supported by the CDN resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "EdgenodeResult": {
+ "description": "Result of the request to list CDN edgenodes. It contains a list of ip address group and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/EdgeNode"
+ },
+ "description": "Edge node of CDN service."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of edgenode list results if there are any."
+ }
+ }
+ },
+ "EdgeNode": {
+ "description": "Edgenode is a global Point of Presence (POP) location used to deliver CDN content to end users.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/EdgeNodeProperties"
+ }
+ }
+ },
+ "EdgeNodeProperties": {
+ "description": "The JSON object that contains the properties required to create an edgenode.",
+ "required": [
+ "ipAddressGroups"
+ ],
+ "properties": {
+ "ipAddressGroups": {
+ "description": "List of ip address groups.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpAddressGroup"
+ }
+ }
+ }
+ },
+ "IpAddressGroup": {
+ "description": "CDN Ip address group",
+ "type": "object",
+ "properties": {
+ "deliveryRegion": {
+ "description": "The delivery region of the ip address group",
+ "type": "string"
+ },
+ "ipv4Addresses": {
+ "description": "The list of ip v4 addresses.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/cidrIpAddress"
+ }
+ },
+ "ipv6Addresses": {
+ "description": "The list of ip v6 addresses.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/cidrIpAddress"
+ }
+ }
+ }
+ },
+ "cidrIpAddress": {
+ "description": "CIDR Ip address",
+ "type": "object",
+ "properties": {
+ "baseIpAddress": {
+ "description": "Ip address itself.",
+ "type": "string"
+ },
+ "prefixLength": {
+ "description": "The length of the prefix of the ip address.",
+ "type": "integer"
+ }
+ }
+ },
+ "Resource": {
+ "description": "The core properties of ARM resources",
+ "properties": {
+ "id": {
+ "description": "Resource ID.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "name": {
+ "description": "Resource name.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "type": {
+ "description": "Resource type.",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "TrackedResource": {
+ "description": "The resource model definition for a ARM tracked top level resource.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Resource tags."
+ }
+ },
+ "required": [
+ "location"
+ ]
+ },
+ "ProxyResource": {
+ "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "QueryStringCachingBehavior": {
+ "description": "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL.",
+ "enum": [
+ "IgnoreQueryString",
+ "BypassCaching",
+ "UseQueryString",
+ "NotSet"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "QueryStringCachingBehavior",
+ "modelAsString": false
+ }
+ },
+ "Sku": {
+ "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.",
+ "properties": {
+ "name": {
+ "description": "Name of the pricing tier.",
+ "enum": [
+ "Standard_Verizon",
+ "Premium_Verizon",
+ "Custom_Verizon",
+ "Standard_Akamai",
+ "Standard_ChinaCdn",
+ "Standard_Microsoft",
+ "Premium_ChinaCdn"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": true
+ }
+ }
+ },
+ "type": "object"
+ },
+ "OptimizationType": {
+ "description": "Specifies what scenario the customer wants this CDN endpoint to optimize, e.g. Download, Media services. With this information we can apply scenario driven optimization.",
+ "enum": [
+ "GeneralWebDelivery",
+ "GeneralMediaStreaming",
+ "VideoOnDemandMediaStreaming",
+ "LargeFileDownload",
+ "DynamicSiteAcceleration"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OptimizationType",
+ "modelAsString": true
+ }
+ },
+ "ErrorResponse": {
+ "description": "Error response indicates CDN service is not able to process the incoming request. The reason is provided in the error message.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Azure Subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request. Current version is 2017-04-02."
+ },
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90,
+ "x-ms-parameter-location": "method",
+ "description": "Name of the Resource group within the Azure subscription."
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdnwebapplicationfirewall.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdnwebapplicationfirewall.json
new file mode 100644
index 000000000000..776e38b9d7eb
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdnwebapplicationfirewall.json
@@ -0,0 +1,926 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-04-15",
+ "title": "Azure CDN WebApplicationFirewallManagement",
+ "description": "APIs to manage web application firewall rules for Azure CDN"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies": {
+ "get": {
+ "tags": [
+ "WebApplicationFirewallPolicies"
+ ],
+ "description": "Lists all of the protection policies within a resource group.",
+ "operationId": "Policies_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CdnWebApplicationFirewallPolicyList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./cdn.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Policies in a Resource Group": {
+ "$ref": "./examples/WafListPolicies.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/{policyName}": {
+ "get": {
+ "tags": [
+ "WebApplicationFirewallPolicies"
+ ],
+ "description": "Retrieve protection policy with specified name within a resource group.",
+ "operationId": "Policies_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PolicyNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CdnWebApplicationFirewallPolicy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./cdn.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Policy": {
+ "$ref": "./examples/WafPolicyGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "WebApplicationFirewallPolicies"
+ ],
+ "description": "Create or update policy with specified rule set name within a resource group.",
+ "operationId": "Policies_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PolicyNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "description": "Policy to be created.",
+ "in": "body",
+ "name": "cdnWebApplicationFirewallPolicy",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CdnWebApplicationFirewallPolicy"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CdnWebApplicationFirewallPolicy"
+ }
+ },
+ "201": {
+ "description": "Created. The request has been fulfilled and a new protection policy has been created.",
+ "schema": {
+ "$ref": "#/definitions/CdnWebApplicationFirewallPolicy"
+ }
+ },
+ "202": {
+ "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/CdnWebApplicationFirewallPolicy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./cdn.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Creates specific policy": {
+ "$ref": "./examples/WafPolicyCreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "WebApplicationFirewallPolicies"
+ ],
+ "description": "Update an existing CdnWebApplicationFirewallPolicy with the specified policy name under the specified subscription and resource group",
+ "operationId": "Policies_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PolicyNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "description": "CdnWebApplicationFirewallPolicy parameters to be patched.",
+ "in": "body",
+ "name": "cdnWebApplicationFirewallPolicyPatchParameters",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CdnWebApplicationFirewallPolicyPatchParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CdnWebApplicationFirewallPolicy"
+ }
+ },
+ "202": {
+ "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/CdnWebApplicationFirewallPolicy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./cdn.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Creates specific policy": {
+ "$ref": "./examples/WafPatchPolicy.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "WebApplicationFirewallPolicies"
+ ],
+ "description": "Deletes Policy",
+ "operationId": "Policies_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PolicyNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete successful."
+ },
+ "204": {
+ "description": "No Content. The request has been accepted but the policy was not found."
+ }
+ },
+ "x-ms-examples": {
+ "Delete protection policy": {
+ "$ref": "./examples/WafPolicyDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/CdnWebApplicationFirewallManagedRuleSets": {
+ "get": {
+ "tags": [
+ "WebApplicationFirewallManagedRuleSets"
+ ],
+ "description": "Lists all available managed rule sets.",
+ "operationId": "ManagedRuleSets_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a list of all available web application firewall managed rule sets.",
+ "schema": {
+ "$ref": "#/definitions/ManagedRuleSetDefinitionList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./cdn.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Policies in a Resource Group": {
+ "$ref": "./examples/WafListManagedRuleSets.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CdnWebApplicationFirewallPolicyList": {
+ "description": "Defines a list of WebApplicationFirewallPolicies for Azure CDN. It contains a list of WebApplicationFirewallPolicy objects and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/CdnWebApplicationFirewallPolicy"
+ },
+ "description": "List of Azure CDN WebApplicationFirewallPolicies within a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of WebApplicationFirewallPolicy objects if there are any."
+ }
+ }
+ },
+ "CdnWebApplicationFirewallPolicy": {
+ "description": "Defines web application firewall policy for Azure CDN.",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties of the web application firewall policy.",
+ "$ref": "#/definitions/CdnWebApplicationFirewallPolicyProperties"
+ },
+ "etag": {
+ "type": "string",
+ "description": "Gets a unique read-only string that changes whenever the resource is updated."
+ },
+ "sku": {
+ "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CdnWebApplicationFirewallPolicy.",
+ "$ref": "./cdn.json#/definitions/Sku"
+ }
+ },
+ "required": [
+ "sku"
+ ],
+ "allOf": [
+ {
+ "$ref": "./cdn.json#/definitions/TrackedResource"
+ }
+ ]
+ },
+ "CdnWebApplicationFirewallPolicyPatchParameters": {
+ "type": "object",
+ "description": "Properties required to update a CdnWebApplicationFirewallPolicy.",
+ "properties": {
+ "tags": {
+ "description": "CdnWebApplicationFirewallPolicy tags",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "CdnWebApplicationFirewallPolicyProperties": {
+ "description": "Defines CDN web application firewall policy properties.",
+ "properties": {
+ "policySettings": {
+ "description": "Describes policySettings for policy",
+ "$ref": "#/definitions/policySettings"
+ },
+ "rateLimitRules": {
+ "description": "Describes rate limit rules inside the policy.",
+ "$ref": "#/definitions/RateLimitRuleList"
+ },
+ "customRules": {
+ "description": "Describes custom rules inside the policy.",
+ "$ref": "#/definitions/CustomRuleList"
+ },
+ "managedRules": {
+ "description": "Describes managed rules inside the policy.",
+ "$ref": "#/definitions/ManagedRuleSetList"
+ },
+ "endpointLinks": {
+ "description": "Describes Azure CDN endpoints associated with this Web Application Firewall policy.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/CdnEndpoint"
+ }
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Provisioning state of the WebApplicationFirewallPolicy.",
+ "enum": [
+ "Creating",
+ "Succeeded",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "resourceState": {
+ "title": "Resource status of the policy.",
+ "readOnly": true,
+ "enum": [
+ "Creating",
+ "Enabling",
+ "Enabled",
+ "Disabling",
+ "Disabled",
+ "Deleting"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PolicyResourceState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "policySettings": {
+ "description": "Defines contents of a web application firewall global configuration",
+ "properties": {
+ "enabledState": {
+ "description": "describes if the policy is in enabled state or disabled state",
+ "type": "string",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "x-ms-enum": {
+ "name": "PolicyEnabledState",
+ "modelAsString": true
+ }
+ },
+ "mode": {
+ "description": "Describes if it is in detection mode or prevention mode at policy level.",
+ "type": "string",
+ "enum": [
+ "Prevention",
+ "Detection"
+ ],
+ "x-ms-enum": {
+ "name": "PolicyMode",
+ "modelAsString": true
+ }
+ },
+ "defaultRedirectUrl": {
+ "description": "If action type is redirect, this field represents the default redirect URL for the client.",
+ "type": "string"
+ },
+ "defaultCustomBlockResponseStatusCode": {
+ "description": "If the action type is block, this field defines the default customer overridable http response status code.",
+ "type": "integer",
+ "enum": [
+ 200,
+ 403,
+ 405,
+ 406,
+ 429
+ ]
+ },
+ "defaultCustomBlockResponseBody": {
+ "description": "If the action type is block, customer can override the response body. The body must be specified in base64 encoding.",
+ "type": "string",
+ "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$"
+ }
+ }
+ },
+ "CdnEndpoint": {
+ "description": "Defines the ARM Resource ID for the linked endpoints",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "ARM Resource ID string."
+ }
+ }
+ },
+ "CustomRuleList": {
+ "description": "Defines contents of custom rules",
+ "properties": {
+ "rules": {
+ "description": "List of rules",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CustomRule"
+ }
+ }
+ }
+ },
+ "CustomRule": {
+ "description": "Defines the common attributes for a custom rule that can be included in a waf policy",
+ "type": "object",
+ "required": [
+ "name",
+ "priority",
+ "matchConditions",
+ "action"
+ ],
+ "properties": {
+ "name": {
+ "description": "Defines the name of the custom rule",
+ "type": "string"
+ },
+ "enabledState": {
+ "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.",
+ "type": "string",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "x-ms-enum": {
+ "name": "CustomRuleEnabledState",
+ "modelAsString": true
+ }
+ },
+ "priority": {
+ "description": "Defines in what order this rule be evaluated in the overall list of custom rules",
+ "type": "integer",
+ "maximum": 1000,
+ "exclusiveMaximum": false,
+ "minimum": 0,
+ "exclusiveMinimum": false
+ },
+ "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"
+ }
+ }
+ },
+ "RateLimitRuleList": {
+ "description": "Defines contents of rate limit rules",
+ "properties": {
+ "rules": {
+ "description": "List of rules",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RateLimitRule"
+ }
+ }
+ }
+ },
+ "RateLimitRule": {
+ "description": "Defines a rate limiting rule that can be included in a waf policy",
+ "type": "object",
+ "required": [
+ "rateLimitThreshold",
+ "rateLimitDurationInMinutes"
+ ],
+ "properties": {
+ "rateLimitThreshold": {
+ "description": "Defines rate limit threshold.",
+ "type": "integer",
+ "minimum": 0,
+ "exclusiveMinimum": false
+ },
+ "rateLimitDurationInMinutes": {
+ "description": "Defines rate limit duration. Default is 1 minute.",
+ "type": "integer",
+ "maximum": 60,
+ "exclusiveMaximum": false,
+ "minimum": 0,
+ "exclusiveMinimum": false
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/CustomRule"
+ }
+ ]
+ },
+ "MatchCondition": {
+ "description": "Define match conditions",
+ "required": [
+ "matchVariable",
+ "operator",
+ "matchValue"
+ ],
+ "properties": {
+ "matchVariable": {
+ "description": "Match variable to compare against.",
+ "type": "string",
+ "enum": [
+ "RemoteAddr",
+ "SocketAddr",
+ "RequestMethod",
+ "RequestHeader",
+ "RequestUri",
+ "QueryString",
+ "RequestBody",
+ "Cookies",
+ "PostArgs"
+ ],
+ "x-ms-enum": {
+ "name": "MatchVariable",
+ "modelAsString": true
+ }
+ },
+ "selector": {
+ "description": "Selector can used to match a specific key for QueryString, Cookies, RequestHeader or PostArgs.",
+ "type": "string"
+ },
+ "operator": {
+ "description": "Describes operator to be matched",
+ "type": "string",
+ "enum": [
+ "Any",
+ "IPMatch",
+ "GeoMatch",
+ "Equal",
+ "Contains",
+ "LessThan",
+ "GreaterThan",
+ "LessThanOrEqual",
+ "GreaterThanOrEqual",
+ "BeginsWith",
+ "EndsWith",
+ "RegEx"
+ ],
+ "x-ms-enum": {
+ "name": "operator",
+ "modelAsString": true
+ }
+ },
+ "negateCondition": {
+ "description": "Describes if the result of this condition should be negated.",
+ "type": "boolean"
+ },
+ "matchValue": {
+ "description": "List of possible match values.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transforms": {
+ "description": "List of transforms.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TransformType"
+ }
+ }
+ }
+ },
+ "TransformType": {
+ "description": "Describes what transforms were applied before matching.",
+ "type": "string",
+ "enum": [
+ "Lowercase",
+ "Uppercase",
+ "Trim",
+ "UrlDecode",
+ "UrlEncode",
+ "RemoveNulls"
+ ],
+ "x-ms-enum": {
+ "name": "TransformType",
+ "modelAsString": true
+ }
+ },
+ "ManagedRuleSetList": {
+ "description": "Defines the list of managed rule sets for the policy.",
+ "properties": {
+ "managedRuleSets": {
+ "description": "List of rule sets.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedRuleSet"
+ }
+ }
+ }
+ },
+ "ManagedRuleSet": {
+ "type": "object",
+ "description": "Defines a managed rule set.",
+ "required": [
+ "ruleSetType",
+ "ruleSetVersion"
+ ],
+ "properties": {
+ "ruleSetType": {
+ "description": "Defines the rule set type to use.",
+ "type": "string"
+ },
+ "ruleSetVersion": {
+ "description": "Defines the version of the rule set to use.",
+ "type": "string"
+ },
+ "anomalyScore": {
+ "description": "Verizon only : If the rule set supports anomaly detection mode, this describes the threshold for blocking requests.",
+ "type": "integer",
+ "maximum": 20,
+ "exclusiveMaximum": false,
+ "minimum": 0,
+ "exclusiveMinimum": false
+ },
+ "ruleGroupOverrides": {
+ "description": "Defines the rule overrides to apply to the rule set.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedRuleGroupOverride"
+ }
+ }
+ }
+ },
+ "ManagedRuleGroupOverride": {
+ "description": "Defines a managed rule group override setting.",
+ "required": [
+ "ruleGroupName"
+ ],
+ "properties": {
+ "ruleGroupName": {
+ "description": "Describes the managed rule group within the rule set to override",
+ "type": "string"
+ },
+ "rules": {
+ "description": "List of rules that will be 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.",
+ "type": "string",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedRuleEnabledState",
+ "modelAsString": true
+ }
+ },
+ "action": {
+ "description": "Describes the override action to be applied when rule matches.",
+ "$ref": "#/definitions/ActionType"
+ }
+ }
+ },
+ "ManagedRuleSetDefinitionList": {
+ "description": "List of managed rule set definitions available for use in a policy.",
+ "properties": {
+ "value": {
+ "description": "List of managed rule set definitions.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedRuleSetDefinition"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to retrieve next set of managed rule set definitions."
+ }
+ }
+ },
+ "ManagedRuleSetDefinition": {
+ "description": "Describes a managed rule set definition.",
+ "properties": {
+ "properties": {
+ "description": "Describes managed rule set definition properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ManagedRuleSetDefinitionProperties"
+ },
+ "sku": {
+ "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CdnWebApplicationFirewallPolicy.",
+ "$ref": "./cdn.json#/definitions/Sku"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./cdn.json#/definitions/Resource"
+ }
+ ]
+ },
+ "ManagedRuleSetDefinitionProperties": {
+ "description": "Properties for a managed rule set definition.",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Provisioning state of the managed rule set."
+ },
+ "ruleSetType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Type of the managed rule set."
+ },
+ "ruleSetVersion": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Version of the managed rule set type."
+ },
+ "ruleGroups": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ManagedRuleGroupDefinition"
+ },
+ "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"
+ },
+ "description": {
+ "description": "Describes the functionality of the managed rule.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "ActionType": {
+ "description": "Defines the action to take on rule match.",
+ "type": "string",
+ "enum": [
+ "Allow",
+ "Block",
+ "Log",
+ "Redirect"
+ ],
+ "x-ms-enum": {
+ "name": "ActionType",
+ "modelAsString": true
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Azure Subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request. Current version is 2017-04-02."
+ },
+ "PolicyNameParameter": {
+ "name": "policyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 128,
+ "x-ms-parameter-location": "method",
+ "description": "The name of the CdnWebApplicationFirewallPolicy."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9_\\-\\(\\)\\.]*[^\\.]$",
+ "minLength": 1,
+ "maxLength": 80,
+ "x-ms-parameter-location": "method",
+ "description": "Name of the Resource group within the Azure subscription."
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/CheckNameAvailability.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/CheckNameAvailability.json
new file mode 100644
index 000000000000..a48e0e034f1f
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/CheckNameAvailability.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "checkNameAvailabilityInput": {
+ "name": "sampleName",
+ "type": "Microsoft.Cdn/Profiles/Endpoints"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "Name is already in use",
+ "message": "Name not available"
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/CheckNameAvailabilityWithSubscription.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/CheckNameAvailabilityWithSubscription.json
new file mode 100644
index 000000000000..666805d4482d
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/CheckNameAvailabilityWithSubscription.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "checkNameAvailabilityInput": {
+ "name": "sampleName",
+ "type": "Microsoft.Cdn/Profiles/Endpoints"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "Name is already in use",
+ "message": "Name not available"
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/CustomDomains_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/CustomDomains_Create.json
new file mode 100644
index 000000000000..e234364eee5c
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/CustomDomains_Create.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "customDomainName": "www-someDomain-net",
+ "customDomainProperties": {
+ "properties": {
+ "hostName": "www.someDomain.net"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/customdomains",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "customHttpsProvisioningState": "Enabling",
+ "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval",
+ "validationData": null
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/customdomains",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "customHttpsProvisioningState": "Enabling",
+ "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval",
+ "validationData": null
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/customdomains",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "customHttpsProvisioningState": "Enabling",
+ "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval",
+ "validationData": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/CustomDomains_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/CustomDomains_Delete.json
new file mode 100644
index 000000000000..69f13bb1ddca
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/CustomDomains_Delete.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "customDomainName": "www-someDomain-net"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "body": {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/customdomains",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "customHttpsProvisioningState": "Enabling",
+ "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval",
+ "validationData": null
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/CustomDomains_DisableCustomHttps.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/CustomDomains_DisableCustomHttps.json
new file mode 100644
index 000000000000..53dc7228bc25
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/CustomDomains_DisableCustomHttps.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "customDomainName": "www-someDomain-net"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "body": {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/customdomains",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "customHttpsProvisioningState": "Enabling",
+ "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval",
+ "validationData": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/CustomDomains_EnableCustomHttpsUsingBYOC.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/CustomDomains_EnableCustomHttpsUsingBYOC.json
new file mode 100644
index 000000000000..f1fc807c6e01
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/CustomDomains_EnableCustomHttpsUsingBYOC.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "customDomainName": "www-someDomain-net",
+ "customHttpsParameters": {
+ "MinimumTLSVersion": "TLS12",
+ "certificateSource": "AzureKeyVault",
+ "protocolType": "ServerNameIndication",
+ "certificateSourceParameters": {
+ "OData.type": "#Microsoft.Azure.Cdn.Models.KeyVaultCertificateSourceParameters",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "vaultName": "kv",
+ "secretName": "secret1",
+ "secretVersion": "00000000-0000-0000-0000-000000000000",
+ "updateRule": "NoAction",
+ "deleteRule": "NoAction"
+ }
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "body": {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/customdomains",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "customHttpsProvisioningState": "Enabling",
+ "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval",
+ "validationData": "validationdata"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json
new file mode 100644
index 000000000000..fd81626a2431
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "customDomainName": "www-someDomain-net",
+ "customHttpsParameters": {
+ "MinimumTLSVersion": "TLS12",
+ "certificateSource": "Cdn",
+ "protocolType": "ServerNameIndication",
+ "certificateSourceParameters": {
+ "OData.type": "#Microsoft.Azure.Cdn.Models.CdnCertificateSourceParameters",
+ "certificateType": "Shared"
+ }
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "body": {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/customdomains",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "customHttpsProvisioningState": "Enabling",
+ "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval",
+ "validationData": "validationdata"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/CustomDomains_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/CustomDomains_Get.json
new file mode 100644
index 000000000000..6d1b1d65a899
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/CustomDomains_Get.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "customDomainName": "www-someDomain-net"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/customdomains",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "customHttpsProvisioningState": "Disabled",
+ "customHttpsProvisioningSubstate": "None",
+ "validationData": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/CustomDomains_ListByEndpoint.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/CustomDomains_ListByEndpoint.json
new file mode 100644
index 000000000000..98d69cfe24dd
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/CustomDomains_ListByEndpoint.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/customdomains",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "customHttpsProvisioningState": "Disabled",
+ "customHttpsProvisioningSubstate": "None",
+ "validationData": null
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/EdgeNodes_List.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/EdgeNodes_List.json
new file mode 100644
index 000000000000..85de12808f14
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/EdgeNodes_List.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Standard_Verizon",
+ "id": "/providers/Microsoft.Cdn/edgenodes/Standard_Verizon",
+ "type": "Microsoft.Cdn/edgenodes",
+ "properties": {
+ "ipAddressGroups": [
+ {
+ "deliveryRegion": "All",
+ "ipv4Addresses": [
+ {
+ "baseIpAddress": "192.229.176.0",
+ "prefixLength": 24
+ },
+ {
+ "baseIpAddress": "180.240.184.128",
+ "prefixLength": 25
+ },
+ {
+ "baseIpAddress": "152.195.27.0",
+ "prefixLength": 24
+ }
+ ],
+ "ipv6Addresses": [
+ {
+ "baseIpAddress": "2606:2800:60f2::",
+ "prefixLength": 48
+ },
+ {
+ "baseIpAddress": "2606:2800:700c::",
+ "prefixLength": 48
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "name": "Premium_Verizon",
+ "id": "/providers/Microsoft.Cdn/edgenodes/Premium_Verizon",
+ "type": "Microsoft.Cdn/edgenodes",
+ "properties": {
+ "ipAddressGroups": [
+ {
+ "deliveryRegion": "All",
+ "ipv4Addresses": [
+ {
+ "baseIpAddress": "192.229.176.0",
+ "prefixLength": 24
+ },
+ {
+ "baseIpAddress": "152.195.27.0",
+ "prefixLength": 24
+ }
+ ],
+ "ipv6Addresses": [
+ {
+ "baseIpAddress": "2606:2800:60f2::",
+ "prefixLength": 48
+ },
+ {
+ "baseIpAddress": "2606:2800:700c::",
+ "prefixLength": 48
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "name": "Custom_Verizon",
+ "id": "/providers/Microsoft.Cdn/edgenodes/Custom_Verizon",
+ "type": "Microsoft.Cdn/edgenodes",
+ "properties": {
+ "ipAddressGroups": [
+ {
+ "deliveryRegion": "All",
+ "ipv4Addresses": [
+ {
+ "baseIpAddress": "192.229.176.0",
+ "prefixLength": 24
+ },
+ {
+ "baseIpAddress": "2606:2800:420b::",
+ "prefixLength": 48
+ },
+ {
+ "baseIpAddress": "2606:2800:700c::",
+ "prefixLength": 48
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Create.json
new file mode 100644
index 000000000000..81fce9324123
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Create.json
@@ -0,0 +1,543 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "endpoint": {
+ "location": "WestUs",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "originHostHeader": "www.bing.com",
+ "originPath": "/photos",
+ "contentTypesToCompress": [
+ "text/html",
+ "application/octet-stream"
+ ],
+ "isCompressionEnabled": true,
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "BypassCaching",
+ "defaultOriginGroup": {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1"
+ },
+ "deliveryPolicy": {
+ "description": "Test description for a policy.",
+ "rules": [
+ {
+ "name": "rule1",
+ "order": 1,
+ "conditions": [
+ {
+ "name": "RemoteAddress",
+ "parameters": {
+ "operator": "IPMatch",
+ "negateCondition": true,
+ "matchValues": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ],
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters"
+ }
+ }
+ ],
+ "actions": [
+ {
+ "name": "CacheExpiration",
+ "parameters": {
+ "cacheBehavior": "Override",
+ "cacheDuration": "10:10:09",
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters",
+ "cacheType": "All"
+ }
+ },
+ {
+ "name": "ModifyResponseHeader",
+ "parameters": {
+ "headerAction": "Overwrite",
+ "headerName": "Access-Control-Allow-Origin",
+ "value": "*",
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters"
+ }
+ },
+ {
+ "name": "ModifyRequestHeader",
+ "parameters": {
+ "headerAction": "Overwrite",
+ "headerName": "Accept-Encoding",
+ "value": "gzip",
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "origins": [
+ {
+ "name": "origin1",
+ "properties": {
+ "hostName": "www.someDomain1.net",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain1.net",
+ "priority": 1,
+ "weight": 50,
+ "enabled": true
+ }
+ },
+ {
+ "name": "origin2",
+ "properties": {
+ "hostName": "www.someDomain2.net",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain2.net",
+ "priority": 2,
+ "weight": 50,
+ "enabled": true
+ }
+ }
+ ],
+ "originGroups": [
+ {
+ "name": "originGroup1",
+ "properties": {
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2"
+ }
+ ],
+ "responseBasedOriginErrorDetectionSettings": {
+ "responseBasedDetectedErrorTypes": "TcpErrorsOnly",
+ "responseBasedFailoverThresholdPercentage": 10
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "endpoint4899",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1",
+ "type": "Microsoft.Cdn/profiles/endpoints",
+ "tags": {
+ "kay1": "value1"
+ },
+ "location": "WestUs",
+ "properties": {
+ "hostName": "endpoint4899.azureedge-test.net",
+ "originHostHeader": "www.bing.com",
+ "provisioningState": "Creating",
+ "resourceState": "Creating",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "BypassCaching",
+ "originPath": "/photos",
+ "defaultOriginGroup": {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1"
+ },
+ "origins": [
+ {
+ "name": "origin1",
+ "properties": {
+ "hostName": "www.someDomain1.net",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain1.net",
+ "priority": 1,
+ "weight": 50,
+ "enabled": true
+ }
+ },
+ {
+ "name": "origin2",
+ "properties": {
+ "hostName": "www.someDomain2.net",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain2.net",
+ "priority": 2,
+ "weight": 50,
+ "enabled": true
+ }
+ }
+ ],
+ "originGroups": [
+ {
+ "name": "originGroup1",
+ "properties": {
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2"
+ }
+ ],
+ "responseBasedOriginErrorDetectionSettings": {
+ "responseBasedDetectedErrorTypes": "TcpErrorsOnly",
+ "responseBasedFailoverThresholdPercentage": 10
+ }
+ }
+ }
+ ],
+ "contentTypesToCompress": [
+ "text/html",
+ "application/octet-stream"
+ ],
+ "isCompressionEnabled": true,
+ "optimizationType": null,
+ "probePath": null,
+ "geoFilters": [],
+ "deliveryPolicy": {
+ "description": "Test description for a policy.",
+ "rules": [
+ {
+ "name": "rule1",
+ "order": 1,
+ "conditions": [
+ {
+ "name": "RemoteAddress",
+ "parameters": {
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters",
+ "operator": "IPMatch",
+ "negateCondition": true,
+ "matchValues": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ],
+ "transforms": []
+ }
+ }
+ ],
+ "actions": [
+ {
+ "name": "CacheExpiration",
+ "parameters": {
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters",
+ "cacheBehavior": "Override",
+ "cacheDuration": "10:10:09",
+ "cacheType": "All"
+ }
+ },
+ {
+ "name": "ModifyResponseHeader",
+ "parameters": {
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters",
+ "headerAction": "Overwrite",
+ "headerName": "Access-Control-Allow-Origin",
+ "value": "*"
+ }
+ },
+ {
+ "name": "ModifyRequestHeader",
+ "parameters": {
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters",
+ "headerAction": "Overwrite",
+ "headerName": "Accept-Encoding",
+ "value": "gzip"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "endpoint4899",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1",
+ "type": "Microsoft.Cdn/profiles/endpoints",
+ "tags": {
+ "kay1": "value1"
+ },
+ "location": "WestUs",
+ "properties": {
+ "hostName": "endpoint4899.azureedge-test.net",
+ "originHostHeader": "www.bing.com",
+ "provisioningState": "Creating",
+ "resourceState": "Creating",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "BypassCaching",
+ "originPath": "/photos",
+ "defaultOriginGroup": {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1"
+ },
+ "origins": [
+ {
+ "name": "origin1",
+ "properties": {
+ "hostName": "www.someDomain1.net",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain1.net",
+ "priority": 1,
+ "weight": 50,
+ "enabled": true
+ }
+ },
+ {
+ "name": "origin2",
+ "properties": {
+ "hostName": "www.someDomain2.net",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain2.net",
+ "priority": 2,
+ "weight": 50,
+ "enabled": true
+ }
+ }
+ ],
+ "originGroups": [
+ {
+ "name": "originGroup1",
+ "properties": {
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2"
+ }
+ ],
+ "responseBasedOriginErrorDetectionSettings": {
+ "responseBasedDetectedErrorTypes": "TcpErrorsOnly",
+ "responseBasedFailoverThresholdPercentage": 10
+ }
+ }
+ }
+ ],
+ "contentTypesToCompress": [
+ "text/html",
+ "application/octet-stream"
+ ],
+ "isCompressionEnabled": true,
+ "optimizationType": null,
+ "probePath": null,
+ "geoFilters": [],
+ "deliveryPolicy": {
+ "description": "Test description for a policy.",
+ "rules": [
+ {
+ "name": "rule1",
+ "order": 1,
+ "conditions": [
+ {
+ "name": "RemoteAddress",
+ "parameters": {
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters",
+ "operator": "IPMatch",
+ "negateCondition": true,
+ "matchValues": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ],
+ "transforms": []
+ }
+ }
+ ],
+ "actions": [
+ {
+ "name": "CacheExpiration",
+ "parameters": {
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters",
+ "cacheBehavior": "Override",
+ "cacheDuration": "10:10:09",
+ "cacheType": "All"
+ }
+ },
+ {
+ "name": "ModifyResponseHeader",
+ "parameters": {
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters",
+ "headerAction": "Overwrite",
+ "headerName": "Access-Control-Allow-Origin",
+ "value": "*"
+ }
+ },
+ {
+ "name": "ModifyRequestHeader",
+ "parameters": {
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters",
+ "headerAction": "Overwrite",
+ "headerName": "Accept-Encoding",
+ "value": "gzip"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "name": "endpoint4899",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1",
+ "type": "Microsoft.Cdn/profiles/endpoints",
+ "tags": {
+ "kay1": "value1"
+ },
+ "location": "WestUs",
+ "properties": {
+ "hostName": "endpoint4899.azureedge-test.net",
+ "originHostHeader": "www.bing.com",
+ "provisioningState": "Creating",
+ "resourceState": "Creating",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "BypassCaching",
+ "originPath": "/photos",
+ "defaultOriginGroup": {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1"
+ },
+ "origins": [
+ {
+ "name": "origin1",
+ "properties": {
+ "hostName": "www.someDomain1.net",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain1.net",
+ "priority": 1,
+ "weight": 50,
+ "enabled": true
+ }
+ },
+ {
+ "name": "origin2",
+ "properties": {
+ "hostName": "www.someDomain2.net",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain2.net",
+ "priority": 2,
+ "weight": 50,
+ "enabled": true
+ }
+ }
+ ],
+ "originGroups": [
+ {
+ "name": "originGroup1",
+ "properties": {
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2"
+ }
+ ],
+ "responseBasedOriginErrorDetectionSettings": {
+ "responseBasedDetectedErrorTypes": "TcpErrorsOnly",
+ "responseBasedFailoverThresholdPercentage": 10
+ }
+ }
+ }
+ ],
+ "contentTypesToCompress": [
+ "text/html",
+ "application/octet-stream"
+ ],
+ "isCompressionEnabled": true,
+ "optimizationType": null,
+ "probePath": null,
+ "geoFilters": [],
+ "deliveryPolicy": {
+ "description": "Test description for a policy.",
+ "rules": [
+ {
+ "name": "rule1",
+ "order": 1,
+ "conditions": [
+ {
+ "name": "RemoteAddress",
+ "parameters": {
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters",
+ "operator": "IPMatch",
+ "negateCondition": true,
+ "matchValues": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ],
+ "transforms": []
+ }
+ }
+ ],
+ "actions": [
+ {
+ "name": "CacheExpiration",
+ "parameters": {
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters",
+ "cacheBehavior": "Override",
+ "cacheDuration": "10:10:09",
+ "cacheType": "All"
+ }
+ },
+ {
+ "name": "ModifyResponseHeader",
+ "parameters": {
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters",
+ "headerAction": "Overwrite",
+ "headerName": "Access-Control-Allow-Origin",
+ "value": "*"
+ }
+ },
+ {
+ "name": "ModifyRequestHeader",
+ "parameters": {
+ "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters",
+ "headerAction": "Overwrite",
+ "headerName": "Accept-Encoding",
+ "value": "gzip"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Delete.json
new file mode 100644
index 000000000000..4b0bc371a510
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Get.json
new file mode 100644
index 000000000000..039687fc7b8d
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Get.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "endpoint1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1",
+ "type": "Microsoft.Cdn/profiles/endpoints",
+ "tags": {},
+ "location": "CentralUs",
+ "properties": {
+ "hostName": "endpoint1.azureedge.net",
+ "originHostHeader": "www.bing.com",
+ "provisioningState": "Succeeded",
+ "resourceState": "Running",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "NotSet",
+ "originPath": null,
+ "origins": [
+ {
+ "name": "www-bing-com",
+ "properties": {
+ "hostName": "www.bing.com",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain2.net",
+ "priority": 2,
+ "weight": 50,
+ "enabled": true
+ }
+ }
+ ],
+ "originGroups": [
+ {
+ "name": "originGroup1",
+ "properties": {
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-bing-com"
+ }
+ ]
+ }
+ }
+ ],
+ "contentTypesToCompress": [],
+ "isCompressionEnabled": false,
+ "optimizationType": "DynamicSiteAcceleration",
+ "probePath": "/image",
+ "geoFilters": [],
+ "defaultOriginGroup": {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_ListByProfile.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_ListByProfile.json
new file mode 100644
index 000000000000..f5cb3c0f6fe2
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_ListByProfile.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "endpoint1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1",
+ "type": "Microsoft.Cdn/profiles/endpoints",
+ "tags": {},
+ "location": "CentralUs",
+ "properties": {
+ "hostName": "endpoint1.azureedge.net",
+ "originHostHeader": "www.bing.com",
+ "provisioningState": "Succeeded",
+ "resourceState": "Running",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "NotSet",
+ "originPath": null,
+ "origins": [
+ {
+ "name": "www-bing-com",
+ "properties": {
+ "hostName": "www.bing.com",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain2.net",
+ "priority": 2,
+ "weight": 50,
+ "enabled": true
+ }
+ }
+ ],
+ "originGroups": [
+ {
+ "name": "originGroup1",
+ "properties": {
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-bing-com"
+ }
+ ],
+ "responseBasedOriginErrorDetectionSettings": {
+ "responseBasedDetectedErrorTypes": "TcpErrorsOnly",
+ "responseBasedFailoverThresholdPercentage": 10
+ }
+ }
+ }
+ ],
+ "contentTypesToCompress": [],
+ "isCompressionEnabled": false,
+ "optimizationType": "DynamicSiteAcceleration",
+ "probePath": "/image",
+ "geoFilters": [],
+ "defaultOriginGroup": {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_ListResourceUsage.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_ListResourceUsage.json
new file mode 100644
index 000000000000..b3c53e02be22
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_ListResourceUsage.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "customdomain",
+ "unit": "count",
+ "currentValue": 1,
+ "limit": 20
+ },
+ {
+ "resourceType": "geofilter",
+ "unit": "count",
+ "currentValue": 0,
+ "limit": 25
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_LoadContent.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_LoadContent.json
new file mode 100644
index 000000000000..5daeb6e31202
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_LoadContent.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "contentFilePaths": {
+ "contentPaths": [
+ "/folder1"
+ ]
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_PurgeContent.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_PurgeContent.json
new file mode 100644
index 000000000000..5daeb6e31202
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_PurgeContent.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "contentFilePaths": {
+ "contentPaths": [
+ "/folder1"
+ ]
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Start.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Start.json
new file mode 100644
index 000000000000..94310c51922f
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Start.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "endpoint4899",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1",
+ "type": "Microsoft.Cdn/profiles/endpoints",
+ "tags": {
+ "kay1": "value1"
+ },
+ "location": "WestUs",
+ "properties": {
+ "hostName": "endpoint1.azureedge.net",
+ "originHostHeader": "www.bing.com",
+ "provisioningState": "Succeeded",
+ "resourceState": "Starting",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "NotSet",
+ "originPath": null,
+ "origins": [
+ {
+ "name": "www-bing-com",
+ "properties": {
+ "hostName": "www.bing.com",
+ "httpPort": 80,
+ "httpsPort": 443
+ }
+ }
+ ],
+ "contentTypesToCompress": [],
+ "isCompressionEnabled": false,
+ "optimizationType": "DynamicSiteAcceleration",
+ "probePath": "/image",
+ "geoFilters": []
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "name": "endpoint4899",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1",
+ "type": "Microsoft.Cdn/profiles/endpoints",
+ "tags": {
+ "kay1": "value1"
+ },
+ "location": "WestUs",
+ "properties": {
+ "hostName": "endpoint1.azureedge.net",
+ "originHostHeader": "www.bing.com",
+ "provisioningState": "Succeeded",
+ "resourceState": "Starting",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "NotSet",
+ "originPath": null,
+ "origins": [
+ {
+ "name": "www-bing-com",
+ "properties": {
+ "hostName": "www.bing.com",
+ "httpPort": 80,
+ "httpsPort": 443
+ }
+ }
+ ],
+ "contentTypesToCompress": [],
+ "isCompressionEnabled": false,
+ "optimizationType": "DynamicSiteAcceleration",
+ "probePath": "/image",
+ "geoFilters": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Stop.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Stop.json
new file mode 100644
index 000000000000..0bf457363066
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Stop.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "endpoint4899",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1",
+ "type": "Microsoft.Cdn/profiles/endpoints",
+ "tags": {
+ "kay1": "value1"
+ },
+ "location": "WestUs",
+ "properties": {
+ "hostName": "endpoint1.azureedge.net",
+ "originHostHeader": "www.bing.com",
+ "provisioningState": "Succeeded",
+ "resourceState": "Stopping",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "NotSet",
+ "originPath": null,
+ "origins": [
+ {
+ "name": "www-bing-com",
+ "properties": {
+ "hostName": "www.bing.com",
+ "httpPort": 80,
+ "httpsPort": 443
+ }
+ }
+ ],
+ "contentTypesToCompress": [],
+ "isCompressionEnabled": false,
+ "optimizationType": "DynamicSiteAcceleration",
+ "probePath": "/image",
+ "geoFilters": []
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "name": "endpoint4899",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1",
+ "type": "Microsoft.Cdn/profiles/endpoints",
+ "tags": {
+ "kay1": "value1"
+ },
+ "location": "WestUs",
+ "properties": {
+ "hostName": "endpoint1.azureedge.net",
+ "originHostHeader": "www.bing.com",
+ "provisioningState": "Succeeded",
+ "resourceState": "Stopping",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "NotSet",
+ "originPath": null,
+ "origins": [
+ {
+ "name": "www-bing-com",
+ "properties": {
+ "hostName": "www.bing.com",
+ "httpPort": 80,
+ "httpsPort": 443
+ }
+ }
+ ],
+ "contentTypesToCompress": [],
+ "isCompressionEnabled": false,
+ "optimizationType": "DynamicSiteAcceleration",
+ "probePath": "/image",
+ "geoFilters": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Update.json
new file mode 100644
index 000000000000..bad861f930d3
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Update.json
@@ -0,0 +1,138 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "endpointUpdateProperties": {
+ "tags": {
+ "additionalProperties": "Tag1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "endpoint1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1",
+ "type": "Microsoft.Cdn/profiles/endpoints",
+ "tags": {
+ "additionalProperties": "Tag1"
+ },
+ "location": "WestCentralUs",
+ "properties": {
+ "hostName": "endpoint1.azureedge.net",
+ "originHostHeader": null,
+ "provisioningState": "Creating",
+ "resourceState": "Creating",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "IgnoreQueryString",
+ "originPath": null,
+ "origins": [
+ {
+ "name": "www-bing-com",
+ "properties": {
+ "hostName": "www.bing.com",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain2.net",
+ "priority": 2,
+ "weight": 50,
+ "enabled": true
+ }
+ }
+ ],
+ "originGroups": [
+ {
+ "name": "originGroup1",
+ "properties": {
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-bing-com"
+ }
+ ]
+ }
+ }
+ ],
+ "defaultOriginGroup": {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1"
+ },
+ "contentTypesToCompress": [],
+ "isCompressionEnabled": false,
+ "optimizationType": null,
+ "probePath": null,
+ "geoFilters": []
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "name": "endpoint1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1",
+ "type": "Microsoft.Cdn/profiles/endpoints",
+ "tags": {
+ "additionalProperties": "Tag1"
+ },
+ "location": "WestCentralUs",
+ "properties": {
+ "hostName": "endpoint1.azureedge.net",
+ "originHostHeader": null,
+ "provisioningState": "Creating",
+ "resourceState": "Creating",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "IgnoreQueryString",
+ "originPath": null,
+ "origins": [
+ {
+ "name": "www-bing-com",
+ "properties": {
+ "hostName": "www.bing.com",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain2.net",
+ "priority": 2,
+ "weight": 50,
+ "enabled": true
+ }
+ }
+ ],
+ "originGroups": [
+ {
+ "name": "originGroup1",
+ "properties": {
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-bing-com"
+ }
+ ]
+ }
+ }
+ ],
+ "contentTypesToCompress": [],
+ "isCompressionEnabled": false,
+ "optimizationType": null,
+ "probePath": null,
+ "geoFilters": [],
+ "defaultOriginGroup": {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_ValidateCustomDomain.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_ValidateCustomDomain.json
new file mode 100644
index 000000000000..e57bad007e46
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_ValidateCustomDomain.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "customDomainProperties": {
+ "hostName": "www.someDomain.com"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "customDomainValidated": true,
+ "message": null,
+ "reason": null
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Operations_List.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Operations_List.json
new file mode 100644
index 000000000000..e971f958b00e
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Operations_List.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Cdn/register/action",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "Microsoft.Cdn Resource Provider",
+ "operation": "Registers the Microsoft.Cdn Resource Provider"
+ }
+ },
+ {
+ "name": "Microsoft.Cdn/edgenodes/read",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "EdgeNode",
+ "operation": "read"
+ }
+ },
+ {
+ "name": "Microsoft.Cdn/edgenodes/write",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "EdgeNode",
+ "operation": "write"
+ }
+ },
+ {
+ "name": "Microsoft.Cdn/edgenodes/delete",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "EdgeNode",
+ "operation": "delete"
+ }
+ },
+ {
+ "name": "Microsoft.Cdn/profiles/read",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "Profile",
+ "operation": "read"
+ }
+ },
+ {
+ "name": "Microsoft.Cdn/profiles/write",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "Profile",
+ "operation": "write"
+ }
+ },
+ {
+ "name": "Microsoft.Cdn/operationresults/profileresults/write",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "Profile",
+ "operation": "write"
+ }
+ },
+ {
+ "name": "Microsoft.Cdn/operationresults/profileresults/delete",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "Profile",
+ "operation": "delete"
+ }
+ },
+ {
+ "name": "Microsoft.Cdn/operationresults/profileresults/CheckResourceUsage/action",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "Profile",
+ "operation": "CheckResourceUsage"
+ }
+ },
+ {
+ "name": "Microsoft.Cdn/operationresults/profileresults/GenerateSsoUri/action",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "Profile",
+ "operation": "GenerateSsoUri"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/OriginGroups_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/OriginGroups_Create.json
new file mode 100644
index 000000000000..78c047669ba4
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/OriginGroups_Create.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "originGroupName": "origingroup1",
+ "originGroup": {
+ "properties": {
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1"
+ }
+ ],
+ "responseBasedOriginErrorDetectionSettings": {
+ "responseBasedDetectedErrorTypes": "TcpErrorsOnly",
+ "responseBasedFailoverThresholdPercentage": 10
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "origingroup1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1",
+ "type": "Microsoft.Cdn/profiles/endpoints/origingroups",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1"
+ }
+ ],
+ "responseBasedOriginErrorDetectionSettings": {
+ "responseBasedDetectedErrorTypes": "TcpErrorsOnly",
+ "responseBasedFailoverThresholdPercentage": 10
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "origingroup1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1",
+ "type": "Microsoft.Cdn/profiles/endpoints/origingroups",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1"
+ }
+ ],
+ "responseBasedOriginErrorDetectionSettings": {
+ "responseBasedDetectedErrorTypes": "TcpErrorsOnly",
+ "responseBasedFailoverThresholdPercentage": 10
+ }
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "name": "originGroup1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1",
+ "type": "Microsoft.Cdn/profiles/endpoints/origingroups",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1"
+ }
+ ],
+ "responseBasedOriginErrorDetectionSettings": {
+ "responseBasedDetectedErrorTypes": "TcpErrorsOnly",
+ "responseBasedFailoverThresholdPercentage": 10
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/OriginGroups_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/OriginGroups_Delete.json
new file mode 100644
index 000000000000..30b340bc1eb9
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/OriginGroups_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "originGroupName": "originGroup1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/OriginGroups_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/OriginGroups_Get.json
new file mode 100644
index 000000000000..c6f28a99a3b9
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/OriginGroups_Get.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "originGroupName": "originGroup1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "origingroup1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1",
+ "type": "Microsoft.Cdn/profiles/endpoints/origingroups",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1"
+ }
+ ],
+ "responseBasedOriginErrorDetectionSettings": {
+ "responseBasedDetectedErrorTypes": "TcpAndHttpErrors",
+ "responseBasedFailoverThresholdPercentage": 10,
+ "httpErrorRanges": [
+ {
+ "begin": 500,
+ "end": 505
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/OriginGroups_ListByEndpoint.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/OriginGroups_ListByEndpoint.json
new file mode 100644
index 000000000000..491319268648
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/OriginGroups_ListByEndpoint.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "origingroup1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1",
+ "type": "Microsoft.Cdn/profiles/endpoints/origingroups",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1"
+ }
+ ],
+ "responseBasedOriginErrorDetectionSettings": {
+ "responseBasedDetectedErrorTypes": "TcpErrorsOnly",
+ "responseBasedFailoverThresholdPercentage": 10
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/OriginGroups_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/OriginGroups_Update.json
new file mode 100644
index 000000000000..8c7b87fe8999
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/OriginGroups_Update.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "originGroupName": "originGroup1",
+ "originGroupUpdateProperties": {
+ "properties": {
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/origins",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2"
+ }
+ ]
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/origins",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "healthProbeSettings": {
+ "probePath": "/health.aspx",
+ "probeRequestType": "GET",
+ "probeProtocol": "Http",
+ "probeIntervalInSeconds": 120
+ },
+ "origins": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Create.json
new file mode 100644
index 000000000000..31ad52dc4aaa
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Create.json
@@ -0,0 +1,108 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "originName": "www-someDomain-net",
+ "origin": {
+ "location": "WestUs",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "hostName": "www.someDomain.net",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain.net",
+ "priority": 1,
+ "weight": 50,
+ "enabled": true,
+ "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1",
+ "privateLinkLocation": "eastus",
+ "privateLinkApprovalMessage": "Please approve the connection request for this Private Link"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "www-someDomain-net",
+ "location": "WestUs",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/origins",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain.net",
+ "priority": 1,
+ "weight": 50,
+ "enabled": true,
+ "privateEndpointStatus": "Pending",
+ "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1",
+ "privateLinkLocation": "eastus",
+ "privateLinkApprovalMessage": "Please approve the connection request for this Private Link"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "www-someDomain-net",
+ "location": "WestUs",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/origins",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain.net",
+ "priority": 1,
+ "weight": 50,
+ "enabled": true,
+ "privateEndpointStatus": "Pending",
+ "privateLinkApprovalMessage": "",
+ "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1",
+ "privateLinkLocation": "eastus"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "name": "www-someDomain-net",
+ "location": "WestUs",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/origins",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "httpPort": 80,
+ "httpsPort": 443,
+ "originHostHeader": "www.someDomain.net",
+ "priority": 1,
+ "weight": 50,
+ "enabled": true,
+ "privateEndpointStatus": "Pending",
+ "privateLinkApprovalMessage": "",
+ "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1",
+ "privateLinkLocation": "eastus"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Delete.json
new file mode 100644
index 000000000000..4a270df6853f
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "originName": "origin1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Get.json
new file mode 100644
index 000000000000..89a514a4d173
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Get.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "originName": "www-someDomain-net"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "www-someDomain-net",
+ "location": "WestUs",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/origins",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "httpPort": null,
+ "httpsPort": null,
+ "originHostHeader": "www.someDomain.net",
+ "priority": 1,
+ "weight": 50,
+ "enabled": true,
+ "privateEndpointStatus": "Pending",
+ "privateLinkApprovalMessage": "Please approve the connection request for this Private Link",
+ "privateLinkAlias": "APPSERVER.d84e61f0-0870-4d24-9746-7438fa0019d1.westus2.azure.privatelinkservice"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_ListByEndpoint.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_ListByEndpoint.json
new file mode 100644
index 000000000000..13aae31ac89f
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_ListByEndpoint.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "www-someDomain-net",
+ "location": "WestUs",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/origins",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "httpPort": null,
+ "httpsPort": null,
+ "originHostHeader": "www.someDomain.net",
+ "priority": 1,
+ "weight": 50,
+ "enabled": true,
+ "privateEndpointStatus": "Pending",
+ "privateLinkApprovalMessage": "Please approve the connection request for this Private Link",
+ "privateLinkAlias": "APPSERVER.d84e61f0-0870-4d24-9746-7438fa0019d1.westus2.azure.privatelinkservice"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Update.json
new file mode 100644
index 000000000000..f6e79f729785
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Update.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "originName": "www-someDomain-net",
+ "originUpdateProperties": {
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "httpPort": 42,
+ "httpsPort": 43,
+ "originHostHeader": "www.someDomain2.net",
+ "priority": 1,
+ "weight": 50,
+ "enabled": true,
+ "privateLinkAlias": "APPSERVER.d84e61f0-0870-4d24-9746-7438fa0019d1.westus2.azure.privatelinkservice"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "www-someDomain-net",
+ "location": "WestUs",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/origins",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "httpPort": 42,
+ "httpsPort": 43,
+ "originHostHeader": "www.someDomain2.net",
+ "priority": 1,
+ "weight": 50,
+ "enabled": true,
+ "privateEndpointStatus": "Pending",
+ "privateLinkApprovalMessage": "Please approve the connection request for this Private Link",
+ "privateLinkAlias": "APPSERVER.d84e61f0-0870-4d24-9746-7438fa0019d1.westus2.azure.privatelinkservice"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
+ "location": "WestUs",
+ "tags": {
+ "key1": "value1"
+ },
+ "type": "Microsoft.Cdn/profiles/endpoints/origins",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "httpPort": 42,
+ "httpsPort": 43,
+ "originHostHeader": "www.someDomain2.net",
+ "priority": 1,
+ "weight": 50,
+ "enabled": true,
+ "privateEndpointStatus": "Pending",
+ "privateLinkApprovalMessage": "Please approve the connection request for this Private Link",
+ "privateLinkAlias": "APPSERVER.d84e61f0-0870-4d24-9746-7438fa0019d1.westus2.azure.privatelinkservice"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Profiles_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Profiles_Create.json
new file mode 100644
index 000000000000..8ed2a4b03dd2
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Profiles_Create.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "profile": {
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Verizon"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "profile1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1",
+ "type": "Microsoft.Cdn/profiles",
+ "tags": {},
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Verizon"
+ },
+ "properties": {
+ "provisioningState": "Creating",
+ "resourceState": "Creating"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "profile1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1",
+ "type": "Microsoft.Cdn/profiles",
+ "tags": {},
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Verizon"
+ },
+ "properties": {
+ "provisioningState": "Creating",
+ "resourceState": "Creating"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "name": "profile1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1",
+ "type": "Microsoft.Cdn/profiles",
+ "tags": {},
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Verizon"
+ },
+ "properties": {
+ "provisioningState": "Creating",
+ "resourceState": "Creating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Profiles_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Profiles_Delete.json
new file mode 100644
index 000000000000..22bbf70debdd
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Profiles_Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Profiles_GenerateSsoUri.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Profiles_GenerateSsoUri.json
new file mode 100644
index 000000000000..aefe1ea2bf3e
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Profiles_GenerateSsoUri.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "ssoUriValue": "https://someuri.com"
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Profiles_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Profiles_Get.json
new file mode 100644
index 000000000000..d9ea670565db
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Profiles_Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "profile1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1",
+ "type": "Microsoft.Cdn/profiles",
+ "tags": {},
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Akamai"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Profiles_List.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Profiles_List.json
new file mode 100644
index 000000000000..b50921e0621b
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Profiles_List.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "profile1",
+ "id": "/subscriptions/subid/resourcegroups/RG1/providers/Microsoft.Cdn/profiles/profile1",
+ "type": "Microsoft.Cdn/profiles",
+ "tags": {},
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Akamai"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active"
+ }
+ },
+ {
+ "name": "profile2",
+ "id": "/subscriptions/subid/resourcegroups/RG1/providers/Microsoft.Cdn/profiles/profile2",
+ "type": "Microsoft.Cdn/profiles",
+ "tags": {},
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Akamai"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Profiles_ListByResourceGroup.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Profiles_ListByResourceGroup.json
new file mode 100644
index 000000000000..63a2179d74c0
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Profiles_ListByResourceGroup.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "profile1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1",
+ "type": "Microsoft.Cdn/profiles",
+ "tags": {},
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Akamai"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active"
+ }
+ },
+ {
+ "name": "profile2",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile2",
+ "type": "Microsoft.Cdn/profiles",
+ "tags": {},
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Akamai"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Profiles_ListResourceUsage.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Profiles_ListResourceUsage.json
new file mode 100644
index 000000000000..3830380800be
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Profiles_ListResourceUsage.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "endpoint",
+ "unit": "count",
+ "currentValue": 0,
+ "limit": 25
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Profiles_ListSupportedOptimizationTypes.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Profiles_ListSupportedOptimizationTypes.json
new file mode 100644
index 000000000000..c3f7aecedd99
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Profiles_ListSupportedOptimizationTypes.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "supportedOptimizationTypes": [
+ "GeneralWebDelivery",
+ "DynamicSiteAcceleration"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Profiles_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Profiles_Update.json
new file mode 100644
index 000000000000..8b626338de52
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Profiles_Update.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "profileUpdateParameters": {
+ "tags": {
+ "additionalProperties": "Tag1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "profile1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1",
+ "type": "Microsoft.Cdn/profiles",
+ "tags": {
+ "additionalProperties": "Tag1"
+ },
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Verizon"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "name": "profile1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1",
+ "type": "Microsoft.Cdn/profiles",
+ "tags": {
+ "additionalProperties": "Tag1"
+ },
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Verizon"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/ResourceUsage_List.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/ResourceUsage_List.json
new file mode 100644
index 000000000000..e392d79f386d
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/ResourceUsage_List.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "profile",
+ "unit": "count",
+ "currentValue": 31,
+ "limit": 200
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/ValidateProbe.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/ValidateProbe.json
new file mode 100644
index 000000000000..cf8a858664ca
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/ValidateProbe.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "validateProbeInput": {
+ "probeURL": "https://www.bing.com/image"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isValid": true,
+ "errorCode": "None",
+ "message": null
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/WafListManagedRuleSets.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/WafListManagedRuleSets.json
new file mode 100644
index 000000000000..92cca78b4f3b
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/WafListManagedRuleSets.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "DefaultRuleSet_1.0",
+ "id": "/subscriptions/subid/providers/Microsoft.Cdn/CdnWebApplicationFirewallManagedRuleSets",
+ "type": "Microsoft.Cdn/cdnwebapplicationfirewallmanagedrulesets",
+ "sku": {
+ "name": "Standard_Microsoft"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ruleSetType": "DefaultRuleSet",
+ "ruleSetVersion": "preview-1.0",
+ "ruleGroups": [
+ {
+ "ruleGroupName": "Group1",
+ "description": "Description for rule group 1.",
+ "rules": [
+ {
+ "ruleId": "GROUP1-0001",
+ "description": "Generic managed web application firewall rule."
+ },
+ {
+ "ruleId": "GROUP1-0002",
+ "description": "Generic managed web application firewall rule."
+ }
+ ]
+ },
+ {
+ "ruleGroupName": "Group2",
+ "description": "Description for rule group 2.",
+ "rules": [
+ {
+ "ruleId": "GROUP2-0001",
+ "description": "Generic managed web application firewall rule."
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/WafListPolicies.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/WafListPolicies.json
new file mode 100644
index 000000000000..68f6d96c8893
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/WafListPolicies.json
@@ -0,0 +1,265 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "MicrosoftCdnWafPolicy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/MicrosoftCdnWafPolicy",
+ "type": "Microsoft.Cdn/cdnwebapplicationfirewallpolicies",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "sku": {
+ "name": "Standard_Microsoft"
+ },
+ "properties": {
+ "resourceState": "Enabled",
+ "provisioningState": "Succeeded",
+ "policySettings": {
+ "enabledState": "Enabled",
+ "mode": "Prevention",
+ "defaultRedirectUrl": "http://www.bing.com",
+ "defaultCustomBlockResponseStatusCode": 429,
+ "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg=="
+ },
+ "rateLimitRules": {
+ "rules": [
+ {
+ "name": "RateLimitRule1",
+ "priority": 1,
+ "enabledState": "Enabled",
+ "rateLimitDurationInMinutes": 0,
+ "rateLimitThreshold": 1000,
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "IPMatch",
+ "negateCondition": false,
+ "transforms": [],
+ "matchValue": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ },
+ "customRules": {
+ "rules": [
+ {
+ "name": "CustomRule1",
+ "priority": 2,
+ "enabledState": "Enabled",
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "GeoMatch",
+ "negateCondition": false,
+ "transforms": [],
+ "matchValue": [
+ "CH"
+ ]
+ },
+ {
+ "matchVariable": "RequestHeader",
+ "selector": "UserAgent",
+ "operator": "Contains",
+ "negateCondition": false,
+ "transforms": [],
+ "matchValue": [
+ "windows"
+ ]
+ },
+ {
+ "matchVariable": "QueryString",
+ "selector": "search",
+ "operator": "Contains",
+ "negateCondition": false,
+ "transforms": [
+ "UrlDecode",
+ "Lowercase"
+ ],
+ "matchValue": [
+ ""
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ },
+ "managedRules": {
+ "managedRuleSets": [
+ {
+ "ruleSetType": "DefaultRuleSet",
+ "ruleSetVersion": "preview-1.0",
+ "ruleGroupOverrides": [
+ {
+ "ruleGroupName": "Group1",
+ "rules": [
+ {
+ "ruleId": "GROUP1-0001",
+ "enabledState": "Enabled",
+ "action": "Redirect"
+ },
+ {
+ "ruleId": "GROUP1-0002",
+ "enabledState": "Disabled"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "endpointLinks": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint2"
+ }
+ ]
+ }
+ },
+ {
+ "name": "VerizonStandardCdnWafPolicy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/VerizonStandardCdnWafPolicy",
+ "type": "Microsoft.Cdn/cdnwebapplicationfirewallpolicies",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "sku": {
+ "name": "Standard_Verizon"
+ },
+ "properties": {
+ "resourceState": "Enabled",
+ "provisioningState": "Succeeded",
+ "policySettings": {
+ "enabledState": "Enabled",
+ "mode": "Prevention",
+ "defaultRedirectUrl": "http://www.bing.com",
+ "defaultCustomBlockResponseStatusCode": 429,
+ "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg=="
+ },
+ "rateLimitRules": {
+ "rules": [
+ {
+ "name": "RateLimitRule1",
+ "priority": 1,
+ "enabledState": "Enabled",
+ "rateLimitDurationInMinutes": 0,
+ "rateLimitThreshold": 1000,
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "IPMatch",
+ "negateCondition": false,
+ "transforms": [],
+ "matchValue": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ },
+ "customRules": {
+ "rules": [
+ {
+ "name": "CustomRule1",
+ "priority": 2,
+ "enabledState": "Enabled",
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "GeoMatch",
+ "negateCondition": false,
+ "transforms": [],
+ "matchValue": [
+ "CH"
+ ]
+ },
+ {
+ "matchVariable": "RequestHeader",
+ "selector": "UserAgent",
+ "operator": "Contains",
+ "negateCondition": false,
+ "matchValue": [
+ "windows"
+ ]
+ },
+ {
+ "matchVariable": "QueryString",
+ "selector": "search",
+ "operator": "Contains",
+ "negateCondition": false,
+ "transforms": [
+ "UrlDecode",
+ "Lowercase"
+ ],
+ "matchValue": [
+ ""
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ },
+ "managedRules": {
+ "managedRuleSets": [
+ {
+ "ruleSetType": "ECRS",
+ "ruleSetVersion": "2018-11-2",
+ "ruleGroupOverrides": [
+ {
+ "ruleGroupName": "XSS",
+ "rules": [
+ {
+ "ruleId": "XSS-0001",
+ "enabledState": "Enabled",
+ "action": "Redirect"
+ },
+ {
+ "ruleId": "XSS-0002",
+ "enabledState": "Disabled"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "endpointLinks": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint3"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/WafPatchPolicy.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/WafPatchPolicy.json
new file mode 100644
index 000000000000..7e8c7d3e05ee
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/WafPatchPolicy.json
@@ -0,0 +1,272 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "policyName": "MicrosoftCdnWafPolicy",
+ "cdnWebApplicationFirewallPolicyPatchParameters": {
+ "tags": {
+ "foo": "bar"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "MicrosoftCdnWafPolicy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/MicrosoftCdnWafPolicy",
+ "type": "Microsoft.Cdn/cdnwebapplicationfirewallpolicies",
+ "tags": {
+ "foo": "bar"
+ },
+ "location": "WestUs",
+ "sku": {
+ "name": "Standard_Microsoft"
+ },
+ "properties": {
+ "resourceState": "Enabled",
+ "provisioningState": "Succeeded",
+ "policySettings": {
+ "enabledState": "Enabled",
+ "mode": "Prevention",
+ "defaultRedirectUrl": "http://www.bing.com",
+ "defaultCustomBlockResponseStatusCode": 403,
+ "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg=="
+ },
+ "rateLimitRules": {
+ "rules": [
+ {
+ "name": "RateLimitRule1",
+ "priority": 1,
+ "enabledState": "Enabled",
+ "rateLimitDurationInMinutes": 0,
+ "rateLimitThreshold": 1000,
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "IPMatch",
+ "negateCondition": false,
+ "transforms": [],
+ "matchValue": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ },
+ "customRules": {
+ "rules": [
+ {
+ "name": "CustomRule1",
+ "priority": 2,
+ "enabledState": "Enabled",
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "GeoMatch",
+ "negateCondition": false,
+ "transforms": [],
+ "matchValue": [
+ "CH"
+ ]
+ },
+ {
+ "matchVariable": "RequestHeader",
+ "selector": "UserAgent",
+ "operator": "Contains",
+ "negateCondition": false,
+ "transforms": [],
+ "matchValue": [
+ "windows"
+ ]
+ },
+ {
+ "matchVariable": "QueryString",
+ "selector": "search",
+ "operator": "Contains",
+ "negateCondition": false,
+ "transforms": [
+ "UrlDecode",
+ "Lowercase"
+ ],
+ "matchValue": [
+ ""
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ },
+ "managedRules": {
+ "managedRuleSets": [
+ {
+ "ruleSetType": "DefaultRuleSet",
+ "ruleSetVersion": "preview-1.0",
+ "ruleGroupOverrides": [
+ {
+ "ruleGroupName": "Group1",
+ "rules": [
+ {
+ "ruleId": "GROUP1-0001",
+ "enabledState": "Enabled",
+ "action": "Redirect"
+ },
+ {
+ "ruleId": "GROUP1-0002",
+ "enabledState": "Disabled"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "endpointLinks": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint2"
+ }
+ ]
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "name": "MicrosoftCdnWafPolicy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/MicrosoftCdnWafPolicy",
+ "type": "Microsoft.Cdn/cdnwebapplicationfirewallpolicies",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "sku": {
+ "name": "Standard_Microsoft"
+ },
+ "properties": {
+ "resourceState": "Creating",
+ "provisioningState": "Succeeded",
+ "policySettings": {
+ "enabledState": "Enabled",
+ "mode": "Prevention",
+ "defaultRedirectUrl": "http://www.bing.com",
+ "defaultCustomBlockResponseStatusCode": 403,
+ "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg=="
+ },
+ "rateLimitRules": {
+ "rules": [
+ {
+ "name": "RateLimitRule1",
+ "priority": 1,
+ "enabledState": "Enabled",
+ "rateLimitDurationInMinutes": 0,
+ "rateLimitThreshold": 1000,
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "IPMatch",
+ "negateCondition": false,
+ "transforms": [],
+ "matchValue": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ },
+ "customRules": {
+ "rules": [
+ {
+ "name": "CustomRule1",
+ "priority": 2,
+ "enabledState": "Enabled",
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "GeoMatch",
+ "negateCondition": false,
+ "transforms": [],
+ "matchValue": [
+ "CH"
+ ]
+ },
+ {
+ "matchVariable": "RequestHeader",
+ "selector": "UserAgent",
+ "operator": "Contains",
+ "negateCondition": false,
+ "transforms": [],
+ "matchValue": [
+ "windows"
+ ]
+ },
+ {
+ "matchVariable": "QueryString",
+ "selector": "search",
+ "operator": "Contains",
+ "negateCondition": false,
+ "transforms": [
+ "UrlDecode",
+ "Lowercase"
+ ],
+ "matchValue": [
+ ""
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ },
+ "managedRules": {
+ "managedRuleSets": [
+ {
+ "ruleSetType": "DefaultRuleSet",
+ "ruleSetVersion": "preview-1.0",
+ "ruleGroupOverrides": [
+ {
+ "ruleGroupName": "Group1",
+ "rules": [
+ {
+ "ruleId": "GROUP1-0001",
+ "enabledState": "Enabled",
+ "action": "Redirect"
+ },
+ {
+ "ruleId": "GROUP1-0002",
+ "enabledState": "Disabled"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "endpointLinks": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint2"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/WafPolicyCreateOrUpdate.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/WafPolicyCreateOrUpdate.json
new file mode 100644
index 000000000000..c0fb68fe3c69
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/WafPolicyCreateOrUpdate.json
@@ -0,0 +1,505 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "policyName": "MicrosoftCdnWafPolicy",
+ "cdnWebApplicationFirewallPolicy": {
+ "location": "WestUs",
+ "sku": {
+ "name": "Standard_Microsoft"
+ },
+ "properties": {
+ "policySettings": {
+ "defaultRedirectUrl": "http://www.bing.com",
+ "defaultCustomBlockResponseStatusCode": 200,
+ "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg=="
+ },
+ "rateLimitRules": {
+ "rules": [
+ {
+ "name": "RateLimitRule1",
+ "priority": 1,
+ "enabledState": "Enabled",
+ "rateLimitDurationInMinutes": 0,
+ "rateLimitThreshold": 1000,
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "IPMatch",
+ "negateCondition": false,
+ "transforms": [],
+ "matchValue": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ },
+ "customRules": {
+ "rules": [
+ {
+ "name": "CustomRule1",
+ "priority": 2,
+ "enabledState": "Enabled",
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "GeoMatch",
+ "negateCondition": false,
+ "transforms": [],
+ "matchValue": [
+ "CH"
+ ]
+ },
+ {
+ "matchVariable": "RequestHeader",
+ "selector": "UserAgent",
+ "operator": "Contains",
+ "negateCondition": false,
+ "transforms": [],
+ "matchValue": [
+ "windows"
+ ]
+ },
+ {
+ "matchVariable": "QueryString",
+ "selector": "search",
+ "operator": "Contains",
+ "negateCondition": false,
+ "transforms": [
+ "UrlDecode",
+ "Lowercase"
+ ],
+ "matchValue": [
+ ""
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ },
+ "managedRules": {
+ "managedRuleSets": [
+ {
+ "ruleSetType": "DefaultRuleSet",
+ "ruleSetVersion": "preview-1.0",
+ "ruleGroupOverrides": [
+ {
+ "ruleGroupName": "Group1",
+ "rules": [
+ {
+ "ruleId": "GROUP1-0001",
+ "enabledState": "Enabled",
+ "action": "Redirect"
+ },
+ {
+ "ruleId": "GROUP1-0002",
+ "enabledState": "Disabled"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "MicrosoftCdnWafPolicy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/MicrosoftCdnWafPolicy",
+ "type": "Microsoft.Cdn/cdnwebapplicationfirewallpolicies",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "sku": {
+ "name": "Standard_Microsoft"
+ },
+ "properties": {
+ "resourceState": "Enabled",
+ "provisioningState": "Succeeded",
+ "policySettings": {
+ "enabledState": "Enabled",
+ "mode": "Prevention",
+ "defaultRedirectUrl": "http://www.bing.com",
+ "defaultCustomBlockResponseStatusCode": 200,
+ "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg=="
+ },
+ "rateLimitRules": {
+ "rules": [
+ {
+ "name": "RateLimitRule1",
+ "priority": 1,
+ "enabledState": "Enabled",
+ "rateLimitDurationInMinutes": 0,
+ "rateLimitThreshold": 1000,
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "IPMatch",
+ "negateCondition": false,
+ "transforms": [],
+ "matchValue": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ },
+ "customRules": {
+ "rules": [
+ {
+ "name": "CustomRule1",
+ "priority": 2,
+ "enabledState": "Enabled",
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "GeoMatch",
+ "negateCondition": false,
+ "transforms": [],
+ "matchValue": [
+ "CH"
+ ]
+ },
+ {
+ "matchVariable": "RequestHeader",
+ "selector": "UserAgent",
+ "operator": "Contains",
+ "negateCondition": false,
+ "transforms": [],
+ "matchValue": [
+ "windows"
+ ]
+ },
+ {
+ "matchVariable": "QueryString",
+ "selector": "search",
+ "operator": "Contains",
+ "negateCondition": false,
+ "transforms": [
+ "UrlDecode",
+ "Lowercase"
+ ],
+ "matchValue": [
+ ""
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ },
+ "managedRules": {
+ "managedRuleSets": [
+ {
+ "ruleSetType": "DefaultRuleSet",
+ "ruleSetVersion": "preview-1.0",
+ "ruleGroupOverrides": [
+ {
+ "ruleGroupName": "Group1",
+ "rules": [
+ {
+ "ruleId": "GROUP1-0001",
+ "enabledState": "Enabled",
+ "action": "Redirect"
+ },
+ {
+ "ruleId": "GROUP1-0002",
+ "enabledState": "Disabled"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "endpointLinks": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint2"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "MicrosoftCdnWafPolicy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/MicrosoftCdnWafPolicy",
+ "type": "Microsoft.Cdn/cdnwebapplicationfirewallpolicies",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "sku": {
+ "name": "Standard_Microsoft"
+ },
+ "properties": {
+ "resourceState": "Enabled",
+ "provisioningState": "Succeeded",
+ "policySettings": {
+ "enabledState": "Enabled",
+ "mode": "Prevention",
+ "defaultRedirectUrl": "http://www.bing.com",
+ "defaultCustomBlockResponseStatusCode": 200,
+ "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg=="
+ },
+ "rateLimitRules": {
+ "rules": [
+ {
+ "name": "RateLimitRule1",
+ "priority": 1,
+ "enabledState": "Enabled",
+ "rateLimitDurationInMinutes": 0,
+ "rateLimitThreshold": 1000,
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "IPMatch",
+ "negateCondition": false,
+ "transforms": [],
+ "matchValue": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ },
+ "customRules": {
+ "rules": [
+ {
+ "name": "CustomRule1",
+ "priority": 2,
+ "enabledState": "Enabled",
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "GeoMatch",
+ "negateCondition": false,
+ "transforms": [],
+ "matchValue": [
+ "CH"
+ ]
+ },
+ {
+ "matchVariable": "RequestHeader",
+ "selector": "UserAgent",
+ "operator": "Contains",
+ "negateCondition": false,
+ "transforms": [],
+ "matchValue": [
+ "windows"
+ ]
+ },
+ {
+ "matchVariable": "QueryString",
+ "selector": "search",
+ "operator": "Contains",
+ "negateCondition": false,
+ "transforms": [
+ "UrlDecode",
+ "Lowercase"
+ ],
+ "matchValue": [
+ ""
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ },
+ "managedRules": {
+ "managedRuleSets": [
+ {
+ "ruleSetType": "DefaultRuleSet",
+ "ruleSetVersion": "preview-1.0",
+ "ruleGroupOverrides": [
+ {
+ "ruleGroupName": "Group1",
+ "rules": [
+ {
+ "ruleId": "GROUP1-0001",
+ "enabledState": "Enabled",
+ "action": "Redirect"
+ },
+ {
+ "ruleId": "GROUP1-0002",
+ "enabledState": "Disabled"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "endpointLinks": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint2"
+ }
+ ]
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "name": "MicrosoftCdnWafPolicy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/MicrosoftCdnWafPolicy",
+ "type": "Microsoft.Cdn/cdnwebapplicationfirewallpolicies",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "sku": {
+ "name": "Standard_Microsoft"
+ },
+ "properties": {
+ "resourceState": "Creating",
+ "provisioningState": "Succeeded",
+ "policySettings": {
+ "enabledState": "Enabled",
+ "mode": "Prevention",
+ "defaultRedirectUrl": "http://www.bing.com",
+ "defaultCustomBlockResponseStatusCode": 200,
+ "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg=="
+ },
+ "rateLimitRules": {
+ "rules": [
+ {
+ "name": "RateLimitRule1",
+ "priority": 1,
+ "enabledState": "Enabled",
+ "rateLimitDurationInMinutes": 0,
+ "rateLimitThreshold": 1000,
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "IPMatch",
+ "negateCondition": false,
+ "transforms": [],
+ "matchValue": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ },
+ "customRules": {
+ "rules": [
+ {
+ "name": "CustomRule1",
+ "priority": 3,
+ "enabledState": "Enabled",
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "GeoMatch",
+ "negateCondition": false,
+ "transforms": [],
+ "matchValue": [
+ "CH"
+ ]
+ },
+ {
+ "matchVariable": "RequestHeader",
+ "selector": "UserAgent",
+ "operator": "Contains",
+ "negateCondition": false,
+ "transforms": [],
+ "matchValue": [
+ "windows"
+ ]
+ },
+ {
+ "matchVariable": "QueryString",
+ "selector": "search",
+ "operator": "Contains",
+ "negateCondition": false,
+ "transforms": [
+ "UrlDecode",
+ "Lowercase"
+ ],
+ "matchValue": [
+ ""
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ },
+ "managedRules": {
+ "managedRuleSets": [
+ {
+ "ruleSetType": "DefaultRuleSet",
+ "ruleSetVersion": "preview-1.0",
+ "ruleGroupOverrides": [
+ {
+ "ruleGroupName": "Group1",
+ "rules": [
+ {
+ "ruleId": "GROUP1-0001",
+ "enabledState": "Enabled",
+ "action": "Redirect"
+ },
+ {
+ "ruleId": "GROUP1-0002",
+ "enabledState": "Disabled"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "endpointLinks": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint2"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/WafPolicyDelete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/WafPolicyDelete.json
new file mode 100644
index 000000000000..1a88912550cf
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/WafPolicyDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "policyName": "Policy1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/WafPolicyGet.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/WafPolicyGet.json
new file mode 100644
index 000000000000..086cbc0e512d
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/WafPolicyGet.json
@@ -0,0 +1,139 @@
+{
+ "parameters": {
+ "api-version": "2020-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "policyName": "MicrosoftCdnWafPolicy"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "MicrosoftCdnWafPolicy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/MicrosoftCdnWafPolicy",
+ "type": "Microsoft.Cdn/cdnwebapplicationfirewallpolicies",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "location": "WestUs",
+ "sku": {
+ "name": "Standard_Microsoft"
+ },
+ "properties": {
+ "resourceState": "Enabled",
+ "provisioningState": "Succeeded",
+ "policySettings": {
+ "enabledState": "Enabled",
+ "mode": "Prevention",
+ "defaultRedirectUrl": "http://www.bing.com",
+ "defaultCustomBlockResponseStatusCode": 429,
+ "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg=="
+ },
+ "rateLimitRules": {
+ "rules": [
+ {
+ "name": "RateLimitRule1",
+ "priority": 1,
+ "enabledState": "Enabled",
+ "rateLimitDurationInMinutes": 0,
+ "rateLimitThreshold": 1000,
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "IPMatch",
+ "negateCondition": false,
+ "transforms": [],
+ "matchValue": [
+ "192.168.1.0/24",
+ "10.0.0.0/24"
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ },
+ "customRules": {
+ "rules": [
+ {
+ "name": "CustomRule1",
+ "priority": 2,
+ "enabledState": "Enabled",
+ "matchConditions": [
+ {
+ "matchVariable": "RemoteAddr",
+ "selector": null,
+ "operator": "GeoMatch",
+ "negateCondition": false,
+ "transforms": [],
+ "matchValue": [
+ "CH"
+ ]
+ },
+ {
+ "matchVariable": "RequestHeader",
+ "selector": "UserAgent",
+ "operator": "Contains",
+ "negateCondition": false,
+ "transforms": [],
+ "matchValue": [
+ "windows"
+ ]
+ },
+ {
+ "matchVariable": "QueryString",
+ "selector": "search",
+ "operator": "Contains",
+ "negateCondition": false,
+ "transforms": [
+ "UrlDecode",
+ "Lowercase"
+ ],
+ "matchValue": [
+ ""
+ ]
+ }
+ ],
+ "action": "Block"
+ }
+ ]
+ },
+ "managedRules": {
+ "managedRuleSets": [
+ {
+ "ruleSetType": "DefaultRuleSet",
+ "ruleSetVersion": "preview-1.0",
+ "ruleGroupOverrides": [
+ {
+ "ruleGroupName": "Group1",
+ "rules": [
+ {
+ "ruleId": "GROUP1-0001",
+ "enabledState": "Enabled",
+ "action": "Redirect"
+ },
+ {
+ "ruleId": "GROUP1-0002",
+ "enabledState": "Disabled"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "endpointLinks": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint2"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/readme.go.md b/specification/cdn/resource-manager/readme.go.md
index 2700f6d89157..b53dccbfb0c7 100644
--- a/specification/cdn/resource-manager/readme.go.md
+++ b/specification/cdn/resource-manager/readme.go.md
@@ -13,6 +13,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2020-04
- tag: package-2019-06
- tag: package-2019-04
- tag: package-2017-10
@@ -22,13 +23,13 @@ batch:
- tag: package-2015-06
```
-### Tag: package-2019-06 and go
+### Tag: package-2020-04 and go
-These settings apply only when `--tag=package-2019-06 --go` is specified on the command line.
+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-2019-06' && $(go)
-output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-06-15-preview/$(namespace)
+``` yaml $(tag) == 'package-2020-04' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-04-15/$(namespace)
```
### Tag: package-2019-04 and go
diff --git a/specification/cdn/resource-manager/readme.md b/specification/cdn/resource-manager/readme.md
index 6e48071bcdf2..58ca149dc55d 100644
--- a/specification/cdn/resource-manager/readme.md
+++ b/specification/cdn/resource-manager/readme.md
@@ -31,6 +31,16 @@ openapi-type: arm
tag: package-2019-06
```
+### 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.Cdn/stable/2020-04-15/cdn.json
+- Microsoft.Cdn/stable/2020-04-15/cdnwebapplicationfirewall.json
+```
+
### Tag: package-2019-12
These settings apply only when `--tag=package-2019-12` is specified on the command line.
@@ -177,6 +187,8 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.Cdn/stable/2020-04-15/cdn.json
+ - $(this-folder)/Microsoft.Cdn/stable/2020-04-15/cdnwebapplicationfirewall.json
- $(this-folder)/Microsoft.Cdn/stable/2019-12-31/cdn.json
- $(this-folder)/Microsoft.Cdn/stable/2019-06-15/cdn.json
- $(this-folder)/Microsoft.Cdn/stable/2019-06-15/cdnwebapplicationfirewall.json
diff --git a/specification/cdn/resource-manager/readme.ruby.md b/specification/cdn/resource-manager/readme.ruby.md
index 7d3f03852d62..f1c42770c4fa 100644
--- a/specification/cdn/resource-manager/readme.ruby.md
+++ b/specification/cdn/resource-manager/readme.ruby.md
@@ -21,6 +21,16 @@ batch:
- tag: package-2015-06
```
+### Tag: package-2020-04 and ruby
+
+These settings apply only when `--tag=package-2020-04 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-04' && $(ruby)
+namespace: "Azure::CDN::Mgmt::V2020_04_15"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_cdn/lib
+```
+
### Tag: package-2019-06 and ruby
These settings apply only when `--tag=package-2019-06 --ruby` is specified on the command line.
diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/changeanalysis.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/changeanalysis.json
new file mode 100644
index 000000000000..5e9311a95e5a
--- /dev/null
+++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/changeanalysis.json
@@ -0,0 +1,519 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "AzureChangeAnalysisManagementClient",
+ "version": "2020-04-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ChangeAnalysis/profile/{profileName}": {
+ "get": {
+ "tags": [
+ "ConfigurationProfile"
+ ],
+ "summary": "Gets the configuration profile for the Microsoft.ChangeAnalysis resource provider. The profile name should be always set to 'default'.",
+ "operationId": "ConfigurationProfile_Get",
+ "produces": [
+ "application/json",
+ "default"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ProfileNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationProfile_Get": {
+ "$ref": "./examples/ConfigurationProfileGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ConfigurationProfile"
+ ],
+ "summary": "Updates configuration profile for for the Microsoft.ChangeAnalysis resource provider. The profile name should be always set to 'default'.",
+ "operationId": "ConfigurationProfile_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json",
+ "default"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ProfileNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Request body containing new configuration profile.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationProfile_Create": {
+ "$ref": "./examples/ConfigurationProfileCreate.json"
+ },
+ "ConfigurationProfile_CreateWithIdentity": {
+ "$ref": "./examples/ConfigurationProfileCreateWithIdentity.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ConfigurationProfile"
+ ],
+ "summary": "Updates a configuration profile with the specified parameters. The profile name should be always set to 'default'",
+ "operationId": "ConfigurationProfile_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json",
+ "default"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ProfileNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "The parameters for updating a configuration store.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationProfile_Update": {
+ "$ref": "./examples/ConfigurationProfileUpdate.json"
+ },
+ "ConfigurationProfile_UpdateWithIdentity": {
+ "$ref": "./examples/ConfigurationProfileUpdateWithIdentity.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ConfigurationProfile"
+ ],
+ "summary": "Deletes existing configuration profile. The profile name should be always set to 'default'",
+ "operationId": "ConfigurationProfile_Delete",
+ "produces": [
+ "default"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ProfileNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "204": {
+ "description": "No Content - the specified resource was not found."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationProfile_Delete": {
+ "$ref": "./examples/ConfigurationProfileDelete.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.ChangeAnalysis/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "summary": "Lists all the supported operations by the Microsoft.ChangeAnalysis resource provider along with their descriptions.",
+ "operationId": "Operations_List",
+ "produces": [
+ "application/json",
+ "default"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "A skip token is used to continue retrieving items after an operation returns a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.",
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderOperationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Operations_List": {
+ "$ref": "./examples/OperationsList.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ResourceIdentity": {
+ "description": "The identity block returned by ARM resource that supports managed identity.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identities.",
+ "enum": [
+ "None",
+ "SystemAssigned"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ManagedIdentityTypes",
+ "modelAsString": true
+ }
+ },
+ "principalId": {
+ "format": "uuid",
+ "description": "The principal id of the identity. This property will only be provided for a system-assigned identity.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "format": "uuid",
+ "description": "The tenant id associated with the resource's identity. This property will only be provided for a system-assigned identity.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AzureMonitorWorkspaceProperties": {
+ "description": "Configuration properties of an Azure Monitor workspace that receives change notifications.",
+ "type": "object",
+ "properties": {
+ "workspaceId": {
+ "description": "The Azure Monitor workspace ID - the unique identifier for the Log Analytics workspace.",
+ "type": "string"
+ },
+ "workspaceResourceId": {
+ "description": "The Azure Monitor workspace ARM Resource ID. The resource ID should be in the following format: /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}",
+ "type": "string"
+ }
+ }
+ },
+ "NotificationsState": {
+ "description": "The state of notifications feature.",
+ "enum": [
+ "None",
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NotificationsState",
+ "modelAsString": true
+ }
+ },
+ "NotificationSettings": {
+ "description": "Settings of change notification configuration for a subscription.",
+ "type": "object",
+ "properties": {
+ "azureMonitorWorkspaceProperties": {
+ "$ref": "#/definitions/AzureMonitorWorkspaceProperties"
+ },
+ "activationState": {
+ "$ref": "#/definitions/NotificationsState"
+ }
+ }
+ },
+ "ConfigurationProfileResourceProperties": {
+ "description": "The properties of a configuration profile.",
+ "type": "object",
+ "properties": {
+ "notifications": {
+ "$ref": "#/definitions/NotificationSettings"
+ }
+ }
+ },
+ "SystemData": {
+ "description": "Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources",
+ "type": "object",
+ "properties": {
+ "createdBy": {
+ "description": "A string identifier for the identity that created the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdByType": {
+ "description": "The type of identity that created the resource: user, application, managedIdentity, key",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdAt": {
+ "format": "date-time",
+ "description": "The timestamp of resource creation (UTC)",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastModifiedBy": {
+ "description": "A string identifier for the identity that last modified the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastModifiedByType": {
+ "description": "The type of identity that last modified the resource: user, application, managedIdentity, key",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastModifiedAt": {
+ "format": "date-time",
+ "description": "The timestamp of resource last modification (UTC)",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ConfigurationProfileResource": {
+ "description": "A profile object that contains change analysis configuration, such as notification settings, for this subscription",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/ResourceIdentity"
+ },
+ "properties": {
+ "$ref": "#/definitions/ConfigurationProfileResourceProperties"
+ }
+ }
+ },
+ "ProxyResource": {
+ "description": "An Azure resource.",
+ "properties": {
+ "id": {
+ "description": "Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "systemData": {
+ "$ref": "#/definitions/SystemData"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ResourceProviderOperationDisplay": {
+ "description": "The resource provider operation details.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Name of the resource provider.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Name of the resource type.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Name of the resource provider operation.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the resource provider operation.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceProviderOperationDefinition": {
+ "description": "The resource provider operation definition.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The resource provider operation name.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/ResourceProviderOperationDisplay"
+ }
+ }
+ },
+ "ResourceProviderOperationList": {
+ "description": "The resource provider operation list.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Resource provider operations list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceProviderOperationDefinition"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next page for list of Azure operations.",
+ "type": "string"
+ }
+ }
+ },
+ "Error": {
+ "description": "Unexpected Microsoft.ChangeAnalysis Resource Provider Error.",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ProfileNameParameter": {
+ "in": "path",
+ "name": "profileName",
+ "description": "The name of the configuration profile. The profile name should be set to 'default', all other names will be overwritten.",
+ "required": true,
+ "type": "string",
+ "pattern": "^(?!.*-$)[^-][a-zA-Z0-9-]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "SubscriptionIdParameter": {
+ "in": "path",
+ "name": "subscriptionId",
+ "description": "The Microsoft Azure subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "ApiVersionParameter": {
+ "in": "query",
+ "name": "api-version",
+ "description": "The resource provider API version.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ },
+ "description": "Azure Active Directory OAuth2 Flow"
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileCreate.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileCreate.json
new file mode 100644
index 000000000000..bd24d84d7d07
--- /dev/null
+++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileCreate.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "profileName": "default",
+ "api-version": "2020-04-01-preview",
+ "resource": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/profile",
+ "properties": {
+ "notifications": {
+ "azureMonitorWorkspaceProperties": {
+ "workspaceId": null,
+ "workspaceResourceId": null
+ },
+ "activationState": "None"
+ }
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/providers/Microsoft.ChangeAnalysis/profile/default",
+ "name": "default"
+ }
+ }
+ }
+}
diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileCreateWithIdentity.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileCreateWithIdentity.json
new file mode 100644
index 000000000000..09c9f23cba8d
--- /dev/null
+++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileCreateWithIdentity.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "profileName": "default",
+ "api-version": "2020-04-01-preview",
+ "resource": {
+ "identity": {
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.ChangeAnalysis/profile",
+ "properties": {
+ "notifications": {
+ "azureMonitorWorkspaceProperties": {
+ "workspaceId": null,
+ "workspaceResourceId": null
+ },
+ "activationState": "None"
+ }
+ },
+ "identity": {
+ "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/providers/Microsoft.ChangeAnalysis/profile/default",
+ "name": "default"
+ }
+ }
+ }
+}
diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileDelete.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileDelete.json
new file mode 100644
index 000000000000..a30a48f30bf0
--- /dev/null
+++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileDelete.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "profileName": "default",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileGet.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileGet.json
new file mode 100644
index 000000000000..9cc400f02bac
--- /dev/null
+++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "profileName": "default",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.ChangeAnalysis/profile",
+ "properties": {
+ "notifications": {
+ "azureMonitorWorkspaceProperties": {
+ "workspaceId": null,
+ "workspaceResourceId": null
+ },
+ "activationState": "None"
+ }
+ },
+ "identity": {
+ "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/providers/Microsoft.ChangeAnalysis/profile/default",
+ "name": "default"
+ }
+ }
+ }
+}
diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileUpdate.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileUpdate.json
new file mode 100644
index 000000000000..000c465f20ca
--- /dev/null
+++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "profileName": "default",
+ "api-version": "2020-04-01-preview",
+ "resource": {
+ "properties": {
+ "notifications": {
+ "azureMonitorWorkspaceProperties": {
+ "workspaceId": "workspaceIdValue",
+ "workspaceResourceId": "workspace resource Id"
+ },
+ "activationState": "Enabled"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.ChangeAnalysis/profile",
+ "properties": {
+ "notifications": {
+ "azureMonitorWorkspaceProperties": {
+ "workspaceId": "workspaceIdValue",
+ "workspaceResourceId": "workspace resource Id"
+ },
+ "activationState": "Enabled"
+ }
+ }
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/providers/Microsoft.ChangeAnalysis/profile/default",
+ "name": "default"
+ }
+ }
+}
diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileUpdateWithIdentity.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileUpdateWithIdentity.json
new file mode 100644
index 000000000000..3b06d6733ce9
--- /dev/null
+++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileUpdateWithIdentity.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "profileName": "default",
+ "api-version": "2020-04-01-preview",
+ "resource": {
+ "properties": {
+ "notifications": {
+ "azureMonitorWorkspaceProperties": {
+ "workspaceId": "workspaceIdValue",
+ "workspaceResourceId": "workspace resource Id"
+ },
+ "activationState": "Enabled"
+ }
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.ChangeAnalysis/profile",
+ "properties": {
+ "notifications": {
+ "azureMonitorWorkspaceProperties": {
+ "workspaceId": "workspaceIdValue",
+ "workspaceResourceId": "workspace resource Id"
+ },
+ "activationState": "Enabled"
+ }
+ },
+ "identity": {
+ "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/providers/Microsoft.ChangeAnalysis/profile/default",
+ "name": "default"
+ }
+ }
+ }
+}
diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/OperationsList.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/OperationsList.json
new file mode 100644
index 000000000000..2d2000363115
--- /dev/null
+++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/OperationsList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2020-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.ChangeAnalysis/profile/read",
+ "display": {
+ "provider": "Microsoft Change Analysis",
+ "resource": "Azure Application Change Analysis Service Configuration Profile",
+ "operation": "Read Azure Application Change Analysis Servie Configuration Profile"
+ }
+ },
+ {
+ "name": "Microsoft.ChangeAnalysis/profile/write",
+ "display": {
+ "provider": "Microsoft Change Analysis",
+ "resource": "Azure Application Change Analysis Service Configuration Profile",
+ "operation": "Create or Update Azure Application Change Analysis Servie Configuration Profile Properties"
+ }
+ },
+ {
+ "name": "Microsoft.ChangeAnalysis/register/action",
+ "display": {
+ "provider": "Microsoft Change Analysis",
+ "resource": "",
+ "operation": "Register Microsoft Change Analysis resource provider with a subscriptions"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/changeanalysis/resource-manager/readme.csharp.md b/specification/changeanalysis/resource-manager/readme.csharp.md
new file mode 100644
index 000000000000..8e5139845e12
--- /dev/null
+++ b/specification/changeanalysis/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.ChangeAnalysis
+ output-folder: $(csharp-sdks-folder)/changeanalysis/management/Microsoft.ChangeAnalysis/GeneratedProtocol
+```
diff --git a/specification/changeanalysis/resource-manager/readme.go.md b/specification/changeanalysis/resource-manager/readme.go.md
new file mode 100644
index 000000000000..c2b2c0df4332
--- /dev/null
+++ b/specification/changeanalysis/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-04-01-preview and go
+
+These settings apply only when `--tag=package-2020-04-01-preview --go` is specified on the command line.
+Please also specify `--go-sdks-folder=`.
+
+```yaml $(tag) == 'package-2020-04-01-preview' && $(go)
+namespace: Microsoft.ChangeAnalysis
+output-folder: $(go-sdks-folder)/changeanalysis/Generated
+```
diff --git a/specification/changeanalysis/resource-manager/readme.md b/specification/changeanalysis/resource-manager/readme.md
new file mode 100644
index 000000000000..82bb9acfa298
--- /dev/null
+++ b/specification/changeanalysis/resource-manager/readme.md
@@ -0,0 +1,140 @@
+# changeanalysis
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for changeanalysis.
+
+## Getting Started
+
+To build the SDKs for My API, simply install AutoRest via `npm` (`npm install -g autorest`) and then run:
+
+> `autorest readme.md`
+
+To see additional help and options, run:
+
+> `autorest --help`
+
+For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page.
+
+---
+
+## Configuration
+
+### Basic Information
+
+These are the global settings for the changeanalysis.
+
+``` yaml
+openapi-type: arm
+tag: package-2020-04-01-preview
+```
+
+### 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.ChangeAnalysis/preview/2020-04-01-preview/changeanalysis.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_changeanalysis']
+```
+
+## 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)
+
+## Suppression
+
+``` yaml
+directive:
+ - suppress: BodyTopLevelProperties
+ where: $.definitions.ConfigurationProfileResource.properties
+ from: changeanalysis.json
+ reason: |-
+ https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources
+
+ The systemData should be top level element based on the new requirement:
+ {
+ "id": "/subscriptions/{id}/resourceGroups/{group}/providers/{rpns}/{type}/{name}",
+ "name": "{name}",
+ "type": "{resourceProviderNamespace}/{resourceType}",
+ "location": "North US",
+ "systemData":{
+ "createdBy": "",
+ "createdByType": "",
+ "createdAt": "",
+ "lastModifiedBy": "",
+ "lastModifiedByType": "",
+ "lastModifiedAt": ""
+ },
+ "tags": {
+ "key1": "value 1",
+ "key2": "value 2"
+ },
+ "kind": "resource kind",
+ "properties": {
+ "comment": "Resource defined structure"
+ }
+ }
+```
+
+## Multi-API/Profile support for AutoRest v3 generators
+
+AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
+
+This block is updated by an automatic script. Edits may be lost!
+
+``` yaml $(tag) == 'all-api-versions' /* autogenerated */
+# include the azure profile definitions from the standard location
+require: $(this-folder)/../../../profiles/readme.md
+
+# all the input files across all versions
+input-file:
+ - $(this-folder)/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/changeanalysis.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/changeanalysis/resource-manager/readme.python.md b/specification/changeanalysis/resource-manager/readme.python.md
new file mode 100644
index 000000000000..5bfa3618bd78
--- /dev/null
+++ b/specification/changeanalysis/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.ChangeAnalysis
+ package-name: changeanalysis
+ package-version: 2020-04-01-preview
+ clear-output-folder: true
+```
+
+```yaml $(python)
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azure-mgmt/changeanalysis
+```
diff --git a/specification/changeanalysis/resource-manager/readme.ruby.md b/specification/changeanalysis/resource-manager/readme.ruby.md
new file mode 100644
index 000000000000..7b7265a1b2ca
--- /dev/null
+++ b/specification/changeanalysis/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_changeanalysis
+package-version: 2020-04-01-preview
+azure-arm: true
+```
+
+### Tag: package-2020-04-01-preview and ruby
+
+These settings apply only when `--tag=package-2020-04-01-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+```yaml $(tag) == 'package-2020-04-01-preview' && $(ruby)
+namespace: Microsoft.ChangeAnalysis
+output-folder: $(ruby-sdks-folder)/changeanalysis
+```
diff --git a/specification/changeanalysis/resource-manager/readme.typescript.md b/specification/changeanalysis/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..63e73c265818
--- /dev/null
+++ b/specification/changeanalysis/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: "changeanalysis"
+ output-folder: "$(typescript-sdks-folder)/packages/changeanalysis"
+ payload-flattening-threshold: 1
+ generate-metadata: true
+```
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/LUIS/Authoring/preview/v3.0/LUIS-Authoring.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/LUIS-Authoring.json
index a7335b87f6b5..02fe2bdb6ec7 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/LUIS-Authoring.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/LUIS-Authoring.json
@@ -303,6 +303,9 @@
{
"$ref": "#/parameters/VersionIdInPath"
},
+ {
+ "$ref": "#/parameters/EnableNestedChildren"
+ },
{
"name": "exampleLabelObject",
"in": "body",
@@ -351,6 +354,9 @@
{
"$ref": "#/parameters/VersionIdInPath"
},
+ {
+ "$ref": "#/parameters/EnableNestedChildren"
+ },
{
"name": "exampleLabelObjectArray",
"in": "body",
@@ -408,6 +414,9 @@
},
{
"$ref": "#/parameters/TakeInPath"
+ },
+ {
+ "$ref": "#/parameters/EnableNestedChildren"
}
],
"responses": {
@@ -2342,6 +2351,9 @@
},
{
"$ref": "#/parameters/TakeInPath"
+ },
+ {
+ "$ref": "#/parameters/EnableNestedChildren"
}
],
"responses": {
@@ -2389,6 +2401,9 @@
},
{
"$ref": "#/parameters/TakeInPath"
+ },
+ {
+ "$ref": "#/parameters/EnableNestedChildren"
}
],
"responses": {
@@ -3413,168 +3428,6 @@
}
}
},
- "/apps/{appId}/permissions": {
- "get": {
- "description": "Gets the list of user emails that have permissions to access your application.",
- "operationId": "Permissions_List",
- "parameters": [
- {
- "$ref": "#/parameters/AppIdInPath"
- }
- ],
- "responses": {
- "200": {
- "description": "The list includes a single owner. All collaborators are listed in the emails array.",
- "schema": {
- "$ref": "#/definitions/UserAccessList"
- }
- },
- "default": {
- "description": "Error Response.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "produces": [
- "application/json"
- ],
- "x-ms-examples": {
- "Successful Get Application User Access List": {
- "$ref": "./examples/permissions/SuccessfulGetApplicationUserAccessListRequest.json"
- }
- }
- },
- "post": {
- "description": "Adds a user to the allowed list of users to access this LUIS application. Users are added using their email address.",
- "operationId": "Permissions_Add",
- "parameters": [
- {
- "$ref": "#/parameters/AppIdInPath"
- },
- {
- "name": "userToAdd",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/UserCollaborator"
- },
- "description": "A model containing the user's email address."
- }
- ],
- "consumes": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "Successful operation.",
- "schema": {
- "$ref": "#/definitions/OperationStatus"
- }
- },
- "default": {
- "description": "Error Response.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "produces": [
- "application/json"
- ],
- "x-ms-examples": {
- "Successful Add User To Access List": {
- "$ref": "./examples/permissions/SuccessfulAddUserToAccessListRequest.json"
- }
- }
- },
- "delete": {
- "description": "Removes a user from the allowed list of users to access this LUIS application. Users are removed using their email address.",
- "operationId": "Permissions_Delete",
- "parameters": [
- {
- "$ref": "#/parameters/AppIdInPath"
- },
- {
- "name": "userToDelete",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/UserCollaborator"
- },
- "description": "A model containing the user's email address."
- }
- ],
- "consumes": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "Successful operation.",
- "schema": {
- "$ref": "#/definitions/OperationStatus"
- }
- },
- "default": {
- "description": "Error Response.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "produces": [
- "application/json"
- ],
- "x-ms-examples": {
- "Successful Remove User From Access List": {
- "$ref": "./examples/permissions/SuccessfulRemoveUserFromAccessListRequest.json"
- }
- }
- },
- "put": {
- "description": "Replaces the current user access list with the new list sent in the body. If an empty list is sent, all access to other users will be removed.",
- "operationId": "Permissions_Update",
- "parameters": [
- {
- "$ref": "#/parameters/AppIdInPath"
- },
- {
- "name": "collaborators",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/CollaboratorsArray"
- },
- "description": "A model containing a list of user email addresses."
- }
- ],
- "consumes": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "Successful operation.",
- "schema": {
- "$ref": "#/definitions/OperationStatus"
- }
- },
- "default": {
- "description": "Error Response.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "produces": [
- "application/json"
- ],
- "x-ms-examples": {
- "Successful Replaces Users From Access List": {
- "$ref": "./examples/permissions/SuccessfulReplacesUsersFromAccessListRequest.json"
- }
- }
- }
- },
"/apps/{appId}/endpoints": {
"get": {
"description": "Returns the available endpoint deployment regions and URLs.",
@@ -8149,6 +8002,22 @@
"role": {
"description": "The role the entity plays in the utterance.",
"type": "string"
+ },
+ "children": {
+ "description": "The identified entities within the example utterance.",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/EntityLabelObject"
+ },
+ "type": "array",
+ "example": [
+ {
+ "entityName": "child",
+ "startCharIndex": 0,
+ "endCharIndex": 0,
+ "children": []
+ }
+ ]
}
}
},
@@ -8319,6 +8188,21 @@
"role": {
"description": "The role the entity plays in the utterance.",
"type": "string"
+ },
+ "children": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/JSONEntity"
+ },
+ "example": [
+ {
+ "entity": "child1",
+ "startPos": 0,
+ "endPos": 0,
+ "children": []
+ }
+ ]
}
}
},
@@ -9278,6 +9162,21 @@
"type": "string",
"format": "uuid",
"description": "The role id for the predicted entity."
+ },
+ "children": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/EntityLabel"
+ },
+ "example": [
+ {
+ "entityName": "child",
+ "startTokenIndex": 0,
+ "endTokenIndex": 0,
+ "children": []
+ }
+ ]
}
},
"required": [
@@ -9325,6 +9224,21 @@
"phrase": {
"type": "string",
"description": "The actual token(s) that comprise the entity."
+ },
+ "children": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/EntityPrediction"
+ },
+ "example": [
+ {
+ "entityName": "child",
+ "startTokenIndex": 0,
+ "endTokenIndex": 0,
+ "phrase": "string"
+ }
+ ]
}
}
},
@@ -10604,6 +10518,9 @@
"featureName": {
"type": "string",
"description": "The name of the feature used."
+ },
+ "isRequired": {
+ "type": "boolean"
}
}
},
@@ -10847,6 +10764,14 @@
"type": "string",
"in": "path",
"x-ms-skip-url-encoding": true
+ },
+ "EnableNestedChildren": {
+ "name": "enableNestedChildren",
+ "in": "query",
+ "type": "boolean",
+ "default": false,
+ "description": "Toggles nested/flat format",
+ "x-ms-parameter-location": "method"
}
}
}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/examples/SuccessfulAddLabelRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/examples/SuccessfulAddLabelRequest.json
index 9a7220daa4e3..5512edd005fc 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/examples/SuccessfulAddLabelRequest.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/examples/SuccessfulAddLabelRequest.json
@@ -4,6 +4,7 @@
"Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
"appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
"versionId": "0.1",
+ "enableNestedChildren": false,
"exampleLabelObject": {
"text": "whats the weather in buenos aires?",
"intentName": "WeatherInPlace",
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/examples/SuccessfulBatchAddLabelsRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/examples/SuccessfulBatchAddLabelsRequest.json
index bc2a357b807a..516369be8a7c 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/examples/SuccessfulBatchAddLabelsRequest.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/examples/SuccessfulBatchAddLabelsRequest.json
@@ -4,6 +4,7 @@
"Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
"appId": "2370fb9d-7dbc-4898-a361-a742cf290766",
"versionId": "0.1",
+ "enableNestedChildren": false,
"exampleLabelObjectArray": [
{
"text": "whats the weather in seattle?",
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/examples/SuccessfulReviewLabeledExamplesRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/examples/SuccessfulReviewLabeledExamplesRequest.json
index a0a43d373b31..49071d052202 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/examples/SuccessfulReviewLabeledExamplesRequest.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/examples/SuccessfulReviewLabeledExamplesRequest.json
@@ -3,7 +3,8 @@
"Endpoint": "{Endpoint}",
"Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
"appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
- "versionId": "0.1"
+ "versionId": "0.1",
+ "enableNestedChildren": false
},
"responses": {
"200": {
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetEntitySuggestionExamples.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetEntitySuggestionExamples.json
index 0c103cc44e24..f6605ccf44e3 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetEntitySuggestionExamples.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetEntitySuggestionExamples.json
@@ -4,7 +4,8 @@
"Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
"appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
"versionId": "0.1",
- "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73"
+ "entityId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "enableNestedChildren": false
},
"responses": {
"200": {
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetIntentsSuggestionExamples.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetIntentsSuggestionExamples.json
index a0cd5f3a1bbc..260784bda5d1 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetIntentsSuggestionExamples.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetIntentsSuggestionExamples.json
@@ -4,7 +4,8 @@
"Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
"appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
"versionId": "0.1",
- "intentId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73"
+ "intentId": "3d73462d-98f0-4dcd-8d30-fab9e65f2e73",
+ "enableNestedChildren": false
},
"responses": {
"200": {
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/permissions/SuccessfulAddUserToAccessListRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/permissions/SuccessfulAddUserToAccessListRequest.json
deleted file mode 100644
index 868818ea0bda..000000000000
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/permissions/SuccessfulAddUserToAccessListRequest.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
- "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
- "userToAdd": {
- "email": "guest@outlook.com"
- }
- },
- "responses": {
- "200": {
- "headers": {},
- "body": {
- "code": "Success",
- "message": "Operation Successful"
- }
- }
- }
-}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/permissions/SuccessfulGetApplicationUserAccessListRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/permissions/SuccessfulGetApplicationUserAccessListRequest.json
deleted file mode 100644
index bca79c6b986c..000000000000
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/permissions/SuccessfulGetApplicationUserAccessListRequest.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
- "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e"
- },
- "responses": {
- "200": {
- "headers": {},
- "body": {
- "owner": "owner@email.com",
- "emails": [
- "yourname@outlook.com"
- ]
- }
- }
- }
-}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/permissions/SuccessfulRemoveUserFromAccessListRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/permissions/SuccessfulRemoveUserFromAccessListRequest.json
deleted file mode 100644
index e07a94cd0393..000000000000
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/permissions/SuccessfulRemoveUserFromAccessListRequest.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
- "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
- "userToDelete": {
- "email": "guest@outlook.com"
- }
- },
- "responses": {
- "200": {
- "headers": {},
- "body": {
- "code": "Success",
- "message": "Operation Successful"
- }
- }
- }
-}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/permissions/SuccessfulReplacesUsersFromAccessListRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/permissions/SuccessfulReplacesUsersFromAccessListRequest.json
deleted file mode 100644
index 34444826b73b..000000000000
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/permissions/SuccessfulReplacesUsersFromAccessListRequest.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
- "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
- "collaborators": {
- "emails": [
- "guest@outlook.com",
- "invited.user@live.com"
- ]
- }
- },
- "responses": {
- "200": {
- "headers": {},
- "body": {
- "code": "Success",
- "message": "Operation Successful"
- }
- }
- }
-}
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 c15a98cfd812..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
@@ -939,9 +939,9 @@
"readOnly": true,
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/definitions/SkuCapability"
},
- "description": "Gets the capabilities of the cognitive services account. Each item indicates a specific feature is supported by this account. The value is read only and for reference only."
+ "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",
@@ -1321,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
new file mode 100644
index 000000000000..d6cb94988421
--- /dev/null
+++ b/specification/common-types/resource-management/v1/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": "./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": "./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/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..c1ed4a79de77 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
@@ -4405,6 +4405,9 @@
},
"description": "The input object for ConvertToSinglePlacementGroup API."
},
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
{
"$ref": "#/parameters/SubscriptionIdParameter"
}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-04-01/skus.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-04-01/skus.json
index e579007e9eaa..c568990135eb 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-04-01/skus.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-04-01/skus.json
@@ -54,7 +54,7 @@
"in": "query",
"required": false,
"type": "string",
- "description": "The filter to apply on the operation."
+ "description": "The filter to apply on the operation. Only **location** filter is supported currently."
}
],
"responses": {
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..83d0e5419fe2 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
@@ -4560,6 +4560,9 @@
},
"description": "The input object for ConvertToSinglePlacementGroup API."
},
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
{
"$ref": "#/parameters/SubscriptionIdParameter"
}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/gallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/gallery.json
index 271186b61e9a..ad40111669f1 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/gallery.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/gallery.json
@@ -2223,9 +2223,6 @@
"description": "The id of the gallery artifact version source. Can specify a disk uri, snapshot uri, or user image."
}
},
- "required": [
- "id"
- ],
"description": "The gallery artifact version source."
},
"GalleryOSDiskImage": {
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..1eb32c641214 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
@@ -4902,6 +4902,9 @@
},
"description": "The input object for ConvertToSinglePlacementGroup API."
},
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
{
"$ref": "#/parameters/SubscriptionIdParameter"
}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/gallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/gallery.json
index e9364862f12f..870eff714f3d 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/gallery.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/gallery.json
@@ -2278,9 +2278,6 @@
"description": "The id of the gallery artifact version source. Can specify a disk uri, snapshot uri, or user image."
}
},
- "required": [
- "id"
- ],
"description": "The gallery artifact version source."
},
"GalleryOSDiskImage": {
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 95bb524fa902..4d14b159469b 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
@@ -1070,6 +1070,54 @@
}
}
},
+ "/{scope}/providers/Microsoft.Consumption/reservationRecommendationDetails": {
+ "get": {
+ "tags": [
+ "ReservationRecommendationDetails"
+ ],
+ "operationId": "ReservationRecommendationDetails_Get",
+ "description": "Details of a reservation recommendation for what-if analysis of reserved instances.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "ReservationRecommendationsBySubscription-Legacy": {
+ "$ref": "./examples/ReservationRecommendationDetailsBySubscription.json"
+ },
+ "ReservationRecommendationsByBillingAccount-Legacy": {
+ "$ref": "./examples/ReservationRecommendationDetailsByBillingAccount.json"
+ },
+ "ReservationRecommendationsByBillingProfile-Modern": {
+ "$ref": "./examples/ReservationRecommendationDetailsByBillingProfile.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/scopeReservationRecommendationDetailsParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ReservationRecommendationDetailsModel"
+ }
+ },
+ "204": {
+ "description": "An empty response is sent when there are no recommendation details."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
"/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/reservationTransactions": {
"get": {
"tags": [
@@ -2817,6 +2865,200 @@
}
}
},
+ "ReservationRecommendationDetailsModel": {
+ "description": "Reservation recommendation details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ReservationRecommendationDetailsProperties",
+ "title": "Reservation Recommendation details properties"
+ }
+ }
+ },
+ "ReservationRecommendationDetailsProperties": {
+ "description": "The properties of the reservation recommendation.",
+ "properties": {
+ "currency": {
+ "description": "An ISO 4217 currency code identifier for the costs and savings ",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "Resource specific properties.",
+ "$ref": "#/definitions/ReservationRecommendationDetailsResourceProperties",
+ "readOnly": true
+ },
+ "resourceGroup": {
+ "description": "Resource Group.",
+ "type": "string",
+ "readOnly": true
+ },
+ "savings": {
+ "description": "Savings information for the recommendation.",
+ "$ref": "#/definitions/ReservationRecommendationDetailsSavingsProperties",
+ "readOnly": true
+ },
+ "scope": {
+ "description": "Scope of the reservation, ex: Single or Shared.",
+ "type": "string",
+ "readOnly": true
+ },
+ "usage": {
+ "description": "Historical usage details used to calculate the estimated savings.",
+ "$ref": "#/definitions/ReservationRecommendationDetailsUsageProperties",
+ "readOnly": true
+ }
+ }
+ },
+ "ReservationRecommendationDetailsCalculatedSavingsProperties": {
+ "description": "Details of estimated savings.",
+ "properties": {
+ "onDemandCost": {
+ "description": "The cost without reservation.",
+ "type": "number",
+ "readOnly": true
+ },
+ "overageCost": {
+ "description": "The difference between total reservation cost and reservation cost.",
+ "type": "number",
+ "readOnly": true
+ },
+ "quantity": {
+ "description": "The quantity for calculated savings.",
+ "type": "number",
+ "readOnly": true
+ },
+ "reservationCost": {
+ "description": "The exact cost of the estimated usage using reservation.",
+ "type": "number",
+ "readOnly": true
+ },
+ "totalReservationCost": {
+ "description": "The cost of the suggested quantity.",
+ "type": "number",
+ "readOnly": true
+ },
+ "savings": {
+ "description": "The amount saved by purchasing the recommended quantity of reservation.",
+ "type": "number",
+ "readOnly": true
+ }
+ }
+ },
+ "ReservationRecommendationDetailsResourceProperties": {
+ "description": "Details of the resource.",
+ "properties": {
+ "appliedScopes": {
+ "description": "List of subscriptions for which the reservation is applied.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "onDemandRate": {
+ "description": "On demand rate of the resource.",
+ "type": "number",
+ "readOnly": true
+ },
+ "product": {
+ "description": "Azure product ex: Standard_E8s_v3 etc.",
+ "type": "string",
+ "readOnly": true
+ },
+ "region": {
+ "description": "Azure resource region ex:EastUS, WestUS etc.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reservationRate": {
+ "description": "Reservation rate of the resource.",
+ "type": "number",
+ "readOnly": true
+ },
+ "resourceType": {
+ "description": "The azure resource type.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ReservationRecommendationDetailsSavingsProperties": {
+ "description": "Details of the estimated savings.",
+ "properties": {
+ "calculatedSavings": {
+ "description": "List of calculated savings.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReservationRecommendationDetailsCalculatedSavingsProperties"
+ }
+ },
+ "lookBackPeriod": {
+ "description": "Number of days of usage to look back used for computing the recommendation.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "recommendedQuantity": {
+ "description": "Number of recommended units of the resource.",
+ "type": "number",
+ "readOnly": true
+ },
+ "reservationOrderTerm": {
+ "description": "Term period of the reservation, ex: P1Y or P3Y.",
+ "type": "string",
+ "readOnly": true
+ },
+ "savingsType": {
+ "description": "Type of savings, ex: instance.",
+ "type": "string",
+ "readOnly": true
+ },
+ "unitOfMeasure": {
+ "description": "Measurement unit ex: hour etc.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ReservationRecommendationDetailsUsageProperties": {
+ "description": "Details about historical usage data that has been used for computing the recommendation.",
+ "properties": {
+ "firstConsumptionDate": {
+ "description": "The first usage date used for looking back for computing the recommendation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastConsumptionDate": {
+ "description": "The last usage date used for looking back for computing the recommendation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lookBackUnitType": {
+ "description": "What the usage data values represent ex: virtual machine instance.",
+ "type": "string",
+ "readOnly": true
+ },
+ "usageData": {
+ "description": "The breakdown of historical resource usage. The values are in the order of usage between the firstConsumptionDate and the lastConsumptionDate.",
+ "type": "array",
+ "items": {
+ "type": "number"
+ },
+ "readOnly": true
+ },
+ "usageGrain": {
+ "description": "The grain of the values represented in the usage data ex: hourly.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
"ReservationRecommendationsListResult": {
"description": "Result of listing reservation recommendations.",
"properties": {
@@ -4465,6 +4707,15 @@
"x-ms-parameter-location": "method",
"x-ms-skip-url-encoding": true
},
+ "scopeReservationRecommendationDetailsParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with reservation recommendation details operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}', /providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope",
+ "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/ReservationDetails.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationDetails.json
index f759fea1fafe..f13960fdaeeb 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationDetails.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationDetails.json
@@ -2,7 +2,7 @@
"parameters": {
"api-version": "2019-10-01",
"reservationOrderId": "00000000-0000-0000-0000-000000000000",
- "$filter": "properties/usageDate ge '2017-10-01' AND properties/usageDate le '2017-12-05'"
+ "$filter": "properties/usageDate ge 2017-10-01 AND properties/usageDate le 2017-12-05"
},
"responses": {
"200": {
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationDetailsByBillingAccountId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationDetailsByBillingAccountId.json
index 3fab16efdadb..9554289c19d0 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationDetailsByBillingAccountId.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationDetailsByBillingAccountId.json
@@ -2,7 +2,7 @@
"parameters": {
"api-version": "2019-10-01",
"scope": "providers/Microsoft.Billing/billingAccounts/12345",
- "$filter": "properties/usageDate ge '2017-10-01' AND properties/usageDate le '2017-12-05'"
+ "$filter": "properties/usageDate ge 2017-10-01 AND properties/usageDate le 2017-12-05"
},
"responses": {
"200": {
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationDetailsWithReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationDetailsWithReservationId.json
index e8f3dd2d970d..b947faae5e6b 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationDetailsWithReservationId.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationDetailsWithReservationId.json
@@ -3,7 +3,7 @@
"api-version": "2019-10-01",
"reservationOrderId": "00000000-0000-0000-0000-000000000000",
"reservationId": "00000000-0000-0000-0000-000000000000",
- "$filter": "properties/usageDate ge '2017-10-01' AND properties/usageDate le '2017-12-05'"
+ "$filter": "properties/usageDate ge 2017-10-01 AND properties/usageDate le 2017-12-05"
},
"responses": {
"200": {
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByBillingAccount.json
new file mode 100644
index 000000000000..3349a95990bd
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByBillingAccount.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/00000000/providers/microsoft.consumption/reservationrecommendationdetails",
+ "name": "reservationRecommendationDetails",
+ "type": "Microsoft.Consumption/ReservationRecommendationDetails",
+ "properties": {
+ "currency": "USD",
+ "resource": {
+ "appliedScopes": [
+ "00000000-0000-0000-0000-00000000",
+ "00000000-0000-0000-0000-00000000"
+ ],
+ "onDemandRate": 1.482,
+ "product": "Standard_DS14_v2",
+ "region": "eastus",
+ "reservationRate": 0.70570776255707,
+ "resourceType": "virtualmachines"
+ },
+ "resourceGroup": null,
+ "savings": {
+ "calculatedSavings": [
+ {
+ "onDemandCost": 529550.326618951,
+ "overageCost": 63253.5935111345,
+ "quantity": 220,
+ "reservationCost": 223102.452054792,
+ "totalReservationCost": 286356.045565927,
+ "savings": 243194.281053024
+ },
+ {
+ "onDemandCost": 529550.326618950,
+ "overageCost": 149335.025050147,
+ "quantity": 179,
+ "reservationCost": 181524.267808217,
+ "totalReservationCost": 330859.292858364,
+ "savings": 198691.033760586
+ },
+ {
+ "onDemandCost": 529550.326618950,
+ "overageCost": 195942.319606957,
+ "quantity": 157,
+ "reservationCost": 159214.022602738,
+ "totalReservationCost": 355156.342209695,
+ "savings": 174393.984409255
+ },
+ {
+ "onDemandCost": 529550.326618950,
+ "overageCost": 30975.2311896299,
+ "quantity": 241,
+ "reservationCost": 244398.595205477,
+ "totalReservationCost": 275373.826395107,
+ "savings": 254176.500223843
+ }
+ ],
+ "lookBackPeriod": 60,
+ "recommendedQuantity": 253.0,
+ "reservationOrderTerm": "P1Y",
+ "savingsType": "instance",
+ "unitOfMeasure": "hour"
+ },
+ "scope": "Shared",
+ "usage": {
+ "firstConsumptionDate": "2019-11-27T00:00:00",
+ "lastConsumptionDate": "2020-01-25T21:00:00",
+ "lookBackUnitType": "virtualMachine quantity",
+ "usageData": [
+ 275.95003899999995,
+ 275.916705,
+ 276.0,
+ 276.0,
+ 275.916725,
+ 275.916705,
+ 275.98335299999997,
+ 276.0,
+ 276.0,
+ 276.0,
+ 276.0,
+ 276.0,
+ 275.98335299999997,
+ 276.0,
+ 276.0,
+ 276.0,
+ 276.0,
+ 275.933352
+ ],
+ "usageGrain": "hourly"
+ }
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByBillingProfile.json
new file mode 100644
index 000000000000..235b489b818b
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByBillingProfile.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-00000000:00000000-0000-0000-0000-00000000/billingProfiles/00000000-0000-0000-0000-00000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-00000000:00000000-0000-0000-0000-00000000/billingProfiles/00000000-0000-0000-0000-00000000/providers/microsoft.consumption/reservationrecommendationdetails",
+ "name": "reservationRecommendationDetails",
+ "type": "Microsoft.Consumption/ReservationRecommendationDetails",
+ "properties": {
+ "currency": "AUD",
+ "resource": {
+ "appliedScopes": [
+ "00000000-0000-0000-0000-00000000"
+ ],
+ "onDemandRate": 0.0725,
+ "product": "Standard_B2s",
+ "region": "australiaeast",
+ "reservationRate": 0.044141665317880413,
+ "resourceType": "virtualmachines"
+ },
+ "resourceGroup": null,
+ "savings": {
+ "calculatedSavings": [
+ {
+ "onDemandCost": 632.884472049689441,
+ "overageCost": 0.0,
+ "quantity": 1,
+ "reservationCost": 387.740388152261739,
+ "totalReservationCost": 387.740388152261739,
+ "savings": 245.144083897427702
+ }
+ ],
+ "lookBackPeriod": 7,
+ "recommendedQuantity": 1.0,
+ "reservationOrderTerm": "P1Y",
+ "savingsType": "instance",
+ "unitOfMeasure": "hour"
+ },
+ "scope": "Shared",
+ "usage": {
+ "firstConsumptionDate": "2020-01-19T00:00:00",
+ "lastConsumptionDate": "2020-01-25T17:00:00",
+ "lookBackUnitType": "virtualMachine quantity",
+ "usageData": [
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0,
+ 0.0
+ ],
+ "usageGrain": "hourly"
+ }
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsBySubscription.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsBySubscription.json
new file mode 100644
index 000000000000..81401cfe5622
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsBySubscription.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-00000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-00000000/providers/microsoft.consumption/reservationrecommendationdetails",
+ "name": "reservationRecommendationDetails",
+ "type": "Microsoft.Consumption/ReservationRecommendationDetails",
+ "properties": {
+ "currency": "USD",
+ "resource": {
+ "appliedScopes": [
+ "00000000-0000-0000-0000-00000000"
+ ],
+ "onDemandRate": 0.519,
+ "product": "Standard_DS13_v2",
+ "region": "westus",
+ "reservationRate": 0.302549467275493,
+ "resourceType": "virtualmachines"
+ },
+ "resourceGroup": null,
+ "savings": {
+ "calculatedSavings": [
+ {
+ "onDemandCost": 368.4813602070006,
+ "overageCost": 0.0,
+ "quantity": 2,
+ "reservationCost": 429.01514459665,
+ "totalReservationCost": 429.01514459665,
+ "savings": -60.5337843896494
+ },
+ {
+ "onDemandCost": 368.481360207000,
+ "overageCost": 1.557,
+ "quantity": 1,
+ "reservationCost": 214.507572298325,
+ "totalReservationCost": 216.064572298325,
+ "savings": 152.416787908675
+ }
+ ],
+ "lookBackPeriod": 30,
+ "recommendedQuantity": 1.0,
+ "reservationOrderTerm": "P3Y",
+ "savingsType": "instance",
+ "unitOfMeasure": "hour"
+ },
+ "scope": "Single",
+ "usage": {
+ "firstConsumptionDate": "2020-02-03T00:00:00",
+ "lastConsumptionDate": "2020-03-03T13:00:00",
+ "lookBackUnitType": "virtualMachine quantity",
+ "usageData": [
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0
+ ],
+ "usageGrain": "hourly"
+ }
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesDaily.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesDaily.json
index 89cabe7ebef4..419293c3cb94 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesDaily.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesDaily.json
@@ -3,7 +3,7 @@
"api-version": "2019-10-01",
"reservationOrderId": "00000000-0000-0000-0000-000000000000",
"grain": "daily",
- "$filter": "properties/usageDate ge '2017-10-01' AND properties/usageDate le '2017-11-20'"
+ "$filter": "properties/usageDate ge 2017-10-01 AND properties/usageDate le 2017-11-20"
},
"responses": {
"200": {
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesDailyWithBillingAccountId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesDailyWithBillingAccountId.json
index 05d17eec72c4..b0ccf6bbbe00 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesDailyWithBillingAccountId.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesDailyWithBillingAccountId.json
@@ -3,7 +3,7 @@
"api-version": "2019-10-01",
"scope": "providers/Microsoft.Billing/billingAccounts/12345",
"grain": "daily",
- "$filter": "properties/usageDate ge '2017-10-01' AND properties/usageDate le '2017-11-20'"
+ "$filter": "properties/usageDate ge 2017-10-01 AND properties/usageDate le 2017-11-20"
},
"responses": {
"200": {
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesDailyWithReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesDailyWithReservationId.json
index 197a751de0b1..218830e01808 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesDailyWithReservationId.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesDailyWithReservationId.json
@@ -4,7 +4,7 @@
"reservationOrderId": "00000000-0000-0000-0000-000000000000",
"reservationId": "00000000-0000-0000-0000-000000000000",
"grain": "daily",
- "$filter": "properties/usageDate ge '2017-10-01' AND properties/usageDate le '2017-11-20'"
+ "$filter": "properties/usageDate ge 2017-10-01 AND properties/usageDate le 2017-11-20"
},
"responses": {
"200": {
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationTransactionsListByBillingAccountId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationTransactionsListByBillingAccountId.json
index 6ce54b6b472a..7770a224b060 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/ReservationTransactionsListByBillingAccountId.json
@@ -2,7 +2,7 @@
"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 2019-09-09 AND properties/eventDate le 2019-09-10"
},
"responses": {
"200": {
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json
index d2fb550baaf0..6f70e0e72c62 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json
@@ -3376,6 +3376,11 @@
"$ref": "#/definitions/Status",
"description": "The status of the replication at the time the operation was called.",
"readOnly": true
+ },
+ "regionEndpointEnabled": {
+ "description": "Specifies whether the replication's regional endpoint is enabled. Requests will not be routed to a replication whose regional endpoint is disabled, however its data will continue to be synced with other replications.",
+ "default": true,
+ "type": "boolean"
}
}
},
@@ -3389,6 +3394,20 @@
"additionalProperties": {
"type": "string"
}
+ },
+ "properties": {
+ "$ref": "#/definitions/ReplicationUpdateParametersProperties",
+ "description": "The parameters for updating a replication's properties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ReplicationUpdateParametersProperties": {
+ "type": "object",
+ "properties": {
+ "regionEndpointEnabled": {
+ "description": "Specifies whether the replication's regional endpoint is enabled. Requests will not be routed to a replication whose regional endpoint is disabled, however its data will continue to be synced with other replications.",
+ "type": "boolean"
}
}
},
diff --git a/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/examples/TableCreate.json b/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/examples/TableCreate.json
new file mode 100644
index 000000000000..803e06fd5d20
--- /dev/null
+++ b/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/examples/TableCreate.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "x-ms-version": "2019-02-02",
+ "DataServiceVersion": "3.0",
+ "url": "myaccount.table.core.windows.net",
+ "tableProperties": {
+ "TableName": "mytable"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "odata.metadata": "https://myaccount.table.core.windows.net/$metadata#Tables/@Element",
+ "odata.type": " myaccount.Tables",
+ "odata.id": "https://myaccount.table.core.windows.net/Tables('mytable')",
+ "odata.editLink": "Tables('mytable')",
+ "TableName": "mytable"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/examples/TableDelete.json b/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/examples/TableDelete.json
new file mode 100644
index 000000000000..0cc1f4bb05c7
--- /dev/null
+++ b/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/examples/TableDelete.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "x-ms-version": "2019-02-02",
+ "url": "myaccount.table.core.windows.net",
+ "table": "mytable"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/examples/TableDeleteEntity.json b/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/examples/TableDeleteEntity.json
new file mode 100644
index 000000000000..2d0f7a9a5525
--- /dev/null
+++ b/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/examples/TableDeleteEntity.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "x-ms-version": "2019-02-02",
+ "DataServiceVersion": "3.0",
+ "If-Match": "*",
+ "url": "myaccount.table.core.windows.net",
+ "table": "Customers",
+ "partitionKey": "mypartitionkey",
+ "rowKey": "myrowkey"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/examples/TableGet.json b/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/examples/TableGet.json
new file mode 100644
index 000000000000..018859152f5a
--- /dev/null
+++ b/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/examples/TableGet.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "x-ms-version": "2019-02-02",
+ "DataServiceVersion": "3.0",
+ "$top": 1,
+ "url": "myaccount.table.core.windows.net"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "odata.metadata": "https://myaccount.table.core.windows.net/$metadata#Tables",
+ "value": [
+ {
+ "odata.type": "myaccount.Tables",
+ "odata.id": "https://myaccount.table.core.windows.net/Tables('mytable')",
+ "odata.editLink": "Tables('mytable')",
+ "TableName": "mytable"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/examples/TableInsertEntity.json b/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/examples/TableInsertEntity.json
new file mode 100644
index 000000000000..749a5ac0a691
--- /dev/null
+++ b/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/examples/TableInsertEntity.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "x-ms-version": "2019-02-02",
+ "DataServiceVersion": "3.0",
+ "table": "Customer",
+ "url": "myaccount.table.core.windows.net",
+ "tableEntityProperties": {
+ "Address": "Mountain View",
+ "Age": 23,
+ "AmountDue": 200.23,
+ "CustomerCode@odata.type": "Edm.Guid",
+ "CustomerCode": "c9da6455-213d-42c9-9a79-3e9149a57833",
+ "CustomerSince@odata.type": "Edm.DateTime",
+ "CustomerSince": "2008-07-10T00:00:00",
+ "IsActive": true,
+ "NumberOfOrders@odata.type": "Edm.Int64",
+ "NumberOfOrders": "255",
+ "PartitionKey": "mypartitionkey",
+ "RowKey": "myrowkey"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "odata.metadata": "https://myaccount.table.core.windows.net/Customer/$metadata#Customers/@Element",
+ "odata.type": "myaccount.Customers",
+ "odata.id": " https://myaccount.table.core.windows.net/Customers(PartitionKey='mypartitionkey',RowKey='myrowkey')",
+ "odata.etag": "W/\"0x5B168C7B6E589D2\"",
+ "odata.editLink": "Customers(PartitionKey='mypartitionkey',RowKey='myrowkey')",
+ "PartitionKey": "mypartitionkey",
+ "RowKey": "myrowkey",
+ "Timestamp@odata.type": "Edm.DateTime",
+ "Timestamp": "2013-08-22T01:12:06.2608595Z",
+ "Address": "Mountain View",
+ "Age": 23,
+ "AmountDue": 200.23,
+ "CustomerCode@odata.type": "Edm.Guid",
+ "CustomerCode": "c9da6455-213d-42c9-9a79-3e9149a57833",
+ "CustomerSince@odata.type": "Edm.DateTime",
+ "CustomerSince": "2008-07-10T00:00:00",
+ "IsActive": true,
+ "NumberOfOrders@odata.type": "Edm.Int64",
+ "NumberOfOrders": "255"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/examples/TableMergeEntity.json b/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/examples/TableMergeEntity.json
new file mode 100644
index 000000000000..24e71afe72fa
--- /dev/null
+++ b/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/examples/TableMergeEntity.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "x-ms-version": "2019-02-02",
+ "DataServiceVersion": "3.0",
+ "url": "myaccount.table.core.windows.net",
+ "table": "Customers",
+ "partitionKey": "mypartitionkey",
+ "rowKey": "myrowkey",
+ "tableEntityProperties": {
+ "Address": "Santa Clara",
+ "Age": 23,
+ "AmountDue": 200.23,
+ "CustomerCode@odata.type": "Edm.Guid",
+ "CustomerCode": "c9da6455-213d-42c9-9a79-3e9149a57833",
+ "CustomerSince@odata.type": "Edm.DateTime",
+ "CustomerSince": "2008-07-10T00:00:00",
+ "IsActive": false,
+ "NumberOfOrders@odata.type": "Edm.Int64",
+ "NumberOfOrders": "255",
+ "PartitionKey": "mypartitionkey",
+ "RowKey": "myrowkey"
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/examples/TableQueryEntities.json b/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/examples/TableQueryEntities.json
new file mode 100644
index 000000000000..2daab5a9feb0
--- /dev/null
+++ b/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/examples/TableQueryEntities.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "x-ms-version": "2019-02-02",
+ "DataServiceVersion": "3.0",
+ "url": "myaccount.table.core.windows.net",
+ "$top": 1,
+ "table": "Customer"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "odata.metadata": " https://myaccount.table.core.windows.net/metadata#Customers",
+ "value": [
+ {
+ "PartitionKey": "Customer",
+ "RowKey": "Name",
+ "odata.type": "myaccount.Customers",
+ "odata.id": "https://myaccount.table.core.windows.net/Customers(PartitionKey=Customer',RowKey='Name')",
+ "odata.etag": "W/\"0x5B168C7B6E589D2\"",
+ "odata.editLink": "Customers(PartitionKey=Customer',RowKey='Name')",
+ "Timestamp@odata.type": "Edm.DateTime",
+ "Timestamp": "2013-08-22T00:20:16.3134645Z",
+ "CustomerSince@odata.type": "Edm.DateTime",
+ "CustomerSince": "2008-10-01T15:25:05.2852025Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/examples/TableQueryEntitiesWithPartitionAndRowKey.json b/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/examples/TableQueryEntitiesWithPartitionAndRowKey.json
new file mode 100644
index 000000000000..94896182a26b
--- /dev/null
+++ b/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/examples/TableQueryEntitiesWithPartitionAndRowKey.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "x-ms-version": "2019-02-02",
+ "DataServiceVersion": "3.0",
+ "url": "myaccount.table.core.windows.net",
+ "table": "Customers",
+ "partitionKey": "Customer",
+ "rowKey": "Name"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "odata.metadata": " https://myaccount.table.core.windows.net/metadata#Customers",
+ "value": [
+ {
+ "odata.type": "myaccount.Customers",
+ "odata.id": "https://myaccount.table.core.windows.net/Customers(PartitionKey=Customer',RowKey='Name')",
+ "odata.etag": "W/\"0x5B168C7B6E589D2\"",
+ "odata.editLink": "Customers(PartitionKey=Customer',RowKey='Name')",
+ "PartitionKey": "Customer",
+ "RowKey": "Name",
+ "Timestamp@odata.type": "Edm.DateTime",
+ "Timestamp": "2013-08-22T00:20:16.3134645Z",
+ "CustomerSince@odata.type": "Edm.DateTime",
+ "CustomerSince": "2008-10-01T15:25:05.2852025Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/examples/TableUpdateEntity.json b/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/examples/TableUpdateEntity.json
new file mode 100644
index 000000000000..24e71afe72fa
--- /dev/null
+++ b/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/examples/TableUpdateEntity.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "x-ms-version": "2019-02-02",
+ "DataServiceVersion": "3.0",
+ "url": "myaccount.table.core.windows.net",
+ "table": "Customers",
+ "partitionKey": "mypartitionkey",
+ "rowKey": "myrowkey",
+ "tableEntityProperties": {
+ "Address": "Santa Clara",
+ "Age": 23,
+ "AmountDue": 200.23,
+ "CustomerCode@odata.type": "Edm.Guid",
+ "CustomerCode": "c9da6455-213d-42c9-9a79-3e9149a57833",
+ "CustomerSince@odata.type": "Edm.DateTime",
+ "CustomerSince": "2008-07-10T00:00:00",
+ "IsActive": false,
+ "NumberOfOrders@odata.type": "Edm.Int64",
+ "NumberOfOrders": "255",
+ "PartitionKey": "mypartitionkey",
+ "RowKey": "myrowkey"
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
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
new file mode 100644
index 000000000000..6ec8ea5e20b5
--- /dev/null
+++ b/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/table.json
@@ -0,0 +1,1908 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Table",
+ "version": "2019-02-02",
+ "x-ms-code-generation-settings": {
+ "header": "MIT",
+ "strictSpecAdherence": false
+ }
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{url}",
+ "useSchemePrefix": false,
+ "positionInOperation": "first",
+ "parameters": [
+ {
+ "$ref": "#/parameters/Url"
+ }
+ ]
+ },
+ "securityDefinitions": {
+ "table_shared_key": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header"
+ }
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json;odata=nometadata"
+ ],
+ "produces": [
+ "application/json;odata=minimalmetadata"
+ ],
+ "paths": {
+ "/Tables": {
+ "get": {
+ "tags": [
+ "table"
+ ],
+ "operationId": "Table_Query",
+ "x-ms-examples": {
+ "TableGet": {
+ "$ref": "./examples/TableGet.json"
+ }
+ },
+ "description": "Queries tables under the given account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestId"
+ },
+ {
+ "$ref": "#/parameters/DataServiceVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/formatParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/selectParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ },
+ {
+ "name": "NextTableName",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "A table query continuation token from a previous call."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success, table query completed.",
+ "headers": {
+ "x-ms-client-request-id": {
+ "x-ms-client-name": "ClientRequestId",
+ "type": "string",
+ "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
+ },
+ "x-ms-request-id": {
+ "x-ms-client-name": "RequestId",
+ "type": "string",
+ "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
+ },
+ "x-ms-version": {
+ "x-ms-client-name": "Version",
+ "type": "string",
+ "description": "Indicates the version of the Table service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
+ },
+ "Date": {
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated."
+ },
+ "x-ms-continuation-NextTableName": {
+ "type": "string",
+ "description": "This header contains the continuation token value."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/TableQueryResponse"
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "table"
+ ],
+ "operationId": "Table_Create",
+ "x-ms-examples": {
+ "TableCreate": {
+ "$ref": "./examples/TableCreate.json"
+ }
+ },
+ "description": "Creates a new table under the given account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestId"
+ },
+ {
+ "$ref": "#/parameters/DataServiceVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/formatParameter"
+ },
+ {
+ "$ref": "#/parameters/TableProperties"
+ },
+ {
+ "$ref": "#/parameters/PreferParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success, table created.",
+ "headers": {
+ "x-ms-client-request-id": {
+ "x-ms-client-name": "ClientRequestId",
+ "type": "string",
+ "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
+ },
+ "x-ms-request-id": {
+ "x-ms-client-name": "RequestId",
+ "type": "string",
+ "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
+ },
+ "x-ms-version": {
+ "x-ms-client-name": "Version",
+ "type": "string",
+ "description": "Indicates the version of the Table service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
+ },
+ "Date": {
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated."
+ },
+ "Preference-Applied": {
+ "type": "string",
+ "description": "Indicates whether the Prefer request header was honored. If the response does not include this header, then the Prefer header was not honored. If this header is returned, its value will either be return-content or return-no-content."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/TableResponse"
+ }
+ },
+ "204": {
+ "description": "Success, table created.",
+ "headers": {
+ "x-ms-client-request-id": {
+ "x-ms-client-name": "ClientRequestId",
+ "type": "string",
+ "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
+ },
+ "x-ms-request-id": {
+ "x-ms-client-name": "RequestId",
+ "type": "string",
+ "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
+ },
+ "x-ms-version": {
+ "x-ms-client-name": "Version",
+ "type": "string",
+ "description": "Indicates the version of the Table service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
+ },
+ "Date": {
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated."
+ },
+ "Preference-Applied": {
+ "type": "string",
+ "description": "Indicates whether the Prefer request header was honored. If the response does not include this header, then the Prefer header was not honored. If this header is returned, its value will either be return-content or return-no-content."
+ }
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "headers": {
+ "x-ms-error-code": {
+ "x-ms-client-name": "ErrorCode",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/TableServiceError"
+ }
+ }
+ }
+ }
+ },
+ "/Tables('{table}')": {
+ "delete": {
+ "tags": [
+ "table"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "operationId": "Table_Delete",
+ "x-ms-examples": {
+ "TableDelete": {
+ "$ref": "./examples/TableDelete.json"
+ }
+ },
+ "description": "Operation permanently deletes the specified table.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestId"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content",
+ "headers": {
+ "x-ms-client-request-id": {
+ "x-ms-client-name": "ClientRequestId",
+ "type": "string",
+ "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
+ },
+ "x-ms-request-id": {
+ "x-ms-client-name": "RequestId",
+ "type": "string",
+ "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
+ },
+ "x-ms-version": {
+ "x-ms-client-name": "Version",
+ "type": "string",
+ "description": "Indicates the version of the Table service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
+ },
+ "Date": {
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated."
+ }
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "headers": {
+ "x-ms-error-code": {
+ "x-ms-client-name": "ErrorCode",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/TableServiceError"
+ }
+ }
+ }
+ }
+ },
+ "/{table}()": {
+ "get": {
+ "tags": [
+ "table"
+ ],
+ "operationId": "Table_QueryEntities",
+ "x-ms-examples": {
+ "TableQueryEntities": {
+ "$ref": "./examples/TableQueryEntities.json"
+ }
+ },
+ "description": "Queries entities in a table.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/Timeout"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestId"
+ },
+ {
+ "$ref": "#/parameters/DataServiceVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/formatParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/selectParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "name": "NextPartitionKey",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An entity query continuation token from a previous call."
+ },
+ {
+ "name": "NextRowKey",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An entity query continuation token from a previous call."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success.",
+ "headers": {
+ "x-ms-client-request-id": {
+ "x-ms-client-name": "ClientRequestId",
+ "type": "string",
+ "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
+ },
+ "x-ms-request-id": {
+ "x-ms-client-name": "RequestId",
+ "type": "string",
+ "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
+ },
+ "x-ms-version": {
+ "x-ms-client-name": "Version",
+ "type": "string",
+ "description": "Indicates the version of the Table service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
+ },
+ "Date": {
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated."
+ },
+ "x-ms-continuation-NextPartitionKey": {
+ "type": "string",
+ "description": "This header contains the continuation token value for partition key."
+ },
+ "x-ms-continuation-NextRowKey": {
+ "type": "string",
+ "description": "This header contains the continuation token value for row key."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/TableEntityQueryResponse"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "headers": {
+ "x-ms-error-code": {
+ "x-ms-client-name": "ErrorCode",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/TableServiceError"
+ }
+ }
+ }
+ }
+ },
+ "/{table}(PartitionKey='{partitionKey}',RowKey='{rowKey}')": {
+ "get": {
+ "tags": [
+ "table"
+ ],
+ "operationId": "Table_QueryEntitiesWithPartitionAndRowKey",
+ "x-ms-examples": {
+ "TableQueryEntitiesWithPartitionAndRowKey": {
+ "$ref": "./examples/TableQueryEntitiesWithPartitionAndRowKey.json"
+ }
+ },
+ "description": "Queries entities in a table.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/Timeout"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestId"
+ },
+ {
+ "$ref": "#/parameters/DataServiceVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/formatParameter"
+ },
+ {
+ "$ref": "#/parameters/selectParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "#/parameters/partitionKeyParameter"
+ },
+ {
+ "$ref": "#/parameters/rowKeyParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success.",
+ "headers": {
+ "x-ms-client-request-id": {
+ "x-ms-client-name": "ClientRequestId",
+ "type": "string",
+ "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
+ },
+ "x-ms-request-id": {
+ "x-ms-client-name": "RequestId",
+ "type": "string",
+ "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
+ },
+ "x-ms-version": {
+ "x-ms-client-name": "Version",
+ "type": "string",
+ "description": "Indicates the version of the Table service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
+ },
+ "Date": {
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated."
+ },
+ "ETag": {
+ "type": "string",
+ "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
+ },
+ "x-ms-continuation-NextPartitionKey": {
+ "type": "string",
+ "description": "This header contains the continuation token value for partition key."
+ },
+ "x-ms-continuation-NextRowKey": {
+ "type": "string",
+ "description": "This header contains the continuation token value for row key."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/TableEntityQueryResponse"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "headers": {
+ "x-ms-error-code": {
+ "x-ms-client-name": "ErrorCode",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/TableServiceError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "table"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "operationId": "Table_UpdateEntity",
+ "x-ms-examples": {
+ "TableUpdateEntity": {
+ "$ref": "./examples/TableUpdateEntity.json"
+ }
+ },
+ "description": "Update entity in a table.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/Timeout"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestId"
+ },
+ {
+ "$ref": "#/parameters/DataServiceVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/formatParameter"
+ },
+ {
+ "$ref": "#/parameters/TableEntityProperties"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "#/parameters/partitionKeyParameter"
+ },
+ {
+ "$ref": "#/parameters/rowKeyParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "Match condition for an entity to be updated. If specified and a matching entity is not found, an error will be raised. To force an unconditional update, set to the wildcard character (*). If not specified, an insert will be performed when no existing entity is found to update and a replace will be performed if an existing entity is found.",
+ "x-ms-client-name": "IfMatch"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success.",
+ "headers": {
+ "x-ms-client-request-id": {
+ "x-ms-client-name": "ClientRequestId",
+ "type": "string",
+ "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
+ },
+ "x-ms-request-id": {
+ "x-ms-client-name": "RequestId",
+ "type": "string",
+ "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
+ },
+ "x-ms-version": {
+ "x-ms-client-name": "Version",
+ "type": "string",
+ "description": "Indicates the version of the Table service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
+ },
+ "Date": {
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated."
+ },
+ "ETag": {
+ "type": "string",
+ "description": "UTC date/time value generated by the service that indicates the time at which the entity was last updated."
+ }
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "headers": {
+ "x-ms-error-code": {
+ "x-ms-client-name": "ErrorCode",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/TableServiceError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "table"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "operationId": "Table_MergeEntity",
+ "x-ms-examples": {
+ "TableMergeEntity": {
+ "$ref": "./examples/TableMergeEntity.json"
+ }
+ },
+ "description": "Merge entity in a table.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/Timeout"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestId"
+ },
+ {
+ "$ref": "#/parameters/DataServiceVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/formatParameter"
+ },
+ {
+ "$ref": "#/parameters/TableEntityProperties"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "#/parameters/partitionKeyParameter"
+ },
+ {
+ "$ref": "#/parameters/rowKeyParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "Match condition for an entity to be updated. If specified and a matching entity is not found, an error will be raised. To force an unconditional update, set to the wildcard character (*). If not specified, an insert will be performed when no existing entity is found to update and a merge will be performed if an existing entity is found.",
+ "x-ms-client-name": "IfMatch"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success.",
+ "headers": {
+ "x-ms-client-request-id": {
+ "x-ms-client-name": "ClientRequestId",
+ "type": "string",
+ "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
+ },
+ "x-ms-request-id": {
+ "x-ms-client-name": "RequestId",
+ "type": "string",
+ "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
+ },
+ "x-ms-version": {
+ "x-ms-client-name": "Version",
+ "type": "string",
+ "description": "Indicates the version of the Table service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
+ },
+ "Date": {
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated."
+ },
+ "ETag": {
+ "type": "string",
+ "description": "UTC date/time value generated by the service that indicates the time at which the entity was last updated."
+ }
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "headers": {
+ "x-ms-error-code": {
+ "x-ms-client-name": "ErrorCode",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/TableServiceError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "table"
+ ],
+ "operationId": "Table_DeleteEntity",
+ "x-ms-examples": {
+ "TableDeleteEntity": {
+ "$ref": "./examples/TableDeleteEntity.json"
+ }
+ },
+ "description": "Deletes the specified entity in a table.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/Timeout"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestId"
+ },
+ {
+ "$ref": "#/parameters/DataServiceVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/formatParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "#/parameters/partitionKeyParameter"
+ },
+ {
+ "$ref": "#/parameters/rowKeyParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "Match condition for an entity to be deleted. If specified and a matching entity is not found, an error will be raised. To force an unconditional delete, set to the wildcard character (*).",
+ "x-ms-client-name": "IfMatch"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success.",
+ "headers": {
+ "x-ms-client-request-id": {
+ "x-ms-client-name": "ClientRequestId",
+ "type": "string",
+ "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
+ },
+ "x-ms-request-id": {
+ "x-ms-client-name": "RequestId",
+ "type": "string",
+ "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
+ },
+ "x-ms-version": {
+ "x-ms-client-name": "Version",
+ "type": "string",
+ "description": "Indicates the version of the Table service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
+ },
+ "Date": {
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated."
+ }
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "headers": {
+ "x-ms-error-code": {
+ "x-ms-client-name": "ErrorCode",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/TableServiceError"
+ }
+ }
+ }
+ }
+ },
+ "/{table}": {
+ "post": {
+ "tags": [
+ "table"
+ ],
+ "operationId": "Table_InsertEntity",
+ "x-ms-examples": {
+ "TableInsertEntity": {
+ "$ref": "./examples/TableInsertEntity.json"
+ }
+ },
+ "description": "Insert entity in a table.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/Timeout"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestId"
+ },
+ {
+ "$ref": "#/parameters/DataServiceVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/formatParameter"
+ },
+ {
+ "$ref": "#/parameters/TableEntityProperties"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PreferParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success.",
+ "headers": {
+ "x-ms-client-request-id": {
+ "x-ms-client-name": "ClientRequestId",
+ "type": "string",
+ "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
+ },
+ "x-ms-request-id": {
+ "x-ms-client-name": "RequestId",
+ "type": "string",
+ "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
+ },
+ "x-ms-version": {
+ "x-ms-client-name": "Version",
+ "type": "string",
+ "description": "Indicates the version of the Table service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
+ },
+ "Date": {
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated."
+ },
+ "ETag": {
+ "type": "string",
+ "description": "UTC date/time value generated by the service that indicates the time at which the entity was last updated."
+ },
+ "Preference-Applied": {
+ "type": "string",
+ "description": "Indicates whether the Prefer request header was honored. If the response does not include this header, then the Prefer header was not honored. If this header is returned, its value will either be return-content or return-no-content."
+ },
+ "Content-Type": {
+ "type": "string",
+ "description": "Indicates the content type of the payload. The value depends on the value specified for the Accept request header."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/TableEntityProperties"
+ }
+ },
+ "204": {
+ "description": "No Content.",
+ "headers": {
+ "x-ms-client-request-id": {
+ "x-ms-client-name": "ClientRequestId",
+ "type": "string",
+ "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
+ },
+ "x-ms-request-id": {
+ "x-ms-client-name": "RequestId",
+ "type": "string",
+ "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
+ },
+ "x-ms-version": {
+ "x-ms-client-name": "Version",
+ "type": "string",
+ "description": "Indicates the version of the Table service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
+ },
+ "Date": {
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated."
+ },
+ "ETag": {
+ "type": "string",
+ "description": "UTC date/time value generated by the service that indicates the time at which the entity was last updated."
+ },
+ "Preference-Applied": {
+ "type": "string",
+ "description": "Indicates whether the Prefer request header was honored. If the response does not include this header, then the Prefer header was not honored. If this header is returned, its value will either be return-content or return-no-content."
+ },
+ "Content-Type": {
+ "type": "string",
+ "description": "Indicates the content type of the payload. The value depends on the value specified for the Accept request header."
+ }
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "headers": {
+ "x-ms-error-code": {
+ "x-ms-client-name": "ErrorCode",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/TableServiceError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "table"
+ ],
+ "consumes": [
+ "application/xml"
+ ],
+ "produces": [
+ "application/xml"
+ ],
+ "operationId": "Table_GetAccessPolicy",
+ "description": "Retrieves details about any stored access policies specified on the table that may be used with Shared Access Signatures.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/Timeout"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestId"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "#/parameters/compAclParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success.",
+ "headers": {
+ "x-ms-client-request-id": {
+ "x-ms-client-name": "ClientRequestId",
+ "type": "string",
+ "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
+ },
+ "x-ms-request-id": {
+ "x-ms-client-name": "RequestId",
+ "type": "string",
+ "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
+ },
+ "x-ms-version": {
+ "x-ms-client-name": "Version",
+ "type": "string",
+ "description": "Indicates the version of the Table service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
+ },
+ "Date": {
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/SignedIdentifiers"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "headers": {
+ "x-ms-error-code": {
+ "x-ms-client-name": "ErrorCode",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/TableServiceError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "table"
+ ],
+ "consumes": [
+ "application/xml"
+ ],
+ "produces": [
+ "application/xml"
+ ],
+ "operationId": "Table_SetAccessPolicy",
+ "description": "Sets stored access policies for the table that may be used with Shared Access Signatures.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/TableAcl"
+ },
+ {
+ "$ref": "#/parameters/Timeout"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestId"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "#/parameters/compAclParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content",
+ "headers": {
+ "x-ms-client-request-id": {
+ "x-ms-client-name": "ClientRequestId",
+ "type": "string",
+ "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
+ },
+ "x-ms-request-id": {
+ "x-ms-client-name": "RequestId",
+ "type": "string",
+ "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
+ },
+ "x-ms-version": {
+ "x-ms-client-name": "Version",
+ "type": "string",
+ "description": "Indicates the version of the Table service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
+ },
+ "Date": {
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated."
+ }
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "headers": {
+ "x-ms-error-code": {
+ "x-ms-client-name": "ErrorCode",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/TableServiceError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "x-ms-paths": {
+ "/?ServiceProperties": {
+ "parameters": [
+ {
+ "name": "restype",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "service"
+ ],
+ "description": "Required query string to set the service properties."
+ },
+ {
+ "name": "comp",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "properties"
+ ],
+ "description": "Required query string to set the service properties."
+ }
+ ],
+ "put": {
+ "tags": [
+ "service"
+ ],
+ "consumes": [
+ "application/xml"
+ ],
+ "produces": [
+ "application/xml"
+ ],
+ "operationId": "Service_SetProperties",
+ "description": "Sets properties for an account's Table service endpoint, including properties for Analytics and CORS (Cross-Origin Resource Sharing) rules.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/TableServiceProperties"
+ },
+ {
+ "$ref": "#/parameters/Timeout"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestId"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success (Accepted)",
+ "headers": {
+ "x-ms-client-request-id": {
+ "x-ms-client-name": "ClientRequestId",
+ "type": "string",
+ "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
+ },
+ "x-ms-request-id": {
+ "x-ms-client-name": "RequestId",
+ "type": "string",
+ "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
+ },
+ "x-ms-version": {
+ "x-ms-client-name": "Version",
+ "type": "string",
+ "description": "Indicates the version of the Table service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
+ }
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "headers": {
+ "x-ms-error-code": {
+ "x-ms-client-name": "ErrorCode",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/TableServiceError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "service"
+ ],
+ "consumes": [
+ "application/xml"
+ ],
+ "produces": [
+ "application/xml"
+ ],
+ "operationId": "Service_GetProperties",
+ "description": "Gets the properties of an account's Table service, including properties for Analytics and CORS (Cross-Origin Resource Sharing) rules.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/Timeout"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success.",
+ "headers": {
+ "x-ms-client-request-id": {
+ "x-ms-client-name": "ClientRequestId",
+ "type": "string",
+ "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
+ },
+ "x-ms-request-id": {
+ "x-ms-client-name": "RequestId",
+ "type": "string",
+ "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
+ },
+ "x-ms-version": {
+ "x-ms-client-name": "Version",
+ "type": "string",
+ "description": "Indicates the version of the Table service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/TableServiceProperties"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "headers": {
+ "x-ms-error-code": {
+ "x-ms-client-name": "ErrorCode",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/TableServiceError"
+ }
+ }
+ }
+ }
+ },
+ "/?ServiceStats": {
+ "parameters": [
+ {
+ "name": "restype",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "service"
+ ],
+ "description": "Required query string to get service stats."
+ },
+ {
+ "name": "comp",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "stats"
+ ],
+ "description": "Required query string to get service stats."
+ }
+ ],
+ "get": {
+ "tags": [
+ "service"
+ ],
+ "consumes": [
+ "application/xml"
+ ],
+ "produces": [
+ "application/xml"
+ ],
+ "operationId": "Service_GetStatistics",
+ "description": "Retrieves statistics related to replication for the Table service. It is only available on the secondary location endpoint when read-access geo-redundant replication is enabled for the account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/Timeout"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success.",
+ "headers": {
+ "x-ms-client-request-id": {
+ "x-ms-client-name": "ClientRequestId",
+ "type": "string",
+ "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
+ },
+ "x-ms-request-id": {
+ "x-ms-client-name": "RequestId",
+ "type": "string",
+ "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
+ },
+ "x-ms-version": {
+ "x-ms-client-name": "Version",
+ "type": "string",
+ "description": "Indicates the version of the Table service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
+ },
+ "Date": {
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/TableServiceStats"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "headers": {
+ "x-ms-error-code": {
+ "x-ms-client-name": "ErrorCode",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/TableServiceError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "TableServiceError": {
+ "description": "Table Service error.",
+ "type": "object",
+ "xml": {},
+ "properties": {
+ "Message": {
+ "description": "The error message.",
+ "type": "string",
+ "xml": {
+ "name": "Message"
+ }
+ }
+ }
+ },
+ "TableServiceProperties": {
+ "description": "Table Service Properties.",
+ "type": "object",
+ "properties": {
+ "Logging": {
+ "description": "Azure Analytics Logging settings.",
+ "$ref": "#/definitions/Logging"
+ },
+ "HourMetrics": {
+ "description": "A summary of request statistics grouped by API in hourly aggregates for tables.",
+ "$ref": "#/definitions/Metrics"
+ },
+ "MinuteMetrics": {
+ "description": "A summary of request statistics grouped by API in minute aggregates for tables.",
+ "$ref": "#/definitions/Metrics"
+ },
+ "Cors": {
+ "description": "The set of CORS rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CorsRule"
+ },
+ "xml": {
+ "wrapped": true,
+ "name": "Cors"
+ }
+ }
+ }
+ },
+ "Logging": {
+ "xml": {
+ "name": "Logging"
+ },
+ "description": "Azure Analytics Logging settings.",
+ "type": "object",
+ "required": [
+ "Version",
+ "Delete",
+ "Read",
+ "Write",
+ "RetentionPolicy"
+ ],
+ "properties": {
+ "Version": {
+ "description": "The version of Analytics to configure.",
+ "type": "string",
+ "xml": {
+ "name": "Version"
+ }
+ },
+ "Delete": {
+ "description": "Indicates whether all delete requests should be logged.",
+ "type": "boolean",
+ "xml": {
+ "name": "Delete"
+ }
+ },
+ "Read": {
+ "description": "Indicates whether all read requests should be logged.",
+ "type": "boolean",
+ "xml": {
+ "name": "Read"
+ }
+ },
+ "Write": {
+ "description": "Indicates whether all write requests should be logged.",
+ "type": "boolean",
+ "xml": {
+ "name": "Write"
+ }
+ },
+ "RetentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy"
+ }
+ }
+ },
+ "Metrics": {
+ "xml": {},
+ "description": "",
+ "required": [
+ "Enabled"
+ ],
+ "properties": {
+ "Version": {
+ "description": "The version of Analytics to configure.",
+ "type": "string",
+ "xml": {
+ "name": "Version"
+ }
+ },
+ "Enabled": {
+ "description": "Indicates whether metrics are enabled for the Table service.",
+ "type": "boolean",
+ "xml": {
+ "name": "Enabled"
+ }
+ },
+ "IncludeAPIs": {
+ "description": "Indicates whether metrics should generate summary statistics for called API operations.",
+ "type": "boolean",
+ "xml": {
+ "name": "IncludeAPIs"
+ }
+ },
+ "RetentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy"
+ }
+ }
+ },
+ "CorsRule": {
+ "xml": {
+ "name": "CorsRule"
+ },
+ "description": "CORS is an HTTP feature that enables a web application running under one domain to access resources in another domain. Web browsers implement a security restriction known as same-origin policy that prevents a web page from calling APIs in a different domain; CORS provides a secure way to allow one domain (the origin domain) to call APIs in another domain.",
+ "type": "object",
+ "required": [
+ "AllowedOrigins",
+ "AllowedMethods",
+ "AllowedHeaders",
+ "ExposedHeaders",
+ "MaxAgeInSeconds"
+ ],
+ "properties": {
+ "AllowedOrigins": {
+ "description": "The origin domains that are permitted to make a request against the service via CORS. The origin domain is the domain from which the request originates. Note that the origin must be an exact case-sensitive match with the origin that the user age sends to the service. You can also use the wildcard character '*' to allow all origin domains to make requests via CORS.",
+ "type": "string",
+ "xml": {
+ "name": "AllowedOrigins"
+ }
+ },
+ "AllowedMethods": {
+ "description": "The methods (HTTP request verbs) that the origin domain may use for a CORS request. (comma separated)",
+ "type": "string",
+ "xml": {
+ "name": "AllowedMethods"
+ }
+ },
+ "AllowedHeaders": {
+ "description": "The request headers that the origin domain may specify on the CORS request.",
+ "type": "string",
+ "xml": {
+ "name": "AllowedHeaders"
+ }
+ },
+ "ExposedHeaders": {
+ "description": "The response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer.",
+ "type": "string",
+ "xml": {
+ "name": "ExposedHeaders"
+ }
+ },
+ "MaxAgeInSeconds": {
+ "description": "The maximum amount time that a browser should cache the preflight OPTIONS request.",
+ "type": "integer",
+ "minimum": 0,
+ "xml": {
+ "name": "MaxAgeInSeconds"
+ }
+ }
+ }
+ },
+ "RetentionPolicy": {
+ "xml": {
+ "name": "RetentionPolicy"
+ },
+ "description": "The retention policy.",
+ "type": "object",
+ "required": [
+ "Enabled"
+ ],
+ "properties": {
+ "Enabled": {
+ "description": "Indicates whether a retention policy is enabled for the service.",
+ "type": "boolean",
+ "xml": {
+ "name": "Enabled"
+ }
+ },
+ "Days": {
+ "description": "Indicates the number of days that metrics or logging or soft-deleted data should be retained. All data older than this value will be deleted.",
+ "type": "integer",
+ "minimum": 1,
+ "xml": {
+ "name": "Days"
+ }
+ }
+ }
+ },
+ "TableServiceStats": {
+ "xml": {},
+ "description": "Stats for the service.",
+ "type": "object",
+ "properties": {
+ "GeoReplication": {
+ "description": "Geo-Replication information for the Secondary Storage Service.",
+ "$ref": "#/definitions/GeoReplication"
+ }
+ }
+ },
+ "GeoReplication": {
+ "xml": {
+ "name": "GeoReplication"
+ },
+ "type": "object",
+ "required": [
+ "Status",
+ "LastSyncTime"
+ ],
+ "properties": {
+ "Status": {
+ "description": "The status of the secondary location.",
+ "type": "string",
+ "enum": [
+ "live",
+ "bootstrap",
+ "unavailable"
+ ],
+ "x-ms-enum": {
+ "name": "GeoReplicationStatusType",
+ "modelAsString": true
+ },
+ "xml": {
+ "name": "Status"
+ }
+ },
+ "LastSyncTime": {
+ "description": "A GMT date/time value, to the second. All primary writes preceding this value are guaranteed to be available for read operations at the secondary. Primary writes after this point in time may or may not be available for reads.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "xml": {
+ "name": "LastSyncTime"
+ }
+ }
+ }
+ },
+ "TableProperties": {
+ "description": "The properties for creating a table.",
+ "type": "object",
+ "properties": {
+ "TableName": {
+ "description": "The name of the table to create.",
+ "type": "string"
+ }
+ }
+ },
+ "TableResponse": {
+ "description": "The response for a single table.",
+ "type": "object",
+ "properties": {
+ "odata.metadata": {
+ "description": "The metadata response of the table.",
+ "type": "string"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/TableResponseProperties"
+ }
+ ]
+ },
+ "TableQueryResponse": {
+ "description": "The properties for the table query response.",
+ "type": "object",
+ "properties": {
+ "odata.metadata": {
+ "description": "The metadata response of the table.",
+ "type": "string"
+ },
+ "value": {
+ "description": "List of tables.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TableResponseProperties"
+ }
+ }
+ }
+ },
+ "TableResponseProperties": {
+ "description": "The properties for the table response.",
+ "type": "object",
+ "properties": {
+ "TableName": {
+ "description": "The name of the table.",
+ "type": "string"
+ },
+ "odata.type": {
+ "description": "The odata type of the table.",
+ "type": "string"
+ },
+ "odata.id": {
+ "description": "The id of the table.",
+ "type": "string"
+ },
+ "odata.editLink": {
+ "description": "The edit link of the table.",
+ "type": "string"
+ }
+ }
+ },
+ "SignedIdentifier": {
+ "xml": {
+ "name": "SignedIdentifier"
+ },
+ "description": "A signed identifier.",
+ "type": "object",
+ "required": [
+ "Id",
+ "AccessPolicy"
+ ],
+ "properties": {
+ "Id": {
+ "type": "string",
+ "description": "A unique id.",
+ "xml": {
+ "name": "Id"
+ }
+ },
+ "AccessPolicy": {
+ "description": "The access policy.",
+ "$ref": "#/definitions/AccessPolicy"
+ }
+ }
+ },
+ "SignedIdentifiers": {
+ "description": "A collection of signed identifiers.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SignedIdentifier",
+ "xml": {
+ "name": "SignedIdentifier"
+ }
+ },
+ "xml": {
+ "wrapped": true,
+ "name": "SignedIdentifiers"
+ }
+ },
+ "AccessPolicy": {
+ "xml": {
+ "name": "AccessPolicy"
+ },
+ "type": "object",
+ "required": [
+ "Start",
+ "Expiry",
+ "Permission"
+ ],
+ "description": "An Access policy.",
+ "properties": {
+ "Start": {
+ "description": "The start datetime from which the policy is active.",
+ "type": "string",
+ "format": "date-time",
+ "xml": {
+ "name": "Start"
+ }
+ },
+ "Expiry": {
+ "description": "The datetime that the policy expires.",
+ "type": "string",
+ "format": "date-time",
+ "xml": {
+ "name": "Expiry"
+ }
+ },
+ "Permission": {
+ "description": "The permissions for the acl policy.",
+ "type": "string",
+ "xml": {
+ "name": "Permission"
+ }
+ }
+ }
+ },
+ "TableEntityQueryResponse": {
+ "description": "The properties for the table entity query response.",
+ "type": "object",
+ "properties": {
+ "odata.metadata": {
+ "description": "The metadata response of the table.",
+ "type": "string"
+ },
+ "value": {
+ "description": "List of table entities.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TableEntityProperties"
+ }
+ }
+ }
+ },
+ "TableEntityProperties": {
+ "description": "The other properties of the table entity.",
+ "type": "object",
+ "additionalProperties": true
+ }
+ },
+ "parameters": {
+ "Url": {
+ "name": "url",
+ "x-ms-parameter-location": "client",
+ "description": "The URL of the service account or table that is the targe of the desired operation.",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ },
+ "TableServiceProperties": {
+ "name": "tableServiceProperties",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TableServiceProperties"
+ },
+ "x-ms-parameter-location": "method",
+ "description": "The Table Service properties."
+ },
+ "Timeout": {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 0,
+ "x-ms-parameter-location": "method",
+ "description": "The timeout parameter is expressed in seconds."
+ },
+ "ApiVersionParameter": {
+ "name": "x-ms-version",
+ "x-ms-parameter-location": "client",
+ "x-ms-client-name": "version",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "Specifies the version of the operation to use for this request.",
+ "enum": [
+ "2019-02-02"
+ ]
+ },
+ "ClientRequestId": {
+ "name": "x-ms-client-request-id",
+ "x-ms-client-name": "requestId",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when analytics logging is enabled."
+ },
+ "DataServiceVersionParameter": {
+ "name": "DataServiceVersion",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "Specifies the data service version.",
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "3.0"
+ ]
+ },
+ "TableProperties": {
+ "name": "tableProperties",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TableProperties"
+ },
+ "x-ms-parameter-location": "method",
+ "description": "The Table properties."
+ },
+ "formatParameter": {
+ "name": "$format",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Specifies the media type for the response.",
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "QueryOptions"
+ },
+ "x-ms-client-name": "Format",
+ "enum": [
+ "application/json;odata=nometadata",
+ "application/json;odata=minimalmetadata",
+ "application/json;odata=fullmetadata"
+ ],
+ "x-ms-enum": {
+ "name": "OdataMetadataFormat",
+ "modelAsString": true
+ }
+ },
+ "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"
+ },
+ "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"
+ },
+ "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"
+ },
+ "PreferParameter": {
+ "name": "Prefer",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "Specifies whether the response should include the inserted entity in the payload. Possible values are return-no-content and return-content.",
+ "x-ms-parameter-location": "method",
+ "x-ms-client-name": "ResponsePreference",
+ "enum": [
+ "return-no-content",
+ "return-content"
+ ],
+ "x-ms-enum": {
+ "name": "ResponseFormat",
+ "modelAsString": true
+ }
+ },
+ "compAclParameter": {
+ "name": "comp",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "acl"
+ ],
+ "x-ms-parameter-location": "method",
+ "description": "Required query string to handle stored access policies for the table that may be used with Shared Access Signatures."
+ },
+ "TableAcl": {
+ "name": "tableAcl",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/SignedIdentifiers"
+ },
+ "x-ms-parameter-location": "method",
+ "description": "The acls for the table."
+ },
+ "TableEntityProperties": {
+ "name": "tableEntityProperties",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/TableEntityProperties"
+ },
+ "x-ms-parameter-location": "method",
+ "description": "The properties for the table entity."
+ },
+ "tableNameParameter": {
+ "name": "table",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The name of the table."
+ },
+ "partitionKeyParameter": {
+ "name": "partitionKey",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The partition key of the entity."
+ },
+ "rowKeyParameter": {
+ "name": "rowKey",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The row key of the entity."
+ }
+ }
+}
diff --git a/specification/cosmos-db/data-plane/readme.go.md b/specification/cosmos-db/data-plane/readme.go.md
new file mode 100644
index 000000000000..e8b63caff258
--- /dev/null
+++ b/specification/cosmos-db/data-plane/readme.go.md
@@ -0,0 +1,26 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ namespace: storagetables
+ clear-output-folder: true
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2019-02
+```
+
+### Tag: package-2019-02 and go
+
+These settings apply only when `--tag=package-2019-02 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-02' && $(go)
+output-folder: $(go-sdk-folder)/services/storage/tables/2019-02-02/$(namespace)
+```
\ No newline at end of file
diff --git a/specification/cosmos-db/data-plane/readme.md b/specification/cosmos-db/data-plane/readme.md
new file mode 100644
index 000000000000..ba1ff2a95e5f
--- /dev/null
+++ b/specification/cosmos-db/data-plane/readme.md
@@ -0,0 +1,248 @@
+# Table Dataplane
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Tables.
+
+
+
+---
+## Getting Started
+To build the SDK for Tables, 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 Tables API.
+
+``` yaml
+azure-validator: true
+openapi-type: data-plane
+tag: package-2019-02
+```
+
+### Tag: package-2019-02
+
+These settings apply only when `--tag=package-2019-02` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-02'
+input-file:
+- Microsoft.Tables/preview/2019-02-02/table.json
+```
+
+---
+# Suppressions
+
+``` yaml
+directive:
+ - suppress: D5001
+ where: $["x-ms-paths"]["/?ServiceProperties"].put
+ reason: The path only supports XML input/outputm which is not supported
+ - suppress: D5001
+ where: $["x-ms-paths"]["/?ServiceProperties"].get
+ reason: The path only supports XML input/outputm which is not supported
+ - suppress: D5001
+ where: $["x-ms-paths"]["/?ServiceStats"].get
+ reason: The path only supports XML input/outputm which is not supported
+ - suppress: D5001
+ where: $.paths["/{table}"].get
+ reason: The path only supports XML input/outputm which is not supported
+ - suppress: D5001
+ where: $.paths["/{table}"].put
+ reason: The path only supports XML input/outputm which is not supported
+ - suppress: R3016
+ where: $.definitions.TableServiceError.properties.Message
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.TableServiceProperties.properties.Logging
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.TableServiceProperties.properties.HourMetrics
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.TableServiceProperties.properties.MinuteMetrics
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.TableServiceProperties.properties.Cors
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.Logging.properties.Version
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.Logging.properties.Delete
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.Logging.properties.Read
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.Logging.properties.Write
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.Logging.properties.RetentionPolicy
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.Metrics.properties.Version
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.Metrics.properties.Enabled
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.Metrics.properties.IncludeAPIs
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.Metrics.properties.RetentionPolicy
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.CorsRule.properties.AllowedOrigins
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.CorsRule.properties.AllowedMethods
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.CorsRule.properties.AllowedHeaders
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.CorsRule.properties.ExposedHeaders
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.CorsRule.properties.MaxAgeInSeconds
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.RetentionPolicy.properties.Enabled
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.RetentionPolicy.properties.Days
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.TableServiceStats.properties.GeoReplication
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.GeoReplication.properties.Status
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.GeoReplication.properties.LastSyncTime
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.TableProperties.properties.TableName
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.TableResponse.properties["odata.metadata"]
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.TableQueryResponse.properties["odata.metadata"]
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.TableResponseProperties.properties.TableName
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.TableResponseProperties.properties["odata.type"]
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.TableResponseProperties.properties["odata.id"]
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.TableResponseProperties.properties["odata.editLink"]
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.SignedIdentifier.properties.Id
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.SignedIdentifier.properties.AccessPolicy
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.AccessPolicy.properties.Start
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.AccessPolicy.properties.Expiry
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.AccessPolicy.properties.Permission
+ reason: Response from service is not camel case
+ - suppress: R3016
+ where: $.definitions.TableEntityQueryResponse.properties["odata.metadata"]
+ reason: Response from service is not camel case
+ - suppress: R2058
+ where: $["x-ms-paths"]["/?ServiceStats"]
+ reason: Cannot provide operation in "paths"
+ - suppress: R2058
+ where: $["x-ms-paths"]["/?ServiceProperties"]
+ reason: Cannot provide operation in "paths"
+```
+
+---
+# Code Generation
+
+
+## Swagger to SDK
+
+Swagger to SDK has been intentionally disabled for this spec.
+
+## 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.Storage.Tables
+ output-folder: $(csharp-sdks-folder)/Storage/Tables/Generated
+ clear-output-folder: true
+```
+
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Java
+
+These settings apply only when `--java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ namespace: com.microsoft.azure.storage.tables
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ output-folder: $(azure-libraries-for-java-folder)/azure-storage-tables
+```
+
+## Multi-API/Profile support for AutoRest v3 generators
+
+AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
+
+This block is updated by an automatic script. Edits may be lost!
+
+``` yaml $(tag) == 'all-api-versions' /* autogenerated */
+# include the azure profile definitions from the standard location
+require: $(this-folder)/../../../profiles/readme.md
+
+# all the input files across all versions
+input-file:
+ - $(this-folder)/Microsoft.Tables/preview/2019-02-02/table.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/cosmos-db/data-plane/readme.nodejs.md b/specification/cosmos-db/data-plane/readme.nodejs.md
new file mode 100644
index 000000000000..2e137439952a
--- /dev/null
+++ b/specification/cosmos-db/data-plane/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:
+ azure-arm: true
+ package-name: azure-storage-tables
+ output-folder: $(node-sdks-folder)/lib/services/storageTables
+ generate-license-txt: false
+ generate-package-json: false
+ generate-readme-md: false
+```
\ No newline at end of file
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/data-plane/readme.typescript.md b/specification/cosmos-db/data-plane/readme.typescript.md
new file mode 100644
index 000000000000..29266ce43bf5
--- /dev/null
+++ b/specification/cosmos-db/data-plane/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:
+ azure-arm: true
+ package-name: "@azure/storage-tables"
+ output-folder: "$(typescript-sdks-folder)/sdk/storage/storage-tables"
+ generate-metadata: true
+```
\ No newline at end of file
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/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..fac9062ba082
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/cosmos-db.json
@@ -0,0 +1,7519 @@
+{
+ "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"
+ }
+ },
+ "404": {
+ "description": "Not Found. The account name is available and valid."
+ }
+ }
+ },
+ "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..5acc11878245
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountGet.json
@@ -0,0 +1,86 @@
+{
+ "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
+ }
+ }
+ },
+ "404": {}
+ }
+}
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.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 25e66dc47ec2..2ed7b3ecb5a4 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
@@ -33,140 +33,31 @@
}
},
"paths": {
- "/{scope}/providers/Microsoft.CostManagement/dimensions": {
+ "/providers/Microsoft.CostManagement/views": {
"get": {
"tags": [
- "Dimensions"
+ "Views"
],
- "x-ms-odata": "#/definitions/Dimension",
- "operationId": "Dimensions_List",
- "description": "Lists the dimensions by the defined scope.",
+ "operationId": "Views_List",
+ "description": "Lists all views by tenant and object.",
"externalDocs": {
"url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
},
"x-ms-examples": {
- "SubscriptionDimensionsList-Legacy": {
- "$ref": "./examples/SubscriptionDimensionsList.json"
- },
- "ResourceGroupDimensionsList-Legacy": {
- "$ref": "./examples/ResourceGroupDimensionsList.json"
- },
- "ManagementGroupDimensionsList-Legacy": {
- "$ref": "./examples/ManagementGroupDimensionsList.json"
- },
- "ManagementGroupDimensionsListExpandAndTop-Legacy": {
- "$ref": "./examples/ManagementGroupDimensionsListExpandAndTop.json"
- },
- "ManagementGroupDimensionsListWithFilter-Legacy": {
- "$ref": "./examples/ManagementGroupDimensionsListWithFilter.json"
- },
- "DepartmentDimensionsList-Legacy": {
- "$ref": "./examples/DepartmentDimensionsList.json"
- },
- "DepartmentDimensionsListExpandAndTop-Legacy": {
- "$ref": "./examples/DepartmentDimensionsListExpandAndTop.json"
- },
- "DepartmentDimensionsListWithFilter-Legacy": {
- "$ref": "./examples/DepartmentDimensionsListWithFilter.json"
- },
- "EnrollmentAccountDimensionsList-Legacy": {
- "$ref": "./examples/EnrollmentAccountDimensionsList.json"
- },
- "EnrollmentAccountDimensionsListExpandAndTop-Legacy": {
- "$ref": "./examples/EnrollmentAccountDimensionsListExpandAndTop.json"
- },
- "EnrollmentAccountDimensionsListWithFilter-Legacy": {
- "$ref": "./examples/EnrollmentAccountDimensionsListWithFilter.json"
- },
- "BillingAccountDimensionsList-Legacy": {
- "$ref": "./examples/BillingAccountDimensionsList.json"
- },
- "BillingAccountDimensionsListExpandAndTop-Legacy": {
- "$ref": "./examples/BillingAccountDimensionsListExpandAndTop.json"
- },
- "BillingAccountDimensionsListWithFilter-Legacy": {
- "$ref": "./examples/BillingAccountDimensionsListWithFilter.json"
- },
- "BillingAccountDimensionsList-Modern": {
- "$ref": "./examples/MCABillingAccountDimensionsList.json"
- },
- "BillingAccountDimensionsListExpandAndTop-Modern": {
- "$ref": "./examples/MCABillingAccountDimensionsListExpandAndTop.json"
- },
- "BillingAccountDimensionsListWithFilter-Modern": {
- "$ref": "./examples/MCABillingAccountDimensionsListWithFilter.json"
- },
- "BillingProfileDimensionsList-Modern": {
- "$ref": "./examples/MCABillingProfileDimensionsList.json"
- },
- "BillingProfileDimensionsListExpandAndTop-Modern": {
- "$ref": "./examples/MCABillingProfileDimensionsListExpandAndTop.json"
- },
- "BillingProfileDimensionsListWithFilter-Modern": {
- "$ref": "./examples/MCABillingProfileDimensionsListWithFilter.json"
- },
- "InvoiceSectionDimensionsList-Modern": {
- "$ref": "./examples/MCAInvoiceSectionDimensionsList.json"
- },
- "InvoiceSectionDimensionsListExpandAndTop-Modern": {
- "$ref": "./examples/MCAInvoiceSectionDimensionsListExpandAndTop.json"
- },
- "InvoiceSectionDimensionsListWithFilter-Modern": {
- "$ref": "./examples/MCAInvoiceSectionDimensionsListWithFilter.json"
- },
- "CustomerDimensionsList-Modern": {
- "$ref": "./examples/MCACustomerDimensionsList.json"
- },
- "CustomerDimensionsListExpandAndTop-Modern": {
- "$ref": "./examples/MCACustomerDimensionsListExpandAndTop.json"
- },
- "CustomerDimensionsListWithFilter-Modern": {
- "$ref": "./examples/MCACustomerDimensionsListWithFilter.json"
+ "PrivateViewList": {
+ "$ref": "./examples/PrivateViewList.json"
}
},
"parameters": [
- {
- "$ref": "#/parameters/scopeDimensionParameter"
- },
{
"$ref": "#/parameters/apiVersionParameter"
- },
- {
- "name": "$filter",
- "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.",
- "in": "query",
- "required": false,
- "type": "string"
- },
- {
- "name": "$expand",
- "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.",
- "in": "query",
- "required": false,
- "type": "string"
- },
- {
- "name": "$skiptoken",
- "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.",
- "in": "query",
- "required": false,
- "type": "string"
- },
- {
- "name": "$top",
- "description": "May be used to limit the number of results to the most recent N dimension data.",
- "in": "query",
- "required": false,
- "type": "integer",
- "minimum": 1,
- "maximum": 1000
}
],
"responses": {
"200": {
"description": "OK. The request has succeeded.",
"schema": {
- "$ref": "#/definitions/DimensionsListResult"
+ "$ref": "#/definitions/ViewListResult"
}
},
"default": {
@@ -177,75 +68,38 @@
}
},
"x-ms-pageable": {
- "nextLinkName": null
+ "nextLinkName": "nextLink"
}
}
},
- "/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/dimensions": {
+ "/{scope}/providers/Microsoft.CostManagement/views": {
"get": {
"tags": [
- "Dimensions"
+ "Views"
],
- "x-ms-odata": "#/definitions/Dimension",
- "operationId": "Dimensions_ByExternalCloudProviderType",
- "description": "Lists the dimensions by the external cloud provider type.",
+ "operationId": "Views_ListByScope",
+ "description": "Lists all views at the given scope.",
"externalDocs": {
"url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
},
"x-ms-examples": {
- "ExternalBillingAccountDimensionList": {
- "$ref": "./examples/ExternalBillingAccountsDimensions.json"
- },
- "ExternalSubscriptionDimensionList": {
- "$ref": "./examples/ExternalSubscriptionsDimensions.json"
+ "ResourceGroupViewList": {
+ "$ref": "./examples/ViewListByResourceGroup.json"
}
},
"parameters": [
{
- "$ref": "#/parameters/externalCloudProviderTypeParameter"
- },
- {
- "$ref": "#/parameters/externalCloudProviderIdParameter"
+ "$ref": "#/parameters/scopeViewParameter"
},
{
"$ref": "#/parameters/apiVersionParameter"
- },
- {
- "name": "$filter",
- "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.",
- "in": "query",
- "required": false,
- "type": "string"
- },
- {
- "name": "$expand",
- "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.",
- "in": "query",
- "required": false,
- "type": "string"
- },
- {
- "name": "$skiptoken",
- "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.",
- "in": "query",
- "required": false,
- "type": "string"
- },
- {
- "name": "$top",
- "description": "May be used to limit the number of results to the most recent N dimension data.",
- "in": "query",
- "required": false,
- "type": "integer",
- "minimum": 1,
- "maximum": 1000
}
],
"responses": {
"200": {
"description": "OK. The request has succeeded.",
"schema": {
- "$ref": "#/definitions/DimensionsListResult"
+ "$ref": "#/definitions/ViewListResult"
}
},
"default": {
@@ -256,41 +110,23 @@
}
},
"x-ms-pageable": {
- "nextLinkName": null
+ "nextLinkName": "nextLink"
}
}
},
- "/{scope}/providers/Microsoft.CostManagement/alerts": {
+ "/providers/Microsoft.CostManagement/views/{viewName}": {
"get": {
"tags": [
- "Alerts"
+ "Views"
],
- "operationId": "Alerts_List",
- "description": "Lists the alerts for scope defined.",
+ "operationId": "Views_Get",
+ "description": "Gets the view by view name.",
"externalDocs": {
"url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
},
"x-ms-examples": {
- "BillingAccountAlerts": {
- "$ref": "./examples/BillingAccountAlerts.json"
- },
- "BillingProfileAlerts": {
- "$ref": "./examples/BillingProfileAlerts.json"
- },
- "InvoiceSectionAlerts": {
- "$ref": "./examples/InvoiceSectionAlerts.json"
- },
- "EnrollmentAccountAlerts": {
- "$ref": "./examples/EnrollmentAccountAlerts.json"
- },
- "DepartmentAlerts": {
- "$ref": "./examples/DepartmentAlerts.json"
- },
- "SubscriptionAlerts": {
- "$ref": "./examples/SubscriptionAlerts.json"
- },
- "ResourceGroupAlerts": {
- "$ref": "./examples/ResourceGroupAlerts.json"
+ "PrivateView": {
+ "$ref": "./examples/PrivateView.json"
}
},
"parameters": [
@@ -298,14 +134,14 @@
"$ref": "#/parameters/apiVersionParameter"
},
{
- "$ref": "#/parameters/scopeAlertParameter"
+ "$ref": "#/parameters/viewNameParameter"
}
],
"responses": {
"200": {
"description": "OK. The request has succeeded.",
"schema": {
- "$ref": "#/definitions/AlertsResult"
+ "$ref": "#/definitions/View"
}
},
"default": {
@@ -315,24 +151,19 @@
}
}
}
- }
- },
- "/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/alerts": {
- "get": {
+ },
+ "put": {
"tags": [
- "Alerts"
+ "Views"
],
- "operationId": "Alerts_ListExternal",
- "description": "Lists the Alerts for external cloud provider type defined.",
+ "operationId": "Views_CreateOrUpdate",
+ "description": "The operation to create or update a view. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.",
"externalDocs": {
"url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
},
"x-ms-examples": {
- "ExternalBillingAccountAlerts": {
- "$ref": "./examples/ExternalBillingAccountAlerts.json"
- },
- "ExternalSubscriptionAlerts": {
- "$ref": "./examples/ExternalSubscriptionAlerts.json"
+ "CreateOrUpdatePrivateView": {
+ "$ref": "./examples/PrivateViewCreateOrUpdate.json"
}
},
"parameters": [
@@ -340,17 +171,29 @@
"$ref": "#/parameters/apiVersionParameter"
},
{
- "$ref": "#/parameters/externalCloudProviderTypeParameter"
+ "$ref": "#/parameters/viewNameParameter"
},
{
- "$ref": "#/parameters/externalCloudProviderIdParameter"
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/View"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate View operation."
}
],
"responses": {
"200": {
"description": "OK. The request has succeeded.",
"schema": {
- "$ref": "#/definitions/AlertsResult"
+ "$ref": "#/definitions/View"
+ }
+ },
+ "201": {
+ "description": "Created.",
+ "schema": {
+ "$ref": "#/definitions/View"
}
},
"default": {
@@ -360,71 +203,35 @@
}
}
}
- }
- },
- "/{scope}/providers/Microsoft.CostManagement/forecast": {
- "post": {
+ },
+ "delete": {
"tags": [
- "Forecast"
+ "Views"
],
- "operationId": "Forecast_Usage",
- "description": "Lists the forecast charges for scope defined.",
+ "operationId": "Views_Delete",
+ "description": "The operation to delete a view.",
"externalDocs": {
"url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
},
"x-ms-examples": {
- "BillingAccountForecast": {
- "$ref": "./examples/BillingAccountForecast.json"
- },
- "BillingProfileForecast": {
- "$ref": "./examples/BillingProfileForecast.json"
- },
- "InvoiceSectionForecast": {
- "$ref": "./examples/InvoiceSectionForecast.json"
- },
- "EnrollmentAccountForecast": {
- "$ref": "./examples/EnrollmentAccountForecast.json"
- },
- "DepartmentForecast": {
- "$ref": "./examples/DepartmentForecast.json"
- },
- "SubscriptionForecast": {
- "$ref": "./examples/SubscriptionForecast.json"
- },
- "ResourceGroupForecast": {
- "$ref": "./examples/ResourceGroupForecast.json"
+ "DeletePrivateView": {
+ "$ref": "./examples/PrivateViewDelete.json"
}
},
"parameters": [
- {
- "name": "$filter",
- "description": "May be used to filter forecasts by properties/usageDate (Utc time), properties/chargeType or properties/grain. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.",
- "in": "query",
- "required": false,
- "type": "string"
- },
{
"$ref": "#/parameters/apiVersionParameter"
},
{
- "$ref": "#/parameters/scopeForecastParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ForecastDefinition"
- },
- "description": "Parameters supplied to the CreateOrUpdate Forecast Config operation."
+ "$ref": "#/parameters/viewNameParameter"
}
],
"responses": {
"200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/QueryResult"
- }
+ "description": "OK. The request has succeeded."
+ },
+ "204": {
+ "description": "NoContent. Resource is not available."
},
"default": {
"description": "Error response describing why the operation failed.",
@@ -435,56 +242,37 @@
}
}
},
- "/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/forecast": {
- "post": {
+ "/{scope}/providers/Microsoft.CostManagement/views/{viewName}": {
+ "get": {
"tags": [
- "Forecast"
+ "Views"
],
- "operationId": "Forecast_ExternalCloudProviderUsage",
- "description": "Lists the forecast charges for external cloud provider type defined.",
+ "operationId": "Views_GetByScope",
+ "description": "Gets the view for the defined scope by view name.",
"externalDocs": {
"url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
},
"x-ms-examples": {
- "ExternalBillingAccountForecast": {
- "$ref": "./examples/ExternalBillingAccountForecast.json"
- },
- "ExternalSubscriptionForecast": {
- "$ref": "./examples/ExternalSubscriptionForecast.json"
+ "ResourceGroupView": {
+ "$ref": "./examples/ViewByResourceGroup.json"
}
},
"parameters": [
{
- "name": "$filter",
- "description": "May be used to filter forecasts by properties/usageDate (Utc time), properties/chargeType or properties/grain. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.",
- "in": "query",
- "required": false,
- "type": "string"
+ "$ref": "#/parameters/scopeViewParameter"
},
{
"$ref": "#/parameters/apiVersionParameter"
},
{
- "$ref": "#/parameters/externalCloudProviderTypeParameter"
- },
- {
- "$ref": "#/parameters/externalCloudProviderIdParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ForecastDefinition"
- },
- "description": "Parameters supplied to the CreateOrUpdate Forecast Config operation."
+ "$ref": "#/parameters/viewNameParameter"
}
],
"responses": {
"200": {
"description": "OK. The request has succeeded.",
"schema": {
- "$ref": "#/definitions/QueryResult"
+ "$ref": "#/definitions/View"
}
},
"default": {
@@ -494,102 +282,52 @@
}
}
}
- }
- },
- "/{scope}/providers/Microsoft.CostManagement/query": {
- "post": {
+ },
+ "put": {
"tags": [
- "Query"
+ "Views"
],
- "operationId": "Query_Usage",
- "description": "Query the usage data for scope defined.",
+ "operationId": "Views_CreateOrUpdateByScope",
+ "description": "The operation to create or update a view. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.",
"externalDocs": {
"url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
},
"x-ms-examples": {
- "SubscriptionQuery-Legacy": {
- "$ref": "./examples/SubscriptionQuery.json"
- },
- "SubscriptionQueryGrouping-Legacy": {
- "$ref": "./examples/SubscriptionQueryGrouping.json"
- },
- "ResourceGroupQuery-Legacy": {
- "$ref": "./examples/ResourceGroupQuery.json"
- },
- "ResourceGroupQueryGrouping-Legacy": {
- "$ref": "./examples/ResourceGroupQueryGrouping.json"
- },
- "BillingAccountQuery-Legacy": {
- "$ref": "./examples/BillingAccountQuery.json"
- },
- "BillingAccountQueryGrouping-Legacy": {
- "$ref": "./examples/BillingAccountQueryGrouping.json"
- },
- "EnrollmentAccountQuery-Legacy": {
- "$ref": "./examples/EnrollmentAccountQuery.json"
- },
- "EnrollmentAccountQueryGrouping-Legacy": {
- "$ref": "./examples/EnrollmentAccountQueryGrouping.json"
- },
- "DepartmentQuery-Legacy": {
- "$ref": "./examples/DepartmentQuery.json"
- },
- "DepartmentQueryGrouping-Legacy": {
- "$ref": "./examples/DepartmentQueryGrouping.json"
- },
- "ManagementGroupQuery-Legacy": {
- "$ref": "./examples/ManagementGroupQuery.json"
- },
- "ManagementGroupQueryGrouping-Legacy": {
- "$ref": "./examples/ManagementGroupQueryGrouping.json"
- },
- "BillingAccountQuery-Modern": {
- "$ref": "./examples/MCABillingAccountQuery.json"
- },
- "BillingAccountQueryGrouping-Modern": {
- "$ref": "./examples/MCABillingAccountQueryGrouping.json"
- },
- "BillingProfileQuery-Modern": {
- "$ref": "./examples/MCABillingProfileQuery.json"
- },
- "BillingProfileQueryGrouping-Modern": {
- "$ref": "./examples/MCABillingProfileQueryGrouping.json"
- },
- "InvoiceSectionQuery-Modern": {
- "$ref": "./examples/MCAInvoiceSectionQuery.json"
- },
- "InvoiceSectionQueryGrouping-Modern": {
- "$ref": "./examples/MCAInvoiceSectionQueryGrouping.json"
- },
- "CustomerQuery-Modern": {
- "$ref": "./examples/MCACustomerQuery.json"
- },
- "CustomerQueryGrouping-Modern": {
- "$ref": "./examples/MCACustomerQueryGrouping.json"
+ "ResourceGroupCreateOrUpdateView": {
+ "$ref": "./examples/ViewCreateOrUpdateByResourceGroup.json"
}
},
"parameters": [
{
- "$ref": "#/parameters/scopeQueryParameter"
+ "$ref": "#/parameters/scopeViewParameter"
},
{
"$ref": "#/parameters/apiVersionParameter"
},
+ {
+ "$ref": "#/parameters/viewNameParameter"
+ },
{
"name": "parameters",
"in": "body",
"required": true,
"schema": {
- "$ref": "#/definitions/QueryDefinition"
+ "$ref": "#/definitions/View"
},
- "description": "Parameters supplied to the CreateOrUpdate Query Config operation."
+ "description": "Parameters supplied to the CreateOrUpdate View operation."
}
],
"responses": {
"200": {
"description": "OK. The request has succeeded.",
"schema": {
- "$ref": "#/definitions/QueryResult"
+ "$ref": "#/definitions/View"
+ }
+ },
+ "201": {
+ "description": "Created.",
+ "schema": {
+ "$ref": "#/definitions/View"
}
},
"default": {
@@ -599,52 +337,38 @@
}
}
}
- }
- },
- "/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/query": {
- "post": {
+ },
+ "delete": {
"tags": [
- "Query"
+ "Views"
],
- "operationId": "Query_UsageByExternalCloudProviderType",
- "description": "Query the usage data for external cloud provider type defined.",
+ "operationId": "Views_DeleteByScope",
+ "description": "The operation to delete a view.",
"externalDocs": {
"url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
},
"x-ms-examples": {
- "ExternalBillingAccountQueryList": {
- "$ref": "./examples/ExternalBillingAccountsQuery.json"
- },
- "ExternalSubscriptionsQuery": {
- "$ref": "./examples/ExternalSubscriptionsQuery.json"
+ "ResourceGroupDeleteView": {
+ "$ref": "./examples/ViewDeleteByResourceGroup.json"
}
},
"parameters": [
{
- "$ref": "#/parameters/externalCloudProviderTypeParameter"
- },
- {
- "$ref": "#/parameters/externalCloudProviderIdParameter"
+ "$ref": "#/parameters/scopeViewParameter"
},
{
"$ref": "#/parameters/apiVersionParameter"
},
{
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/QueryDefinition"
- },
- "description": "Parameters supplied to the CreateOrUpdate Query Config operation."
+ "$ref": "#/parameters/viewNameParameter"
}
],
"responses": {
"200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/QueryResult"
- }
+ "description": "OK. The request has succeeded."
+ },
+ "204": {
+ "description": "NoContent. Resource is not available."
},
"default": {
"description": "Error response describing why the operation failed.",
@@ -655,49 +379,52 @@
}
}
},
- "/{scope}/providers/Microsoft.CostManagement/exports": {
+ "/{scope}/providers/Microsoft.CostManagement/alerts": {
"get": {
"tags": [
- "Exports"
+ "Alerts"
],
- "operationId": "Exports_List",
- "description": "The operation to list all exports at the given scope.",
+ "operationId": "Alerts_List",
+ "description": "Lists the alerts for scope defined.",
"externalDocs": {
"url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
},
"x-ms-examples": {
- "SubscriptionExportList": {
- "$ref": "./examples/ExportListBySubscription.json"
+ "BillingAccountAlerts": {
+ "$ref": "./examples/BillingAccountAlerts.json"
},
- "ResourceGroupExportList": {
- "$ref": "./examples/ExportListByResourceGroup.json"
+ "BillingProfileAlerts": {
+ "$ref": "./examples/BillingProfileAlerts.json"
},
- "BillingAccountExportList": {
- "$ref": "./examples/ExportListByBillingAccount.json"
+ "InvoiceSectionAlerts": {
+ "$ref": "./examples/InvoiceSectionAlerts.json"
},
- "DepartmentExportList": {
- "$ref": "./examples/ExportListByDepartment.json"
+ "EnrollmentAccountAlerts": {
+ "$ref": "./examples/EnrollmentAccountAlerts.json"
},
- "EnrollmentAccountExportList": {
- "$ref": "./examples/ExportListByEnrollmentAccount.json"
+ "DepartmentAlerts": {
+ "$ref": "./examples/DepartmentAlerts.json"
},
- "ManagementGroupExportList": {
- "$ref": "./examples/ExportListByManagementGroup.json"
+ "SubscriptionAlerts": {
+ "$ref": "./examples/SubscriptionAlerts.json"
+ },
+ "ResourceGroupAlerts": {
+ "$ref": "./examples/ResourceGroupAlerts.json"
}
},
"parameters": [
{
- "$ref": "#/parameters/scopeQueryParameter"
+ "$ref": "#/parameters/apiVersionParameter"
},
{
- "$ref": "#/parameters/apiVersionParameter"
+ "$ref": "#/parameters/scopeAlertParameter"
}
],
"responses": {
"200": {
"description": "OK. The request has succeeded.",
"schema": {
- "$ref": "#/definitions/ExportListResult"
+ "$ref": "#/definitions/AlertsResult"
}
},
"default": {
@@ -709,52 +436,40 @@
}
}
},
- "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}": {
+ "/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/alerts": {
"get": {
"tags": [
- "Exports"
+ "Alerts"
],
- "operationId": "Exports_Get",
- "description": "The operation to get the export for the defined scope by export name.",
+ "operationId": "Alerts_ListExternal",
+ "description": "Lists the Alerts for external cloud provider type defined.",
"externalDocs": {
"url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
},
"x-ms-examples": {
- "SubscriptionExport": {
- "$ref": "./examples/ExportBySubscription.json"
- },
- "ResourceGroupExport": {
- "$ref": "./examples/ExportByResourceGroup.json"
- },
- "BillingAccountExport": {
- "$ref": "./examples/ExportByBillingAccount.json"
- },
- "DepartmentExport": {
- "$ref": "./examples/ExportByDepartment.json"
- },
- "EnrollmentAccountExport": {
- "$ref": "./examples/ExportByEnrollmentAccount.json"
+ "ExternalBillingAccountAlerts": {
+ "$ref": "./examples/ExternalBillingAccountAlerts.json"
},
- "ManagementGroupExport": {
- "$ref": "./examples/ExportByManagementGroup.json"
+ "ExternalSubscriptionAlerts": {
+ "$ref": "./examples/ExternalSubscriptionAlerts.json"
}
},
"parameters": [
{
- "$ref": "#/parameters/scopeQueryParameter"
+ "$ref": "#/parameters/apiVersionParameter"
},
{
- "$ref": "#/parameters/apiVersionParameter"
+ "$ref": "#/parameters/externalCloudProviderTypeParameter"
},
{
- "$ref": "#/parameters/exportNameParameter"
+ "$ref": "#/parameters/externalCloudProviderIdParameter"
}
],
"responses": {
"200": {
"description": "OK. The request has succeeded.",
"schema": {
- "$ref": "#/definitions/Export"
+ "$ref": "#/definitions/AlertsResult"
}
},
"default": {
@@ -764,67 +479,131 @@
}
}
}
- },
- "put": {
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/forecast": {
+ "post": {
"tags": [
- "Exports"
+ "Forecast"
],
- "operationId": "Exports_CreateOrUpdate",
- "description": "The operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.",
+ "operationId": "Forecast_Usage",
+ "description": "Lists the forecast charges for scope defined.",
"externalDocs": {
"url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
},
"x-ms-examples": {
- "SubscriptionCreateOrUpdateExport": {
- "$ref": "./examples/ExportCreateOrUpdateBySubscription.json"
+ "BillingAccountForecast": {
+ "$ref": "./examples/BillingAccountForecast.json"
},
- "ResourceGroupCreateOrUpdateExport": {
- "$ref": "./examples/ExportCreateOrUpdateByResourceGroup.json"
+ "BillingProfileForecast": {
+ "$ref": "./examples/BillingProfileForecast.json"
},
- "BillingAccountCreateOrUpdateExport": {
- "$ref": "./examples/ExportCreateOrUpdateByBillingAccount.json"
+ "InvoiceSectionForecast": {
+ "$ref": "./examples/InvoiceSectionForecast.json"
},
- "DepartmentCreateOrUpdateExport": {
- "$ref": "./examples/ExportCreateOrUpdateByDepartment.json"
+ "EnrollmentAccountForecast": {
+ "$ref": "./examples/EnrollmentAccountForecast.json"
},
- "EnrollmentAccountCreateOrUpdateExport": {
- "$ref": "./examples/ExportCreateOrUpdateByEnrollmentAccount.json"
+ "DepartmentForecast": {
+ "$ref": "./examples/DepartmentForecast.json"
},
- "ManagementGroupCreateOrUpdateExport": {
- "$ref": "./examples/ExportCreateOrUpdateByManagementGroup.json"
+ "SubscriptionForecast": {
+ "$ref": "./examples/SubscriptionForecast.json"
+ },
+ "ResourceGroupForecast": {
+ "$ref": "./examples/ResourceGroupForecast.json"
}
},
"parameters": [
{
- "$ref": "#/parameters/scopeQueryParameter"
+ "name": "$filter",
+ "description": "May be used to filter forecasts by properties/usageDate (Utc time), properties/chargeType or properties/grain. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.",
+ "in": "query",
+ "required": false,
+ "type": "string"
},
{
"$ref": "#/parameters/apiVersionParameter"
},
{
- "$ref": "#/parameters/exportNameParameter"
+ "$ref": "#/parameters/scopeForecastParameter"
},
{
"name": "parameters",
"in": "body",
"required": true,
"schema": {
- "$ref": "#/definitions/Export"
+ "$ref": "#/definitions/ForecastDefinition"
},
- "description": "Parameters supplied to the CreateOrUpdate Export operation."
+ "description": "Parameters supplied to the CreateOrUpdate Forecast Config operation."
}
],
"responses": {
"200": {
"description": "OK. The request has succeeded.",
"schema": {
- "$ref": "#/definitions/Export"
+ "$ref": "#/definitions/QueryResult"
}
},
- "201": {
- "description": "Created.",
+ "default": {
+ "description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/Export"
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/forecast": {
+ "post": {
+ "tags": [
+ "Forecast"
+ ],
+ "operationId": "Forecast_ExternalCloudProviderUsage",
+ "description": "Lists the forecast charges for external cloud provider type defined.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExternalBillingAccountForecast": {
+ "$ref": "./examples/ExternalBillingAccountForecast.json"
+ },
+ "ExternalSubscriptionForecast": {
+ "$ref": "./examples/ExternalSubscriptionForecast.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "description": "May be used to filter forecasts by properties/usageDate (Utc time), properties/chargeType or properties/grain. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/externalCloudProviderTypeParameter"
+ },
+ {
+ "$ref": "#/parameters/externalCloudProviderIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ForecastDefinition"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Forecast Config operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/QueryResult"
}
},
"default": {
@@ -834,50 +613,143 @@
}
}
}
- },
- "delete": {
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/dimensions": {
+ "get": {
"tags": [
- "Exports"
+ "Dimensions"
],
- "operationId": "Exports_Delete",
- "description": "The operation to delete a export.",
+ "x-ms-odata": "#/definitions/Dimension",
+ "operationId": "Dimensions_List",
+ "description": "Lists the dimensions by the defined scope.",
"externalDocs": {
"url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
},
"x-ms-examples": {
- "SubscriptionDeleteExport": {
- "$ref": "./examples/ExportDeleteBySubscription.json"
+ "SubscriptionDimensionsList-Legacy": {
+ "$ref": "./examples/SubscriptionDimensionsList.json"
},
- "ResourceGroupDeleteExport": {
- "$ref": "./examples/ExportDeleteByResourceGroup.json"
+ "ResourceGroupDimensionsList-Legacy": {
+ "$ref": "./examples/ResourceGroupDimensionsList.json"
},
- "BillingAccountDeleteExport": {
- "$ref": "./examples/ExportDeleteByBillingAccount.json"
+ "ManagementGroupDimensionsList-Legacy": {
+ "$ref": "./examples/ManagementGroupDimensionsList.json"
},
- "EnrollmentAccountDeleteExport": {
- "$ref": "./examples/ExportDeleteByEnrollmentAccount.json"
+ "ManagementGroupDimensionsListExpandAndTop-Legacy": {
+ "$ref": "./examples/ManagementGroupDimensionsListExpandAndTop.json"
},
- "DepartmentDeleteExport": {
- "$ref": "./examples/ExportDeleteByDepartment.json"
+ "ManagementGroupDimensionsListWithFilter-Legacy": {
+ "$ref": "./examples/ManagementGroupDimensionsListWithFilter.json"
},
- "ManagementGroupDeleteExport": {
- "$ref": "./examples/ExportDeleteByManagementGroup.json"
+ "DepartmentDimensionsList-Legacy": {
+ "$ref": "./examples/DepartmentDimensionsList.json"
+ },
+ "DepartmentDimensionsListExpandAndTop-Legacy": {
+ "$ref": "./examples/DepartmentDimensionsListExpandAndTop.json"
+ },
+ "DepartmentDimensionsListWithFilter-Legacy": {
+ "$ref": "./examples/DepartmentDimensionsListWithFilter.json"
+ },
+ "EnrollmentAccountDimensionsList-Legacy": {
+ "$ref": "./examples/EnrollmentAccountDimensionsList.json"
+ },
+ "EnrollmentAccountDimensionsListExpandAndTop-Legacy": {
+ "$ref": "./examples/EnrollmentAccountDimensionsListExpandAndTop.json"
+ },
+ "EnrollmentAccountDimensionsListWithFilter-Legacy": {
+ "$ref": "./examples/EnrollmentAccountDimensionsListWithFilter.json"
+ },
+ "BillingAccountDimensionsList-Legacy": {
+ "$ref": "./examples/BillingAccountDimensionsList.json"
+ },
+ "BillingAccountDimensionsListExpandAndTop-Legacy": {
+ "$ref": "./examples/BillingAccountDimensionsListExpandAndTop.json"
+ },
+ "BillingAccountDimensionsListWithFilter-Legacy": {
+ "$ref": "./examples/BillingAccountDimensionsListWithFilter.json"
+ },
+ "BillingAccountDimensionsList-Modern": {
+ "$ref": "./examples/MCABillingAccountDimensionsList.json"
+ },
+ "BillingAccountDimensionsListExpandAndTop-Modern": {
+ "$ref": "./examples/MCABillingAccountDimensionsListExpandAndTop.json"
+ },
+ "BillingAccountDimensionsListWithFilter-Modern": {
+ "$ref": "./examples/MCABillingAccountDimensionsListWithFilter.json"
+ },
+ "BillingProfileDimensionsList-Modern": {
+ "$ref": "./examples/MCABillingProfileDimensionsList.json"
+ },
+ "BillingProfileDimensionsListExpandAndTop-Modern": {
+ "$ref": "./examples/MCABillingProfileDimensionsListExpandAndTop.json"
+ },
+ "BillingProfileDimensionsListWithFilter-Modern": {
+ "$ref": "./examples/MCABillingProfileDimensionsListWithFilter.json"
+ },
+ "InvoiceSectionDimensionsList-Modern": {
+ "$ref": "./examples/MCAInvoiceSectionDimensionsList.json"
+ },
+ "InvoiceSectionDimensionsListExpandAndTop-Modern": {
+ "$ref": "./examples/MCAInvoiceSectionDimensionsListExpandAndTop.json"
+ },
+ "InvoiceSectionDimensionsListWithFilter-Modern": {
+ "$ref": "./examples/MCAInvoiceSectionDimensionsListWithFilter.json"
+ },
+ "CustomerDimensionsList-Modern": {
+ "$ref": "./examples/MCACustomerDimensionsList.json"
+ },
+ "CustomerDimensionsListExpandAndTop-Modern": {
+ "$ref": "./examples/MCACustomerDimensionsListExpandAndTop.json"
+ },
+ "CustomerDimensionsListWithFilter-Modern": {
+ "$ref": "./examples/MCACustomerDimensionsListWithFilter.json"
}
},
"parameters": [
{
- "$ref": "#/parameters/scopeQueryParameter"
+ "$ref": "#/parameters/scopeDimensionParameter"
},
{
"$ref": "#/parameters/apiVersionParameter"
},
{
- "$ref": "#/parameters/exportNameParameter"
+ "name": "$filter",
+ "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$expand",
+ "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skiptoken",
+ "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$top",
+ "description": "May be used to limit the number of results to the most recent N dimension data.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000
}
],
"responses": {
"200": {
- "description": "OK. The request has succeeded."
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/DimensionsListResult"
+ }
},
"default": {
"description": "Error response describing why the operation failed.",
@@ -885,153 +757,1059 @@
"$ref": "#/definitions/ErrorResponse"
}
}
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/dimensions": {
+ "get": {
+ "tags": [
+ "Dimensions"
+ ],
+ "x-ms-odata": "#/definitions/Dimension",
+ "operationId": "Dimensions_ByExternalCloudProviderType",
+ "description": "Lists the dimensions by the external cloud provider type.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExternalBillingAccountDimensionList": {
+ "$ref": "./examples/ExternalBillingAccountsDimensions.json"
+ },
+ "ExternalSubscriptionDimensionList": {
+ "$ref": "./examples/ExternalSubscriptionsDimensions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/externalCloudProviderTypeParameter"
+ },
+ {
+ "$ref": "#/parameters/externalCloudProviderIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$expand",
+ "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skiptoken",
+ "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$top",
+ "description": "May be used to limit the number of results to the most recent N dimension data.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/DimensionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/query": {
+ "post": {
+ "tags": [
+ "Query"
+ ],
+ "operationId": "Query_Usage",
+ "description": "Query the usage data for scope defined.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionQuery-Legacy": {
+ "$ref": "./examples/SubscriptionQuery.json"
+ },
+ "SubscriptionQueryGrouping-Legacy": {
+ "$ref": "./examples/SubscriptionQueryGrouping.json"
+ },
+ "ResourceGroupQuery-Legacy": {
+ "$ref": "./examples/ResourceGroupQuery.json"
+ },
+ "ResourceGroupQueryGrouping-Legacy": {
+ "$ref": "./examples/ResourceGroupQueryGrouping.json"
+ },
+ "BillingAccountQuery-Legacy": {
+ "$ref": "./examples/BillingAccountQuery.json"
+ },
+ "BillingAccountQueryGrouping-Legacy": {
+ "$ref": "./examples/BillingAccountQueryGrouping.json"
+ },
+ "EnrollmentAccountQuery-Legacy": {
+ "$ref": "./examples/EnrollmentAccountQuery.json"
+ },
+ "EnrollmentAccountQueryGrouping-Legacy": {
+ "$ref": "./examples/EnrollmentAccountQueryGrouping.json"
+ },
+ "DepartmentQuery-Legacy": {
+ "$ref": "./examples/DepartmentQuery.json"
+ },
+ "DepartmentQueryGrouping-Legacy": {
+ "$ref": "./examples/DepartmentQueryGrouping.json"
+ },
+ "ManagementGroupQuery-Legacy": {
+ "$ref": "./examples/ManagementGroupQuery.json"
+ },
+ "ManagementGroupQueryGrouping-Legacy": {
+ "$ref": "./examples/ManagementGroupQueryGrouping.json"
+ },
+ "BillingAccountQuery-Modern": {
+ "$ref": "./examples/MCABillingAccountQuery.json"
+ },
+ "BillingAccountQueryGrouping-Modern": {
+ "$ref": "./examples/MCABillingAccountQueryGrouping.json"
+ },
+ "BillingProfileQuery-Modern": {
+ "$ref": "./examples/MCABillingProfileQuery.json"
+ },
+ "BillingProfileQueryGrouping-Modern": {
+ "$ref": "./examples/MCABillingProfileQueryGrouping.json"
+ },
+ "InvoiceSectionQuery-Modern": {
+ "$ref": "./examples/MCAInvoiceSectionQuery.json"
+ },
+ "InvoiceSectionQueryGrouping-Modern": {
+ "$ref": "./examples/MCAInvoiceSectionQueryGrouping.json"
+ },
+ "CustomerQuery-Modern": {
+ "$ref": "./examples/MCACustomerQuery.json"
+ },
+ "CustomerQueryGrouping-Modern": {
+ "$ref": "./examples/MCACustomerQueryGrouping.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/QueryDefinition"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Query Config operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/QueryResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/query": {
+ "post": {
+ "tags": [
+ "Query"
+ ],
+ "operationId": "Query_UsageByExternalCloudProviderType",
+ "description": "Query the usage data for external cloud provider type defined.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExternalBillingAccountQueryList": {
+ "$ref": "./examples/ExternalBillingAccountsQuery.json"
+ },
+ "ExternalSubscriptionsQuery": {
+ "$ref": "./examples/ExternalSubscriptionsQuery.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/externalCloudProviderTypeParameter"
+ },
+ {
+ "$ref": "#/parameters/externalCloudProviderIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/QueryDefinition"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Query Config operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/QueryResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/exports": {
+ "get": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_List",
+ "description": "The operation to list all exports at the given scope.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionExportList": {
+ "$ref": "./examples/ExportListBySubscription.json"
+ },
+ "ResourceGroupExportList": {
+ "$ref": "./examples/ExportListByResourceGroup.json"
+ },
+ "BillingAccountExportList": {
+ "$ref": "./examples/ExportListByBillingAccount.json"
+ },
+ "DepartmentExportList": {
+ "$ref": "./examples/ExportListByDepartment.json"
+ },
+ "EnrollmentAccountExportList": {
+ "$ref": "./examples/ExportListByEnrollmentAccount.json"
+ },
+ "ManagementGroupExportList": {
+ "$ref": "./examples/ExportListByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ExportListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}": {
+ "get": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_Get",
+ "description": "The operation to get the export for the defined scope by export name.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionExport": {
+ "$ref": "./examples/ExportBySubscription.json"
+ },
+ "ResourceGroupExport": {
+ "$ref": "./examples/ExportByResourceGroup.json"
+ },
+ "BillingAccountExport": {
+ "$ref": "./examples/ExportByBillingAccount.json"
+ },
+ "DepartmentExport": {
+ "$ref": "./examples/ExportByDepartment.json"
+ },
+ "EnrollmentAccountExport": {
+ "$ref": "./examples/ExportByEnrollmentAccount.json"
+ },
+ "ManagementGroupExport": {
+ "$ref": "./examples/ExportByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Export"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_CreateOrUpdate",
+ "description": "The operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionCreateOrUpdateExport": {
+ "$ref": "./examples/ExportCreateOrUpdateBySubscription.json"
+ },
+ "ResourceGroupCreateOrUpdateExport": {
+ "$ref": "./examples/ExportCreateOrUpdateByResourceGroup.json"
+ },
+ "BillingAccountCreateOrUpdateExport": {
+ "$ref": "./examples/ExportCreateOrUpdateByBillingAccount.json"
+ },
+ "DepartmentCreateOrUpdateExport": {
+ "$ref": "./examples/ExportCreateOrUpdateByDepartment.json"
+ },
+ "EnrollmentAccountCreateOrUpdateExport": {
+ "$ref": "./examples/ExportCreateOrUpdateByEnrollmentAccount.json"
+ },
+ "ManagementGroupCreateOrUpdateExport": {
+ "$ref": "./examples/ExportCreateOrUpdateByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Export"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Export operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Export"
+ }
+ },
+ "201": {
+ "description": "Created.",
+ "schema": {
+ "$ref": "#/definitions/Export"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_Delete",
+ "description": "The operation to delete a export.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionDeleteExport": {
+ "$ref": "./examples/ExportDeleteBySubscription.json"
+ },
+ "ResourceGroupDeleteExport": {
+ "$ref": "./examples/ExportDeleteByResourceGroup.json"
+ },
+ "BillingAccountDeleteExport": {
+ "$ref": "./examples/ExportDeleteByBillingAccount.json"
+ },
+ "EnrollmentAccountDeleteExport": {
+ "$ref": "./examples/ExportDeleteByEnrollmentAccount.json"
+ },
+ "DepartmentDeleteExport": {
+ "$ref": "./examples/ExportDeleteByDepartment.json"
+ },
+ "ManagementGroupDeleteExport": {
+ "$ref": "./examples/ExportDeleteByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/run": {
+ "post": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_Execute",
+ "description": "The operation to execute a export.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionExecuteExport": {
+ "$ref": "./examples/ExportExecutionBySubscription.json"
+ },
+ "ResourceGroupExecuteExport": {
+ "$ref": "./examples/ExportExecutionByResourceGroup.json"
+ },
+ "BillingAccountExecuteExport": {
+ "$ref": "./examples/ExportExecutionByBillingAccount.json"
+ },
+ "DepartmentExecuteExport": {
+ "$ref": "./examples/ExportExecutionByDepartment.json"
+ },
+ "EnrollmentAccountExecuteExport": {
+ "$ref": "./examples/ExportExecutionByEnrollmentAccount.json"
+ },
+ "ManagementGroupExecuteExport": {
+ "$ref": "./examples/ExportExecutionByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/runHistory": {
+ "get": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_GetExecutionHistory",
+ "description": "The operation to get the execution history of an export for the defined scope by export name.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionExecutionHistoryExport": {
+ "$ref": "./examples/ExportExecutionListBySubscription.json"
+ },
+ "ResourceGroupExecutionHistoryExport": {
+ "$ref": "./examples/ExportExecutionListByResourceGroup.json"
+ },
+ "BillingAccountExecutionHistoryExport": {
+ "$ref": "./examples/ExportExecutionListByBillingAccount.json"
+ },
+ "DepartmentExecutionHistoryExport": {
+ "$ref": "./examples/ExportExecutionListByDepartment.json"
+ },
+ "EnrollmentAccountExecutionHistoryExport": {
+ "$ref": "./examples/ExportExecutionListByEnrollmentAccount.json"
+ },
+ "ManagementGroupExecutionHistoryExport": {
+ "$ref": "./examples/ExportExecutionListByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ExportExecutionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.CostManagement/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Lists all of the available cost management REST API operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ReportConfigDefinition": {
+ "description": "The definition of a report config.",
+ "properties": {
+ "type": {
+ "description": "The type of the report. Usage represents actual usage, forecast represents forecasted data and UsageAndForecast represents both usage and forecasted data. Actual usage and forecasted data can be differentiated based on dates.",
+ "type": "string",
+ "enum": [
+ "Usage"
+ ],
+ "x-ms-enum": {
+ "name": "ReportType",
+ "modelAsString": true
+ }
+ },
+ "timeframe": {
+ "description": "The time frame for pulling data for the report. If custom, then a specific time period must be provided.",
+ "type": "string",
+ "enum": [
+ "WeekToDate",
+ "MonthToDate",
+ "YearToDate",
+ "Custom"
+ ],
+ "x-ms-enum": {
+ "name": "ReportTimeframeType",
+ "modelAsString": true
+ }
+ },
+ "timePeriod": {
+ "description": "Has time period for pulling data for the report.",
+ "$ref": "#/definitions/ReportConfigTimePeriod"
+ },
+ "dataset": {
+ "description": "Has definition for data in this report config.",
+ "$ref": "#/definitions/ReportConfigDataset"
+ }
+ },
+ "required": [
+ "type",
+ "timeframe"
+ ]
+ },
+ "ReportConfigTimePeriod": {
+ "description": "The start and end date for pulling data for the report.",
+ "properties": {
+ "from": {
+ "description": "The start date to pull data from.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "to": {
+ "description": "The end date to pull data to.",
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "from",
+ "to"
+ ]
+ },
+ "ReportConfigDataset": {
+ "description": "The definition of data present in the report.",
+ "properties": {
+ "granularity": {
+ "description": "The granularity of rows in the report.",
+ "type": "string",
+ "enum": [
+ "Daily",
+ "Monthly"
+ ],
+ "x-ms-enum": {
+ "name": "ReportGranularityType",
+ "modelAsString": true
+ }
+ },
+ "configuration": {
+ "description": "Has configuration information for the data in the report. The configuration will be ignored if aggregation and grouping are provided.",
+ "$ref": "#/definitions/ReportConfigDatasetConfiguration"
+ },
+ "aggregation": {
+ "type": "object",
+ "description": "Dictionary of aggregation expression to use in the report. The key of each item in the dictionary is the alias for the aggregated column. Report can have up to 2 aggregation clauses.",
+ "additionalProperties": {
+ "type": "object",
+ "$ref": "#/definitions/ReportConfigAggregation"
+ },
+ "maxItems": 2
+ },
+ "grouping": {
+ "description": "Array of group by expression to use in the report. Report can have up to 2 group by clauses.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReportConfigGrouping"
+ },
+ "maxItems": 2
+ },
+ "sorting": {
+ "description": "Array of order by expression to use in the report.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReportConfigSorting"
+ }
+ },
+ "filter": {
+ "type": "object",
+ "description": "Has filter expression to use in the report.",
+ "$ref": "#/definitions/ReportConfigFilter"
+ }
+ }
+ },
+ "ReportConfigDatasetConfiguration": {
+ "description": "The configuration of dataset in the report.",
+ "properties": {
+ "columns": {
+ "description": "Array of column names to be included in the report. Any valid report column name is allowed. If not provided, then report includes all columns.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ReportConfigAggregation": {
+ "description": "The aggregation expression to be used in the report.",
+ "properties": {
+ "name": {
+ "description": "The name of the column to aggregate.",
+ "type": "string"
+ },
+ "function": {
+ "description": "The name of the aggregation function to use.",
+ "type": "string",
+ "enum": [
+ "Sum"
+ ],
+ "x-ms-enum": {
+ "name": "FunctionType",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "name",
+ "function"
+ ]
+ },
+ "ReportConfigSorting": {
+ "description": "The order by expression to be used in the report.",
+ "properties": {
+ "direction": {
+ "description": "Direction of sort.",
+ "type": "string",
+ "enum": [
+ "Ascending",
+ "Descending"
+ ]
+ },
+ "name": {
+ "description": "The name of the column to sort.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "ReportConfigGrouping": {
+ "description": "The group by expression to be used in the report.",
+ "properties": {
+ "type": {
+ "description": "Has type of the column to group.",
+ "$ref": "#/definitions/ReportConfigColumnType"
+ },
+ "name": {
+ "description": "The name of the column to group. This version supports subscription lowest possible grain.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "name"
+ ]
+ },
+ "ReportConfigFilter": {
+ "description": "The filter expression to be used in the report.",
+ "properties": {
+ "and": {
+ "description": "The logical \"AND\" expression. Must have at least 2 items.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReportConfigFilter"
+ },
+ "minItems": 2
+ },
+ "or": {
+ "description": "The logical \"OR\" expression. Must have at least 2 items.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReportConfigFilter"
+ },
+ "minItems": 2
+ },
+ "not": {
+ "description": "The logical \"NOT\" expression.",
+ "$ref": "#/definitions/ReportConfigFilter"
+ },
+ "dimension": {
+ "description": "Has comparison expression for a dimension",
+ "$ref": "#/definitions/ReportConfigComparisonExpression"
+ },
+ "tag": {
+ "description": "Has comparison expression for a tag",
+ "$ref": "#/definitions/ReportConfigComparisonExpression"
+ }
+ }
+ },
+ "ReportConfigColumnType": {
+ "description": "The type of the column in the report.",
+ "type": "string",
+ "enum": [
+ "Tag",
+ "Dimension"
+ ],
+ "x-ms-enum": {
+ "name": "ReportConfigColumnType",
+ "modelAsString": true
+ }
+ },
+ "ReportConfigComparisonExpression": {
+ "description": "The comparison expression to be used in the report.",
+ "properties": {
+ "name": {
+ "description": "The name of the column to use in comparison.",
+ "type": "string"
+ },
+ "operator": {
+ "description": "The operator to use for comparison.",
+ "type": "string",
+ "enum": [
+ "In",
+ "Contains"
+ ],
+ "x-ms-enum": {
+ "name": "OperatorType",
+ "modelAsString": true
+ }
+ },
+ "values": {
+ "description": "Array of values to use for comparison",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1
+ }
+ },
+ "required": [
+ "name",
+ "operator",
+ "values"
+ ]
+ },
+ "ViewListResult": {
+ "description": "Result of listing views. It contains a list of available views.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of views.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/View"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
}
}
},
- "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/run": {
- "post": {
- "tags": [
- "Exports"
- ],
- "operationId": "Exports_Execute",
- "description": "The operation to execute a export.",
- "externalDocs": {
- "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ "View": {
+ "description": "States and configurations of Cost Analysis.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ViewProperties",
+ "title": "View properties"
+ }
+ }
+ },
+ "ViewProperties": {
+ "type": "object",
+ "description": "The properties of the view.",
+ "properties": {
+ "displayName": {
+ "description": "User input name of the view. Required.",
+ "type": "string"
},
- "x-ms-examples": {
- "SubscriptionExecuteExport": {
- "$ref": "./examples/ExportExecutionBySubscription.json"
- },
- "ResourceGroupExecuteExport": {
- "$ref": "./examples/ExportExecutionByResourceGroup.json"
- },
- "BillingAccountExecuteExport": {
- "$ref": "./examples/ExportExecutionByBillingAccount.json"
- },
- "DepartmentExecuteExport": {
- "$ref": "./examples/ExportExecutionByDepartment.json"
- },
- "EnrollmentAccountExecuteExport": {
- "$ref": "./examples/ExportExecutionByEnrollmentAccount.json"
- },
- "ManagementGroupExecuteExport": {
- "$ref": "./examples/ExportExecutionByManagementGroup.json"
- }
+ "scope": {
+ "description": "Cost Management scope to save the view on. This includes 'subscriptions/{subscriptionId}' for subscription scope, 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for BillingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for ExternalBillingAccount scope, and '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for ExternalSubscription scope.",
+ "type": "string"
},
- "parameters": [
- {
- "$ref": "#/parameters/scopeQueryParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/exportNameParameter"
+ "createdOn": {
+ "description": "Date the user created this view.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "modifiedOn": {
+ "description": "Date when the user last modified this view.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "query": {
+ "description": "Query body configuration. Required.",
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ReportConfigDefinition"
+ },
+ "chart": {
+ "description": "Chart type of the main view in Cost Analysis. Required.",
+ "type": "string",
+ "enum": [
+ "Area",
+ "Line",
+ "StackedColumn",
+ "GroupedColumn",
+ "Table"
+ ],
+ "x-ms-enum": {
+ "name": "ChartType",
+ "modelAsString": true
}
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
+ },
+ "accumulated": {
+ "description": "Show costs accumulated over time.",
+ "type": "string",
+ "enum": [
+ "true",
+ "false"
+ ],
+ "x-ms-enum": {
+ "name": "AccumulatedType",
+ "modelAsString": true
}
- }
- }
- },
- "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/runHistory": {
- "get": {
- "tags": [
- "Exports"
- ],
- "operationId": "Exports_GetExecutionHistory",
- "description": "The operation to get the execution history of an export for the defined scope by export name.",
- "externalDocs": {
- "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
},
- "x-ms-examples": {
- "SubscriptionExecutionHistoryExport": {
- "$ref": "./examples/ExportExecutionListBySubscription.json"
- },
- "ResourceGroupExecutionHistoryExport": {
- "$ref": "./examples/ExportExecutionListByResourceGroup.json"
- },
- "BillingAccountExecutionHistoryExport": {
- "$ref": "./examples/ExportExecutionListByBillingAccount.json"
- },
- "DepartmentExecutionHistoryExport": {
- "$ref": "./examples/ExportExecutionListByDepartment.json"
- },
- "EnrollmentAccountExecutionHistoryExport": {
- "$ref": "./examples/ExportExecutionListByEnrollmentAccount.json"
- },
- "ManagementGroupExecutionHistoryExport": {
- "$ref": "./examples/ExportExecutionListByManagementGroup.json"
+ "metric": {
+ "description": "Metric to use when displaying costs.",
+ "type": "string",
+ "enum": [
+ "ActualCost",
+ "AmortizedCost",
+ "AHUB"
+ ],
+ "x-ms-enum": {
+ "name": "MetricType",
+ "modelAsString": true
}
},
- "parameters": [
- {
- "$ref": "#/parameters/scopeQueryParameter"
- },
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/exportNameParameter"
+ "kpis": {
+ "description": "List of KPIs to show in Cost Analysis UI.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KpiProperties"
}
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/ExportExecutionListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
+ },
+ "pivots": {
+ "description": "Configuration of 3 sub-views in the Cost Analysis UI.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PivotProperties"
}
}
}
},
- "/providers/Microsoft.CostManagement/operations": {
- "get": {
- "tags": [
- "Operations"
- ],
- "operationId": "Operations_List",
- "description": "Lists all of the available cost management REST API operations.",
- "parameters": [
- {
- "$ref": "#/parameters/apiVersionParameter"
+ "KpiProperties": {
+ "description": "Each KPI must contain a 'type' and 'enabled' key.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "KPI type (Forecast, Budget).",
+ "type": "string",
+ "enum": [
+ "Forecast",
+ "Budget"
+ ],
+ "x-ms-enum": {
+ "name": "KpiTypeType",
+ "modelAsString": true
}
- ],
- "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"
- }
+ },
+ "id": {
+ "description": "ID of resource related to metric (budget).",
+ "type": "string"
+ },
+ "enabled": {
+ "description": "show the KPI in the UI?",
+ "type": "boolean"
+ }
+ }
+ },
+ "PivotProperties": {
+ "description": "Each pivot must contain a 'type' and 'name'.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Data type to show in view.",
+ "type": "string",
+ "enum": [
+ "Dimension",
+ "TagKey"
+ ],
+ "x-ms-enum": {
+ "name": "PivotTypeType",
+ "modelAsString": true
}
},
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
+ "name": {
+ "description": "Data field to show in view.",
+ "type": "string"
}
}
- }
- },
- "definitions": {
+ },
"ErrorDetails": {
"description": "The details of the error.",
"properties": {
@@ -1086,6 +1864,31 @@
},
"x-ms-azure-resource": true
},
+ "ProxyResource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ },
+ "eTag": {
+ "type": "string",
+ "description": "eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
"DimensionsListResult": {
"description": "Result of listing dimensions. It contains a list of available dimensions.",
"type": "object",
@@ -1997,6 +2800,22 @@
}
},
"parameters": {
+ "viewNameParameter": {
+ "name": "viewName",
+ "in": "path",
+ "description": "View name",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "scopeViewParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with view operations. This includes 'subscriptions/{subscriptionId}' for subscription scope, 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for BillingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, 'providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for External Billing Account scope and 'providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for External Subscription scope.",
+ "x-ms-parameter-location": "method"
+ },
"scopeDimensionParameter": {
"name": "scope",
"in": "path",
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/PrivateView.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/PrivateView.json
new file mode 100644
index 000000000000..7e2e12355b65
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/PrivateView.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "viewName": "swaggerExample"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.CostManagement/views/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ff9fe66f1d10\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "scope": "",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/PrivateViewCreateOrUpdate.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/PrivateViewCreateOrUpdate.json
new file mode 100644
index 000000000000..d18aabd205b7
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/PrivateViewCreateOrUpdate.json
@@ -0,0 +1,185 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "viewName": "swaggerExample",
+ "parameters": {
+ "eTag": "\"1d4ff9fe66f1d10\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/providers/Microsoft.CostManagement/views/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ffa5a9c2430c\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "scope": "",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.CostManagement/views/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ffa5a9c2430c\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "scope": "",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/PrivateViewDelete.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/PrivateViewDelete.json
new file mode 100644
index 000000000000..72622894ca84
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/PrivateViewDelete.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "viewName": "TestView"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/PrivateViewList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/PrivateViewList.json
new file mode 100644
index 000000000000..fa4fa0e07de5
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/PrivateViewList.json
@@ -0,0 +1,131 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.CostManagement/views/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ff9fe66f1d10\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "scope": "",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/providers/Microsoft.CostManagement/views/swaggerExample2",
+ "name": "swaggerExample2",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ffa5a9c2430c\"",
+ "properties": {
+ "displayName": "swagger Example 2",
+ "scope": "",
+ "query": {
+ "type": "Usage",
+ "timeframe": "LastMonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "GroupedColumn",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ViewByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ViewByResourceGroup.json
new file mode 100644
index 000000000000..80edf823d58b
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ViewByResourceGroup.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "viewName": "swaggerExample",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/views/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ff9fe66f1d10\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ViewCreateOrUpdateByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ViewCreateOrUpdateByResourceGroup.json
new file mode 100644
index 000000000000..d71bbe14baba
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ViewCreateOrUpdateByResourceGroup.json
@@ -0,0 +1,186 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "viewName": "swaggerExample",
+ "parameters": {
+ "eTag": "\"1d4ff9fe66f1d10\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/views/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ffa5a9c2430c\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/views/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ffa5a9c2430c\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ViewDeleteByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ViewDeleteByResourceGroup.json
new file mode 100644
index 000000000000..b68bcb4e0201
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ViewDeleteByResourceGroup.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "viewName": "TestView"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ViewListByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ViewListByResourceGroup.json
new file mode 100644
index 000000000000..efbfa5040ac6
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/ViewListByResourceGroup.json
@@ -0,0 +1,132 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/views/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ff9fe66f1d10\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/views/swaggerExample2",
+ "name": "swaggerExample2",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ffa5a9c2430c\"",
+ "properties": {
+ "displayName": "swagger Example 2",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "query": {
+ "type": "Usage",
+ "timeframe": "LastMonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "GroupedColumn",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/readme.az.md b/specification/cost-management/resource-manager/readme.az.md
new file mode 100644
index 000000000000..0ab4b46e293f
--- /dev/null
+++ b/specification/cost-management/resource-manager/readme.az.md
@@ -0,0 +1,15 @@
+## AZ
+
+These settings apply only when `--az` is specified on the command line.
+
+``` yaml $(az)
+az:
+ extensions: 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/cost-management/resource-manager/readme.cli.md b/specification/cost-management/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..986dcf24c83b
--- /dev/null
+++ b/specification/cost-management/resource-manager/readme.cli.md
@@ -0,0 +1 @@
+## CLI
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/readme.md b/specification/cost-management/resource-manager/readme.md
index 205a74666b50..12dadfcd7709 100644
--- a/specification/cost-management/resource-manager/readme.md
+++ b/specification/cost-management/resource-manager/readme.md
@@ -27,7 +27,7 @@ These are the global settings for the Cost Management API.
``` yaml
openapi-type: arm
tag: package-2019-11
-azure-validator: true
+azure-validator: false
```
---
@@ -190,6 +190,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_costmanagement']
+ - repo: azure-cli-extensions
```
## C#
@@ -206,35 +207,6 @@ csharp:
clear-output-folder: true
```
-## Python
-
-These settings apply only when `--python` is specified on the command line.
-Please also specify `--python-sdks-folder=`.
-Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-
-``` yaml $(python)
-python-mode: create
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- namespace: azure.mgmt.costmanagement
- package-name: azure-mgmt-costmanagement
- package-version: 1.2.0
- clear-output-folder: true
-```
-
-``` yaml $(python) && $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/costmanagement/azure-mgmt-costmanagement/azure/mgmt/costmanagement
-```
-
-``` yaml $(python) && $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/costmanagement/azure-mgmt-costmanagement
-```
## Go
diff --git a/specification/cost-management/resource-manager/readme.python.md b/specification/cost-management/resource-manager/readme.python.md
new file mode 100644
index 000000000000..e813c023f2cb
--- /dev/null
+++ b/specification/cost-management/resource-manager/readme.python.md
@@ -0,0 +1,29 @@
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
+
+``` yaml $(python)
+python-mode: create
+python:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ namespace: azure.mgmt.costmanagement
+ package-name: azure-mgmt-costmanagement
+ package-version: 1.2.0
+ clear-output-folder: true
+```
+
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/costmanagement/azure-mgmt-costmanagement/azure/mgmt/costmanagement
+```
+
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/costmanagement/azure-mgmt-costmanagement
+```
\ No newline at end of file
diff --git a/specification/customproviders/resource-manager/readme.md b/specification/customproviders/resource-manager/readme.md
index 8207c4d5b580..27afdefab93c 100644
--- a/specification/customproviders/resource-manager/readme.md
+++ b/specification/customproviders/resource-manager/readme.md
@@ -53,6 +53,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-python
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-trenton
- repo: azure-sdk-for-node
- repo: azure-sdk-for-js
- repo: azure-sdk-for-ruby
@@ -113,3 +114,32 @@ uncomment the `exclude-file` section below and add the file paths.
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
+## cli
+
+These settings apply only when `--cli` is specified on the command line.
+
+``` yaml $(cli)
+cli:
+ cli-name: customproviders
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ namespace: azure.mgmt.customproviders
+ package-name: azure-mgmt-customproviders
+ clear-output-folder: false
+```
+
+## trenton
+
+These settings apply only when `--trenton` is specified on the command line.
+
+``` yaml $(trenton)
+trenton:
+ cli_name: customproviders
+ azure_arm: true
+ license_header: MICROSOFT_MIT_NO_VERSION
+ payload_flattening_threshold: 2
+ namespace: azure.mgmt.customproviders
+ package_name: azure-mgmt-customproviders
+ clear_output_folder: false
+```
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..a0d04a784add 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.",
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 c80e37c45c41..322b39b41bc1 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
@@ -1018,6 +1018,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",
@@ -1996,14 +2018,6 @@
"isolationLevel": {
"description": "Specifies the transaction locking behavior for the SQL source. Allowed values: ReadCommitted/ReadUncommitted/RepeatableRead/Serializable/Snapshot. The default value is ReadCommitted. Type: string (or Expression with resultType string).",
"type": "object"
- },
- "partitionOption": {
- "description": "The partition mechanism that will be used for Sql read in parallel.",
- "$ref": "#/definitions/SqlPartitionOption"
- },
- "partitionSettings": {
- "description": "The settings that will be leveraged for Sql source partitioning.",
- "$ref": "#/definitions/SqlPartitionSettings"
}
}
},
@@ -2034,14 +2048,6 @@
"produceAdditionalTypes": {
"description": "Which additional types to produce.",
"type": "object"
- },
- "partitionOption": {
- "description": "The partition mechanism that will be used for Sql read in parallel.",
- "$ref": "#/definitions/SqlPartitionOption"
- },
- "partitionSettings": {
- "description": "The settings that will be leveraged for Sql source partitioning.",
- "$ref": "#/definitions/SqlPartitionSettings"
}
}
},
@@ -2072,14 +2078,6 @@
"produceAdditionalTypes": {
"description": "Which additional types to produce.",
"type": "object"
- },
- "partitionOption": {
- "description": "The partition mechanism that will be used for Sql read in parallel.",
- "$ref": "#/definitions/SqlPartitionOption"
- },
- "partitionSettings": {
- "description": "The settings that will be leveraged for Sql source partitioning.",
- "$ref": "#/definitions/SqlPartitionSettings"
}
}
},
@@ -2110,14 +2108,6 @@
"produceAdditionalTypes": {
"description": "Which additional types to produce.",
"type": "object"
- },
- "partitionOption": {
- "description": "The partition mechanism that will be used for Sql read in parallel.",
- "$ref": "#/definitions/SqlPartitionOption"
- },
- "partitionSettings": {
- "description": "The settings that will be leveraged for Sql source partitioning.",
- "$ref": "#/definitions/SqlPartitionSettings"
}
}
},
@@ -2141,48 +2131,9 @@
"storedProcedureParameters": {
"type": "object",
"description": "Value and type setting for stored procedure parameters. Example: \"{Parameter1: {value: \"1\", type: \"int\"}}\". Type: object (or Expression with resultType object), itemType: StoredProcedureParameter."
- },
- "partitionOption": {
- "description": "The partition mechanism that will be used for Sql read in parallel.",
- "$ref": "#/definitions/SqlPartitionOption"
- },
- "partitionSettings": {
- "description": "The settings that will be leveraged for Sql source partitioning.",
- "$ref": "#/definitions/SqlPartitionSettings"
}
}
},
- "SqlPartitionSettings": {
- "description": "The settings that will be leveraged for Sql source partitioning.",
- "type": "object",
- "properties": {
- "partitionColumnName": {
- "type": "object",
- "description": "The name of the column in integer or datetime type that will be used for proceeding partitioning. If not specified, the primary key of the table is auto-detected and used as the partition column. Type: string (or Expression with resultType string)."
- },
- "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)."
- },
- "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)."
- }
- }
- },
- "SqlPartitionOption": {
- "description": "The partition mechanism that will be used for Sql read in parallel.",
- "type": "string",
- "enum": [
- "None",
- "PhysicalPartitionsOfTable",
- "DynamicRange"
- ],
- "x-ms-enum": {
- "name": "SqlPartitionOption",
- "modelAsString": true
- }
- },
"FileSystemSource": {
"description": "A copy activity file system source.",
"type": "object",
@@ -4388,6 +4339,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)."
}
}
},
@@ -5280,6 +5269,10 @@
"dataset": {
"description": "Delete activity dataset reference.",
"$ref": "../datafactory.json#/definitions/DatasetReference"
+ },
+ "storeSettings": {
+ "$ref": "#/definitions/StoreReadSettings",
+ "description": "Delete activity store settings."
}
},
"required": [
@@ -5502,6 +5495,14 @@
"type": "object",
"description": "Type: string (or Expression with resultType string)."
}
+ },
+ "storeSettings": {
+ "$ref": "#/definitions/StoreReadSettings",
+ "description": "GetMetadata activity store settings."
+ },
+ "formatSettings": {
+ "$ref": "#/definitions/FormatReadSettings",
+ "description": "GetMetadata activity format settings."
}
},
"required": [
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/desktopvirtualization.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/desktopvirtualization.json
index 64868f31dc31..461026a2fdfa 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/desktopvirtualization.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/desktopvirtualization.json
@@ -1961,63 +1961,12 @@
}
}
},
- "Resource": {
- "description": "ARM 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."
- }
- },
- "x-ms-azure-resource": true
- },
- "TrackedResource": {
- "description": "ARM tracked top level resource.",
- "properties": {
- "tags": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "x-ms-mutability": [
- "read",
- "create",
- "update"
- ],
- "description": "Resource tags."
- },
- "location": {
- "type": "string",
- "x-ms-mutability": [
- "read",
- "create"
- ],
- "description": "Resource location."
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ]
- },
"Workspace": {
"type": "object",
"description": "Represents a Workspace definition.",
"allOf": [
{
- "$ref": "#/definitions/TrackedResource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
}
],
"properties": {
@@ -2109,9 +2058,12 @@
"description": "Represents a ApplicationGroup definition.",
"allOf": [
{
- "$ref": "#/definitions/TrackedResource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
}
],
+ "required": [
+ "properties"
+ ],
"properties": {
"properties": {
"description": "Detailed properties for ApplicationGroup",
@@ -2123,6 +2075,10 @@
"ApplicationGroupProperties": {
"description": "Schema for ApplicationGroup properties.",
"type": "object",
+ "required": [
+ "hostPoolArmPath",
+ "applicationGroupType"
+ ],
"properties": {
"description": {
"type": "string",
@@ -2162,7 +2118,7 @@
"description": "ApplicationGroup properties that can be patched.",
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
}
],
"properties": {
@@ -2215,9 +2171,12 @@
"description": "Represents a HostPool definition.",
"allOf": [
{
- "$ref": "#/definitions/TrackedResource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
}
],
+ "required": [
+ "properties"
+ ],
"properties": {
"properties": {
"description": "Detailed properties for HostPool",
@@ -2229,6 +2188,11 @@
"HostPoolProperties": {
"description": "Properties of HostPool.",
"type": "object",
+ "required": [
+ "hostPoolType",
+ "personalDesktopAssignmentType",
+ "loadBalancerType"
+ ],
"properties": {
"friendlyName": {
"type": "string",
@@ -2321,7 +2285,7 @@
"description": "HostPool properties that can be patched.",
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
}
],
"properties": {
@@ -2466,9 +2430,12 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
}
],
+ "required": [
+ "properties"
+ ],
"properties": {
"properties": {
"description": "Detailed properties for Application",
@@ -2480,6 +2447,9 @@
"ApplicationProperties": {
"description": "Schema for Application properties.",
"type": "object",
+ "required": [
+ "commandLineSetting"
+ ],
"properties": {
"description": {
"type": "string",
@@ -2622,7 +2592,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
}
],
"properties": {
@@ -2741,7 +2711,7 @@
"description": "Represents a StartMenuItem definition.",
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
}
],
"properties": {
@@ -2776,7 +2746,7 @@
"description": "Represents a SessionHost definition.",
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
}
],
"properties": {
@@ -2874,7 +2844,7 @@
"description": "SessionHost properties that can be patched.",
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
}
],
"properties": {
@@ -2923,7 +2893,7 @@
"description": "Represents a UserSession definition.",
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
}
],
"properties": {
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/desktopvirtualization.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/desktopvirtualization.json
index df8ead1bfafc..d75ddf4291a2 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/desktopvirtualization.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/desktopvirtualization.json
@@ -1961,63 +1961,12 @@
}
}
},
- "Resource": {
- "description": "ARM 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."
- }
- },
- "x-ms-azure-resource": true
- },
- "TrackedResource": {
- "description": "ARM tracked top level resource.",
- "properties": {
- "tags": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "x-ms-mutability": [
- "read",
- "create",
- "update"
- ],
- "description": "Resource tags."
- },
- "location": {
- "type": "string",
- "x-ms-mutability": [
- "read",
- "create"
- ],
- "description": "Resource location."
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ]
- },
"Workspace": {
"type": "object",
"description": "Represents a Workspace definition.",
"allOf": [
{
- "$ref": "#/definitions/TrackedResource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
}
],
"properties": {
@@ -2109,9 +2058,12 @@
"description": "Represents a ApplicationGroup definition.",
"allOf": [
{
- "$ref": "#/definitions/TrackedResource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
}
],
+ "required": [
+ "properties"
+ ],
"properties": {
"properties": {
"description": "Detailed properties for ApplicationGroup",
@@ -2123,6 +2075,10 @@
"ApplicationGroupProperties": {
"description": "Schema for ApplicationGroup properties.",
"type": "object",
+ "required": [
+ "hostPoolArmPath",
+ "applicationGroupType"
+ ],
"properties": {
"description": {
"type": "string",
@@ -2162,7 +2118,7 @@
"description": "ApplicationGroup properties that can be patched.",
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
}
],
"properties": {
@@ -2215,9 +2171,12 @@
"description": "Represents a HostPool definition.",
"allOf": [
{
- "$ref": "#/definitions/TrackedResource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
}
],
+ "required": [
+ "properties"
+ ],
"properties": {
"properties": {
"description": "Detailed properties for HostPool",
@@ -2229,6 +2188,11 @@
"HostPoolProperties": {
"description": "Properties of HostPool.",
"type": "object",
+ "required": [
+ "hostPoolType",
+ "personalDesktopAssignmentType",
+ "loadBalancerType"
+ ],
"properties": {
"friendlyName": {
"type": "string",
@@ -2321,7 +2285,7 @@
"description": "HostPool properties that can be patched.",
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
}
],
"properties": {
@@ -2485,9 +2449,12 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
}
],
+ "required": [
+ "properties"
+ ],
"properties": {
"properties": {
"description": "Detailed properties for Application",
@@ -2499,6 +2466,9 @@
"ApplicationProperties": {
"description": "Schema for Application properties.",
"type": "object",
+ "required": [
+ "commandLineSetting"
+ ],
"properties": {
"description": {
"type": "string",
@@ -2641,7 +2611,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
}
],
"properties": {
@@ -2760,7 +2730,7 @@
"description": "Represents a StartMenuItem definition.",
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
}
],
"properties": {
@@ -2795,7 +2765,7 @@
"description": "Represents a SessionHost definition.",
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
}
],
"properties": {
@@ -2893,7 +2863,7 @@
"description": "SessionHost properties that can be patched.",
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
}
],
"properties": {
@@ -2942,7 +2912,7 @@
"description": "Represents a UserSession definition.",
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
}
],
"properties": {
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 39b50bc58904..3af397de4739 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
@@ -1961,63 +1961,12 @@
}
}
},
- "Resource": {
- "description": "ARM 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."
- }
- },
- "x-ms-azure-resource": true
- },
- "TrackedResource": {
- "description": "ARM tracked top level resource.",
- "properties": {
- "tags": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "x-ms-mutability": [
- "read",
- "create",
- "update"
- ],
- "description": "Resource tags."
- },
- "location": {
- "type": "string",
- "x-ms-mutability": [
- "read",
- "create"
- ],
- "description": "Resource location."
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ]
- },
"Workspace": {
"type": "object",
"description": "Represents a Workspace definition.",
"allOf": [
{
- "$ref": "#/definitions/TrackedResource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
}
],
"properties": {
@@ -2109,20 +2058,28 @@
"description": "Represents a ApplicationGroup definition.",
"allOf": [
{
- "$ref": "#/definitions/TrackedResource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
}
],
+ "required": [
+ "properties"
+ ],
"properties": {
"properties": {
"description": "Detailed properties for ApplicationGroup",
"x-ms-client-flatten": true,
- "$ref": "#/definitions/ApplicationGroupProperties"
+ "$ref": "#/definitions/ApplicationGroupProperties",
+ "x-nullable": false
}
}
},
"ApplicationGroupProperties": {
"description": "Schema for ApplicationGroup properties.",
"type": "object",
+ "required": [
+ "hostPoolArmPath",
+ "applicationGroupType"
+ ],
"properties": {
"description": {
"type": "string",
@@ -2162,7 +2119,7 @@
"description": "ApplicationGroup properties that can be patched.",
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
}
],
"properties": {
@@ -2215,20 +2172,29 @@
"description": "Represents a HostPool definition.",
"allOf": [
{
- "$ref": "#/definitions/TrackedResource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
}
],
+ "required": [
+ "properties"
+ ],
"properties": {
"properties": {
"description": "Detailed properties for HostPool",
"x-ms-client-flatten": true,
- "$ref": "#/definitions/HostPoolProperties"
+ "$ref": "#/definitions/HostPoolProperties",
+ "x-nullable": false
}
}
},
"HostPoolProperties": {
"description": "Properties of HostPool.",
"type": "object",
+ "required": [
+ "hostPoolType",
+ "personalDesktopAssignmentType",
+ "loadBalancerType"
+ ],
"properties": {
"friendlyName": {
"type": "string",
@@ -2321,7 +2287,7 @@
"description": "HostPool properties that can be patched.",
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
}
],
"properties": {
@@ -2485,20 +2451,27 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
}
],
+ "required": [
+ "properties"
+ ],
"properties": {
"properties": {
"description": "Detailed properties for Application",
"x-ms-client-flatten": true,
- "$ref": "#/definitions/ApplicationProperties"
+ "$ref": "#/definitions/ApplicationProperties",
+ "x-nullable": false
}
}
},
"ApplicationProperties": {
"description": "Schema for Application properties.",
"type": "object",
+ "required": [
+ "commandLineSetting"
+ ],
"properties": {
"description": {
"type": "string",
@@ -2641,7 +2614,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
}
],
"properties": {
@@ -2760,7 +2733,7 @@
"description": "Represents a StartMenuItem definition.",
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
}
],
"properties": {
@@ -2795,7 +2768,7 @@
"description": "Represents a SessionHost definition.",
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
}
],
"properties": {
@@ -2893,7 +2866,7 @@
"description": "SessionHost properties that can be patched.",
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
}
],
"properties": {
@@ -2942,7 +2915,7 @@
"description": "Represents a UserSession definition.",
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
}
],
"properties": {
diff --git a/specification/desktopvirtualization/resource-manager/readme.az.md b/specification/desktopvirtualization/resource-manager/readme.az.md
new file mode 100644
index 000000000000..59b298c1cc19
--- /dev/null
+++ b/specification/desktopvirtualization/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: desktopvirtualization
+ package-name: azure-mgmt-desktopvirtualization
+ 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"
+```
diff --git a/specification/desktopvirtualization/resource-manager/readme.cli.md b/specification/desktopvirtualization/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..3add0b924943
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/readme.cli.md
@@ -0,0 +1,8 @@
+## CLI
+
+These settings don't need to apply `--cli` on the command line.
+
+``` yaml $(cli)
+cli:
+ cli-name: desktopvirtualization
+```
diff --git a/specification/desktopvirtualization/resource-manager/readme.go.md b/specification/desktopvirtualization/resource-manager/readme.go.md
index ec7859d8acd4..c8527d1dc4fa 100644
--- a/specification/desktopvirtualization/resource-manager/readme.go.md
+++ b/specification/desktopvirtualization/resource-manager/readme.go.md
@@ -13,6 +13,26 @@ go:
``` yaml $(go) && $(multiapi)
batch:
- tag: package-2019-01-23-preview
+ - tag: package-2019-09-24-preview
+ - tag: package-2019-12-10-preview
+```
+
+### Tag: package-2019-12-10-preview and go
+
+These settings apply only when `--tag=package-2019-12-10-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-12-10-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-12-10-preview/$(namespace)
+```
+
+### Tag: package-2019-09-24-preview and go
+
+These settings apply only when `--tag=package-2019-09-24-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-09-24-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-09-24-preview/$(namespace)
```
### Tag: package-2019-01-23-preview and go
@@ -23,3 +43,4 @@ Please also specify `--go-sdk-folder=`.
-``` yaml $(tag) == 'package-2019-01-23-preview' && $(java) && $(multiapi)
+``` yaml $(tag) == 'package-2019-12-10-preview' && $(java) && $(multiapi)
java:
- namespace: com.microsoft.azure.management.desktopvirtualization.v2019_01_23_preview
- output-folder: $(azure-libraries-for-java-folder)/sdk/desktopvirtualization/mgmt-v2019_01_23_preview
+ namespace: com.microsoft.azure.management.desktopvirtualization.v2019_12_10_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/desktopvirtualization/mgmt-v2019_12_10_preview
regenerate-manager: true
generate-interface: true
```
+
diff --git a/specification/desktopvirtualization/resource-manager/readme.md b/specification/desktopvirtualization/resource-manager/readme.md
index ba7b64dd3f4d..f925aac285c5 100644
--- a/specification/desktopvirtualization/resource-manager/readme.md
+++ b/specification/desktopvirtualization/resource-manager/readme.md
@@ -19,14 +19,12 @@ To see additional help and options, run:
## Configuration
-
-
### Basic Information
These are the global settings for the DesktopVirtualizationClient API.
``` yaml
openapi-type: arm
-tag: package-2019-01-23-preview
+tag: package-2019-12-10-preview
```
### Tag: package-2019-01-23-preview
@@ -38,11 +36,6 @@ input-file:
- Microsoft.DesktopVirtualization/preview/2019-01-23-preview/desktopvirtualization.json
```
-``` yaml
-openapi-type: arm
-tag: package-2019-09-24-preview
-```
-
### Tag: package-2019-09-24-preview
These settings apply only when `--tag=package-2019-09-24-preview` is specified on the command line.
@@ -110,13 +103,13 @@ See configuration in [readme.node.md](./readme.node.md)
## Ruby
See configuration in [readme.ruby.md](./readme.ruby.md)
-
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
-
+
+## 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
@@ -127,13 +120,13 @@ input-file:
- $(this-folder)/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/desktopvirtualization.json
- $(this-folder)/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/desktopvirtualization.json
-```
-
-If there are files that should not be in the `all-api-versions` set,
-uncomment the `exclude-file` section below and add the file paths.
-
-``` yaml $(tag) == 'all-api-versions'
-#exclude-file:
-# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
-```
-
+```
+
+If there are files that should not be in the `all-api-versions` set,
+uncomment the `exclude-file` section below and add the file paths.
+
+``` yaml $(tag) == 'all-api-versions'
+#exclude-file:
+# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
+```
+
diff --git a/specification/desktopvirtualization/resource-manager/readme.ruby.md b/specification/desktopvirtualization/resource-manager/readme.ruby.md
index da94e6d6503e..9491ec2d3560 100644
--- a/specification/desktopvirtualization/resource-manager/readme.ruby.md
+++ b/specification/desktopvirtualization/resource-manager/readme.ruby.md
@@ -3,7 +3,7 @@
These settings apply only when `--ruby` is specified on the command line.
``` yaml
-package-name: azure_mgmt_DesktopVirtualization
+package-name: azure_mgmt_desktop_virtualization
package-version: "0.16.0"
azure-arm: true
```
@@ -13,6 +13,28 @@ azure-arm: true
``` yaml $(ruby) && $(multiapi)
batch:
- tag: package-2019-01-23-preview
+ - tag: package-2019-09-24-preview
+ - tag: package-2019-12-10-preview
+```
+
+### Tag: package-2019-12-10-preview and ruby
+
+These settings apply only when `--tag=package-2019-12-10-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-12-10-preview' && $(ruby)
+namespace: "Azure::DesktopVirtualization::Mgmt::V2019_12_10_preview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_desktop_virtualization/lib
+```
+
+### Tag: package-2019-09-24-preview and ruby
+
+These settings apply only when `--tag=package-2019-09-24-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-09-24-preview' && $(ruby)
+namespace: "Azure::DesktopVirtualization::Mgmt::V2019_09_24_preview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_desktop_virtualization/lib
```
### Tag: package-2019-01-23-preview and ruby
@@ -21,6 +43,6 @@ These settings apply only when `--tag=package-2019-01-23-preview --ruby` is spec
Please also specify `--ruby-sdks-folder=`.
``` yaml $(tag) == 'package-2019-01-23-preview' && $(ruby)
-namespace: "Azure::DesktopVirtualization::Mgmt::V2017_04_24_preview"
-output-folder: $(ruby-sdks-folder)/management/azure_mgmt_DesktopVirtualization/lib
-```
+namespace: "Azure::DesktopVirtualization::Mgmt::V2019_01_23_preview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_desktop_virtualization/lib
+```
\ No newline at end of file
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/devops/resource-manager/readme.md b/specification/devops/resource-manager/readme.md
index 273f33a4855b..bf7b56068c9c 100644
--- a/specification/devops/resource-manager/readme.md
+++ b/specification/devops/resource-manager/readme.md
@@ -53,6 +53,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-python
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-trenton
- repo: azure-sdk-for-js
- repo: azure-sdk-for-ruby
after_scripts:
@@ -104,3 +105,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: devops
+ azure_arm: true
+ license_header: MICROSOFT_MIT_NO_VERSION
+ payload_flattening_threshold: 2
+ namespace: devops
+ package-name: devops
+ clear-output-folder: false
+```
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 f508d048a176..efaa727db040 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": [
@@ -836,9 +671,6 @@
{
"$ref": "#/definitions/DigitalTwinsResource"
}
- ],
- "required": [
- "sku"
]
},
"DigitalTwinsPatchDescription": {
@@ -889,7 +721,7 @@
"description": "The resource tags."
},
"sku": {
- "description": "The resource sku.",
+ "description": "This property is reserved for future use, and will be ignored/omitted",
"$ref": "#/definitions/DigitalTwinsSkuInfo"
}
},
@@ -1083,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,
@@ -1331,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": {
@@ -1399,44 +1130,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/DigitalTwinsDelete_example.json b/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsDelete_example.json
index 605145c989a6..4961b326a398 100644
--- a/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsDelete_example.json
+++ b/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsDelete_example.json
@@ -13,9 +13,6 @@
"location": "westus",
"type": "Microsoft.DigitalTwins/DigitalTwinsInstance",
"name": "myDigitalTwinsService",
- "sku": {
- "name": "F1"
- },
"properties": {
"createdTime": "2019-11-19T12:55:05.229Z",
"lastUpdatedTime": "2019-12-06T12:21:58.610Z",
diff --git a/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsGet_example.json b/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsGet_example.json
index d6faad9e8c2c..3c2d917a47e7 100644
--- a/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsGet_example.json
+++ b/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsGet_example.json
@@ -12,9 +12,6 @@
"location": "westus",
"type": "Microsoft.DigitalTwins/DigitalTwinsInstance",
"name": "myDigitalTwinsService",
- "sku": {
- "name": "F1"
- },
"properties": {
"createdTime": "2019-11-19T12:55:05.229Z",
"lastUpdatedTime": "2019-12-06T12:21:58.610Z",
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/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsListByResourceGroup_example.json b/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsListByResourceGroup_example.json
index 7c75885d58bc..7cc9457d1122 100644
--- a/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsListByResourceGroup_example.json
+++ b/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsListByResourceGroup_example.json
@@ -14,9 +14,6 @@
"location": "westus",
"type": "Microsoft.DigitalTwins/DigitalTwinsInstance",
"name": "myDigitalTwinsService",
- "sku": {
- "name": "F1"
- },
"properties": {
"createdTime": "2019-11-19T12:55:05.229Z",
"provisioningState": "Provisioning",
@@ -28,9 +25,6 @@
"location": "westus",
"type": "Microsoft.DigitalTwins/DigitalTwinsInstance",
"name": "myDigitalTwinsService2",
- "sku": {
- "name": "F1"
- },
"properties": {
"createdTime": "2019-11-19T12:55:05.229Z",
"provisioningState": "Provisioning",
diff --git a/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsList_example.json b/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsList_example.json
index 63dca7f9958e..9b5ea011dbd3 100644
--- a/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsList_example.json
+++ b/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsList_example.json
@@ -13,9 +13,6 @@
"location": "westus",
"type": "Microsoft.DigitalTwins/DigitalTwinsInstance",
"name": "myDigitalTwinsService",
- "sku": {
- "name": "F1"
- },
"properties": {
"createdTime": "2019-11-19T12:55:05.229Z",
"provisioningState": "Provisioning",
@@ -27,9 +24,6 @@
"location": "westus",
"type": "Microsoft.DigitalTwins/DigitalTwinsInstance",
"name": "myDigitalTwinsService2",
- "sku": {
- "name": "F1"
- },
"properties": {
"createdTime": "2019-11-19T12:55:05.229Z",
"provisioningState": "Provisioning",
diff --git a/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsPatch_example.json b/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsPatch_example.json
index 7c3d30d0dc1a..fcf1a7d2e56e 100644
--- a/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsPatch_example.json
+++ b/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsPatch_example.json
@@ -17,9 +17,6 @@
"location": "westus",
"type": "Microsoft.DigitalTwins/DigitalTwinsInstance",
"name": "myDigitalTwinsService",
- "sku": {
- "name": "F1"
- },
"tags": {
"purpose": "dev"
},
diff --git a/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsPut_example.json b/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsPut_example.json
index ff35dd81a970..523e94e93049 100644
--- a/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsPut_example.json
+++ b/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/preview/2020-03-01-preview/examples/DigitalTwinsPut_example.json
@@ -5,10 +5,7 @@
"resourceName": "myDigitalTwinsService",
"api-version": "2020-03-01-preview",
"digitalTwinsCreate": {
- "location": "WestUS",
- "sku": {
- "name": "F1"
- }
+ "location": "WestUS"
}
},
"responses": {
@@ -18,9 +15,6 @@
"location": "westus",
"type": "Microsoft.DigitalTwins/DigitalTwinsInstance",
"name": "myDigitalTwinsService",
- "sku": {
- "name": "F1"
- },
"properties": {
"createdTime": "2019-11-19T12:55:05.229Z",
"lastUpdatedTime": "2019-12-06T12:21:58.610Z",
@@ -35,9 +29,6 @@
"location": "westus",
"type": "Microsoft.DigitalTwins/DigitalTwinsInstance",
"name": "myDigitalTwinsService",
- "sku": {
- "name": "F1"
- },
"properties": {
"createdTime": "2019-11-19T12:55:05.229Z",
"lastUpdatedTime": "2019-12-06T12:21:58.610Z",
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 4c189d18d19f..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",
@@ -5378,7 +5394,7 @@
"type": "object",
"properties": {
"name": {
- "description": "the Sku name of the resource.\r\nthe possible values: Basic; Premium",
+ "description": "The Sku name of the resource. The possible values are: Basic or Premium.",
"enum": [
"Basic",
"Premium"
@@ -5896,9 +5912,33 @@
"modelAsString": true
}
},
+ "partnerTopicReadinessState": {
+ "description": "The readiness state of the corresponding partner topic.",
+ "enum": [
+ "NotActivatedByUserYet",
+ "ActivatedByUser",
+ "DeactivatedByUser",
+ "DeletedByUser"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "PartnerTopicReadinessState",
+ "modelAsString": true
+ }
+ },
+ "expirationTimeIfNotActivatedUtc": {
+ "format": "date-time",
+ "description": "Expiration time of the event channel. If this timer expires while the corresponding partner topic is never activated,\r\nthe event channel and corresponding partner topic are deleted.",
+ "type": "string"
+ },
"filter": {
"$ref": "#/definitions/EventChannelFilter",
"description": "Information about the filter for the event channel."
+ },
+ "partnerTopicFriendlyDescription": {
+ "description": "Friendly description about the topic. This can be set by the publisher/partner to show custom description for the customer partner topic.\r\nThis will be helpful to remove any ambiguity of the origin of creation of the partner topic for the customer.",
+ "type": "string"
}
}
},
@@ -5934,25 +5974,6 @@
"description": "Filter for the Event Channel.",
"type": "object",
"properties": {
- "subjectBeginsWith": {
- "description": "An optional string to filter events for an event channel based on a resource path prefix.\r\nThe format of this depends on the publisher of the events. Wildcard characters are not supported in this path.",
- "type": "string"
- },
- "subjectEndsWith": {
- "description": "An optional string to filter events for an event channel 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 channel. 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.",
- "type": "boolean"
- },
"advancedFilters": {
"description": "An array of advanced filters that are used for filtering event channels.",
"type": "array",
@@ -7027,7 +7048,23 @@
"type": "string"
},
"partnerResourceTypeDescription": {
- "description": "Description of the partner resource type.",
+ "description": "Short description of the partner resource type. The length of this description should not exceed 256 characters.",
+ "type": "string"
+ },
+ "longDescription": {
+ "description": "Long description for the custom scenarios and integration to be displayed in the portal if needed.\r\nLength of this description should not exceed 2048 characters.",
+ "type": "string"
+ },
+ "partnerCustomerServiceNumber": {
+ "description": "The customer service number of the publisher. The expected phone format should start with a '+' sign \r\nfollowed by the country code. The remaining digits are then followed. Only digits and spaces are allowed and its\r\nlength cannot exceed 16 digits including country code. Examples of valid phone numbers are: +1 515 123 4567 and\r\n+966 7 5115 2471. Examples of invalid phone numbers are: +1 (515) 123-4567, 1 515 123 4567 and +966 121 5115 24 7 551 1234 43",
+ "type": "string"
+ },
+ "partnerCustomerServiceExtension": {
+ "description": "The extension of the customer service number of the publisher. Only digits are allowed and number of digits should not exceed 10.",
+ "type": "string"
+ },
+ "customerServiceUri": {
+ "description": "The extension of the customer service URI of the publisher.",
"type": "string"
},
"setupUri": {
@@ -7209,6 +7246,11 @@
"description": "Source associated with this partner topic. This represents a unique partner resource.",
"type": "string"
},
+ "expirationTimeIfNotActivatedUtc": {
+ "format": "date-time",
+ "description": "Expiration time of the partner topic. If this timer expires while the partner topic is still never activated,\r\nthe partner topic and corresponding event channel are deleted.",
+ "type": "string"
+ },
"provisioningState": {
"description": "Provisioning state of the partner topic.",
"enum": [
@@ -7238,6 +7280,10 @@
"name": "PartnerTopicActivationState",
"modelAsString": true
}
+ },
+ "partnerTopicFriendlyDescription": {
+ "description": "Friendly description about the topic. This can be set by the publisher/partner to show custom description for the customer partner topic.\r\nThis will be helpful to remove any ambiguity of the origin of creation of the partner topic for the customer.",
+ "type": "string"
}
}
},
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..bc5994cc6b8e 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,7 +37,7 @@
"/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/availableClusterRegions": {
"get": {
"tags": [
- "Event Hubs Clusters"
+ "Event Hubs Clusters AvailableClusterRegions"
],
"operationId": "Clusters_ListAvailableClusters",
"x-ms-examples": {
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..1b4b44d7ff1c 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
@@ -79,7 +79,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}": {
"get": {
"tags": [
- "Event Hubs Cluster"
+ "Event Hubs Clusters"
],
"operationId": "Clusters_Get",
"x-ms-examples": {
@@ -119,7 +119,7 @@
},
"put": {
"tags": [
- "Event Hubs Cluster"
+ "Event Hubs Clusters"
],
"operationId": "Clusters_Put",
"x-ms-examples": {
@@ -169,7 +169,7 @@
},
"patch": {
"tags": [
- "Event Hubs Cluster"
+ "Event Hubs Clusters"
],
"operationId": "Clusters_Patch",
"x-ms-examples": {
@@ -228,7 +228,7 @@
},
"delete": {
"tags": [
- "Event Hubs Cluster"
+ "Event Hubs Clusters"
],
"operationId": "Clusters_Delete",
"x-ms-examples": {
@@ -274,7 +274,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}/namespaces": {
"get": {
"tags": [
- "Event Hubs Namespace Enumeration in Cluster"
+ "Event Hubs Clusters Namespace"
],
"operationId": "Clusters_ListNamespaces",
"parameters": [
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/namespaces-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/namespaces-preview.json
index 05bbaf4fe1a8..0f2174cfb648 100644
--- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/namespaces-preview.json
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/namespaces-preview.json
@@ -493,7 +493,11 @@
"x-ms-client-flatten": true,
"properties": {
"keyVaultProperties": {
- "$ref": "#/definitions/KeyVaultProperties",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KeyVaultProperties"
+ },
+ "x-ms-client-name": "KeyVaultProperties",
"description": "Properties of KeyVault"
},
"keySource": {
@@ -515,11 +519,18 @@
"properties": {
"keyName": {
"type": "string",
- "description": "Name of the Key from KeyVault"
+ "description": "Name of the Key from KeyVault",
+ "x-ms-client-name": "KeyName"
},
"keyVaultUri": {
"type": "string",
- "description": "Uri of KeyVault"
+ "description": "Uri of KeyVault",
+ "x-ms-client-name": "KeyVaultUri"
+ },
+ "keyVersion": {
+ "type": "string",
+ "description": "Key Version",
+ "x-ms-client-name": "KeyVersion"
}
},
"description": "Properties to configure keyVault Properties"
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/frontdoor/resource-manager/Microsoft.Network/stable/2020-01-01/frontdoor.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-01-01/frontdoor.json
index 1fac62bfeda9..5685f2ad81ed 100644
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-01-01/frontdoor.json
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-01-01/frontdoor.json
@@ -1254,7 +1254,7 @@
],
"x-ms-enum": {
"name": "PrivateEndpointStatus",
- "modelAsString": false
+ "modelAsString": true
}
},
"privateLinkApprovalMessage": {
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 9358ce717d11..433fd6e7fc6c 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
@@ -1262,7 +1262,7 @@
],
"x-ms-enum": {
"name": "PrivateEndpointStatus",
- "modelAsString": false
+ "modelAsString": true
}
},
"privateLinkApprovalMessage": {
diff --git a/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2020-02-07-preview/examples/HanaOperations_List.json b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2020-02-07-preview/examples/HanaOperations_List.json
new file mode 100644
index 000000000000..9b59fcbe3c96
--- /dev/null
+++ b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2020-02-07-preview/examples/HanaOperations_List.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2020-02-07-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "HanaOp1",
+ "display": {
+ "provider": "HanaOp1ProviderName",
+ "resource": "HanaOp1ResourceName",
+ "operation": "HanaOp1OperationName",
+ "description": "HanaOp1Description",
+ "origin": "HanaOp1Origin"
+ }
+ },
+ {
+ "name": "HanaOp2",
+ "display": {
+ "provider": "HanaOp2ProviderName",
+ "resource": "HanaOp2ResourceName",
+ "operation": "HanaOp2OperationName",
+ "description": "HanaOp2Description",
+ "origin": "HanaOp2Origin"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2020-02-07-preview/examples/ProviderInstances_Create.json b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2020-02-07-preview/examples/ProviderInstances_Create.json
index df9837f434fc..3fcdd421d459 100644
--- a/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2020-02-07-preview/examples/ProviderInstances_Create.json
+++ b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2020-02-07-preview/examples/ProviderInstances_Create.json
@@ -22,7 +22,8 @@
"properties": {
"type": "hana",
"properties": "{\"hostname\":\"10.0.0.10\",\"dbName\":\"SYSTEMDB\",\"sqlPort\":30015,\"dbUsername\":\"SYSTEM\"}",
- "metadata": "{\"key\":\"value\"}"
+ "metadata": "{\"key\":\"value\"}",
+ "provisioningState": "Accepted"
}
}
},
@@ -34,7 +35,8 @@
"properties": {
"type": "hana",
"properties": "{\"hostname\":\"10.0.0.10\",\"dbName\":\"SYSTEMDB\",\"sqlPort\":30015,\"dbUsername\":\"SYSTEM\"}",
- "metadata": "{\"key\":\"value\"}"
+ "metadata": "{\"key\":\"value\"}",
+ "provisioningState": "Accepted"
}
}
}
diff --git a/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2020-02-07-preview/hanaonazure.json b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2020-02-07-preview/hanaonazure.json
index 5f24eddee896..a1567dab1709 100644
--- a/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2020-02-07-preview/hanaonazure.json
+++ b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2020-02-07-preview/hanaonazure.json
@@ -27,6 +27,48 @@
}
},
"paths": {
+ "/providers/Microsoft.HanaOnAzure/operations": {
+ "get": {
+ "tags": [
+ "HanaOnAzure"
+ ],
+ "operationId": "Operations_List",
+ "description": "Gets a list of SAP HANA management operations.",
+ "x-ms-examples": {
+ "List all HANA management operations supported by HANA RP": {
+ "$ref": "./examples/HanaOperations_List.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/providers/Microsoft.HanaOnAzure/sapMonitors": {
"get": {
"tags": [
@@ -514,6 +556,65 @@
}
]
},
+ "OperationList": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of HANA operations"
+ }
+ },
+ "description": "List of HANA operations"
+ },
+ "Operation": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the operation being performed on this particular object. This name should match the action name that appears in RBAC / the event service."
+ },
+ "display": {
+ "$ref": "#/definitions/Display",
+ "description": "Displayed HANA operation information"
+ }
+ },
+ "description": "HANA operation information"
+ },
+ "Display": {
+ "type": "object",
+ "properties": {
+ "provider": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The localized friendly form of the resource provider name. This form is also expected to include the publisher/company responsible. Use Title Casing. Begin with \"Microsoft\" for 1st party services."
+ },
+ "resource": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The localized friendly form of the resource type related to this action/operation. This form should match the public documentation for the resource provider. Use Title Casing. For examples, refer to the “name” section."
+ },
+ "operation": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The localized friendly name for the operation as shown to the user. This name should be concise (to fit in drop downs), but clear (self-documenting). Use Title Casing and include the entity/resource to which it applies."
+ },
+ "description": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The localized friendly description for the operation as shown to the user. This description should be thorough, yet concise. It will be used in tool-tips and detailed views."
+ },
+ "origin": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX. Default value is 'user,system'"
+ }
+ },
+ "description": "Detailed HANA operation information"
+ },
"ErrorResponse": {
"description": "Describes the format of Error response.",
"type": "object",
@@ -647,24 +748,6 @@
"x-ms-client-flatten": true,
"$ref": "#/definitions/ProviderInstanceProperties",
"description": "Provider Instance properties"
- },
- "provisioningState": {
- "readOnly": true,
- "type": "string",
- "enum": [
- "Accepted",
- "Creating",
- "Updating",
- "Failed",
- "Succeeded",
- "Deleting",
- "Migrating"
- ],
- "x-ms-enum": {
- "name": "HanaProvisioningStatesEnum",
- "modelAsString": true
- },
- "description": "State of provisioning of the provider instance"
}
},
"allOf": [
@@ -687,6 +770,24 @@
"metadata": {
"type": "string",
"description": "A JSON string containing metadata of the provider instance."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Accepted",
+ "Creating",
+ "Updating",
+ "Failed",
+ "Succeeded",
+ "Deleting",
+ "Migrating"
+ ],
+ "x-ms-enum": {
+ "name": "HanaProvisioningStatesEnum",
+ "modelAsString": true
+ },
+ "description": "State of provisioning of the provider instance"
}
},
"description": "Describes the properties of a provider instance."
diff --git a/specification/hanaonazure/resource-manager/readme.md b/specification/hanaonazure/resource-manager/readme.md
index e44a10cc10b4..301fed2c8de8 100644
--- a/specification/hanaonazure/resource-manager/readme.md
+++ b/specification/hanaonazure/resource-manager/readme.md
@@ -28,7 +28,7 @@ These are the global settings for the HANA on Azure API.
title: HanaManagementClient
description: HANA on Azure Client
openapi-type: arm
-tag: package-2017-11
+tag: package-2020-02-07-preview
azure-arm: true
```
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/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/healthcare-apis.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/healthcare-apis.json
index 7d276651d131..2406d481db5a 100644
--- a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/healthcare-apis.json
+++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/healthcare-apis.json
@@ -483,15 +483,11 @@
"$ref": "#/definitions/ServiceCorsConfigurationInfo",
"description": "The settings for the CORS configuration of the service instance."
}
- },
- "required": [
- "accessPolicies"
- ]
+ }
},
"ServiceAccessPoliciesInfo": {
"description": "The access policies of the service instance.",
"type": "array",
- "minItems": 1,
"items": {
"$ref": "#/definitions/ServiceAccessPolicyEntry"
}
diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/healthcare-apis.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/healthcare-apis.json
index 6bd8b71ec5ae..1a83f1c8eedc 100644
--- a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/healthcare-apis.json
+++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2019-09-16/healthcare-apis.json
@@ -490,15 +490,11 @@
"$ref": "#/definitions/ServiceExportConfigurationInfo",
"description": "The settings for the export operation of the service instance."
}
- },
- "required": [
- "accessPolicies"
- ]
+ }
},
"ServiceAccessPoliciesInfo": {
"description": "The access policies of the service instance.",
"type": "array",
- "minItems": 1,
"items": {
"$ref": "#/definitions/ServiceAccessPolicyEntry"
}
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/hybridkubernetes/resource-manager/readme.go.md b/specification/hybridkubernetes/resource-manager/readme.go.md
index d8aa1554afc0..b5fd96488df7 100644
--- a/specification/hybridkubernetes/resource-manager/readme.go.md
+++ b/specification/hybridkubernetes/resource-manager/readme.go.md
@@ -8,6 +8,13 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2020-01-01-preview
+```
+
### Tag: package-2020-01-01-preview and go
These settings apply only when `--tag=package-2020-01-01-preview --go` is specified on the command line.
diff --git a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/stable/2020-02-14/imagebuilder.json b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/stable/2020-02-14/imagebuilder.json
index bcd147e1d277..bf5741fa8dd5 100644
--- a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/stable/2020-02-14/imagebuilder.json
+++ b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/stable/2020-02-14/imagebuilder.json
@@ -879,7 +879,7 @@
],
"x-ms-enum": {
"name": "SharedImageStorageAccountType",
- "modelAsString": false
+ "modelAsString": true
},
"description": "Storage account type to be used to store the shared image. Omit to use the default (Standard_LRS)."
}
diff --git a/specification/imagebuilder/resource-manager/readme.go.md b/specification/imagebuilder/resource-manager/readme.go.md
index 93711868114b..c006a0d7bdcf 100644
--- a/specification/imagebuilder/resource-manager/readme.go.md
+++ b/specification/imagebuilder/resource-manager/readme.go.md
@@ -12,11 +12,21 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2020-02
- tag: package-2018-02
- tag: package-2019-02
- tag: package-preview-2019-05
```
+### Tag: package-2020-02
+
+These settings apply only when `--tag=package-2020-02 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-02' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-02-01/$(namespace)
+```
+
### Tag: package-2018-02
These settings apply only when `--tag=package-2018-02 --go` is specified on the command line.
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/modules_commands_send.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/modules_commands_send.json
new file mode 100644
index 000000000000..3b9d697a25f8
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/modules_commands_send.json
@@ -0,0 +1,26 @@
+{
+ "title": "Send command",
+ "description": "Send a command to a device.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "device_id": "mx1",
+ "module_name": "Camera",
+ "component_name": "componentA",
+ "command_name": "Reboot",
+ "body": {
+ "request": {
+ "SafeMode": true
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "request": {
+ "SafeMode": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/modules_commandshistory_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/modules_commandshistory_get.json
new file mode 100644
index 000000000000..691d91a1f005
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/modules_commandshistory_get.json
@@ -0,0 +1,24 @@
+{
+ "title": "Get command history within a module",
+ "description": "Get the most recent invocaion of a command from within a module.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "device_id": "mx1",
+ "module_name": "camera",
+ "component_name": "componentA",
+ "command_name": "AdjustFrameRate"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "response": "Success",
+ "responseCode": 200
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/modules_properties_components_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/modules_properties_components_get.json
new file mode 100644
index 000000000000..8bbd4a655aab
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/modules_properties_components_get.json
@@ -0,0 +1,32 @@
+{
+ "title": "Get device properties",
+ "description": "Get the current values of all device properties.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "device_id": "mx1",
+ "module_name": "module_env",
+ "component_name": "componentA"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "SensitivityDial": 50,
+ "Status": 66.82181229066656,
+ "$metadata": {
+ "SensitivityDial": {
+ "desiredValue": 50,
+ "desiredVersion": 3,
+ "ackVersion": 1,
+ "ackDescription": "Ok",
+ "ackCode": 200,
+ "lastUpdateTime": "2020-04-27T22:08:55.1149957Z"
+ },
+ "Status": {
+ "lastUpdateTime": "2020-04-27T22:09:25.1151948Z"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/modules_properties_components_set.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/modules_properties_components_set.json
new file mode 100644
index 000000000000..893cd68093bd
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/modules_properties_components_set.json
@@ -0,0 +1,31 @@
+{
+ "title": "Update properties of a module within a component",
+ "description": "Update the values of read-write properties of a module within a single component",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "device_id": "mx1",
+ "module_name": "module_env",
+ "component_name": "componentA",
+ "body": {
+ "SensitivityDial": 300
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "SensitivityDial": 50,
+ "$metadata": {
+ "SensitivityDial": {
+ "desiredValue": 300,
+ "desiredVersion": 3,
+ "ackVersion": 1,
+ "ackDescription": "Ok",
+ "ackCode": 200,
+ "lastUpdateTime": "2020-04-27T22:08:55.1149957Z"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/modules_properties_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/modules_properties_get.json
new file mode 100644
index 000000000000..9c90e967c92f
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/modules_properties_get.json
@@ -0,0 +1,33 @@
+{
+ "title": "Get properties of a module",
+ "description": "Get the current values of all device properties within a module.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "device_id": "mx1",
+ "module_name": "module_env"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "componentA": {
+ "SensitivityDial": 50,
+ "Status": 25.494280816287844,
+ "$metadata": {
+ "SensitivityDial": {
+ "desiredValue": 50,
+ "desiredVersion": 3,
+ "ackVersion": 1,
+ "ackDescription": "Ok",
+ "ackCode": 200,
+ "lastUpdateTime": "2020-04-27T22:08:55.1149957Z"
+ },
+ "Status": {
+ "lastUpdateTime": "2020-04-27T22:19:31.9485342Z"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/modules_properties_update.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/modules_properties_update.json
new file mode 100644
index 000000000000..3d22f4564d91
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/modules_properties_update.json
@@ -0,0 +1,34 @@
+{
+ "title": "Update properties of a module",
+ "description": "Update the values of read-write properties of a module",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "device_id": "mx1",
+ "module_name": "module_env",
+ "body": {
+ "componentA": {
+ "SensitivityDial": 200
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "componentA": {
+ "SensitivityDial": 75,
+ "$metadata": {
+ "SensitivityDial": {
+ "desiredValue": 200,
+ "desiredVersion": 3,
+ "ackVersion": 1,
+ "ackDescription": "Ok",
+ "ackCode": 200,
+ "lastUpdateTime": "2020-04-27T22:08:55.1149957Z"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/modules_telemetry_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/modules_telemetry_get.json
new file mode 100644
index 000000000000..1a858851af2d
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/modules_telemetry_get.json
@@ -0,0 +1,23 @@
+{
+ "title": "Get telemetry from a module",
+ "description": "Get the last known value of a telemetry stream from a module.",
+ "parameters": {
+ "centralDnsSuffixInPath": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "device_id": "mx1",
+ "module_name": "environment",
+ "component_name": "componentA",
+ "telemetry_name": "ambient"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": {
+ "temperature": 20.961113326000568,
+ "humidity": 24
+ },
+ "timestamp": "2020-04-16T03:24:44.84Z"
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentral.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentral.json
index 80190d5f74d3..b6f625803b3a 100644
--- a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentral.json
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentral.json
@@ -135,6 +135,112 @@
}
]
},
+ "ObjectSchema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Entity"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "fields": {
+ "description": "The property fields of this object type.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SchemaField"
+ }
+ }
+ },
+ "required": [
+ "fields"
+ ]
+ }
+ ]
+ },
+ "EnumSchema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Entity"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "valueSchema": {
+ "description": "The schema for values of this enum type."
+ },
+ "enumValues": {
+ "description": "The discreet named values of this enum type.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnumValue"
+ }
+ }
+ },
+ "required": [
+ "valueSchema",
+ "enumValues"
+ ]
+ }
+ ]
+ },
+ "EnumValue": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/NamedEntity"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "enumValue": {
+ "description": "The resolved value of this enum entry."
+ }
+ },
+ "required": [
+ "enumValue"
+ ]
+ }
+ ]
+ },
+ "MapSchema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Entity"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "mapKey": {
+ "description": "The schema for keys of this map type."
+ },
+ "mapValue": {
+ "description": "The schema for values of this map type."
+ }
+ },
+ "required": [
+ "mapKey",
+ "mapValue"
+ ]
+ }
+ ]
+ },
+ "ArraySchema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Entity"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "elementSchema": {
+ "description": "The schema for values of this array type."
+ }
+ },
+ "required": [
+ "elementSchema"
+ ]
+ }
+ ]
+ },
"SchemaField": {
"allOf": [
{
@@ -222,9 +328,7 @@
"target": {
"description": "The target capability models for this relationship.",
"type": "array",
- "items": {
- "type": "string"
- },
+ "items": {},
"minItems": 1
},
"maxMultiplicity": {
@@ -266,14 +370,17 @@
"description": "The interface used by this component.",
"$ref": "#/definitions/Interface"
}
- }
+ },
+ "required": [
+ "schema"
+ ]
}
]
},
"CapabilityModel": {
"allOf": [
{
- "$ref": "#/definitions/Entity"
+ "$ref": "#/definitions/Interface"
},
{
"type": "object",
@@ -284,13 +391,6 @@
"items": {
"$ref": "#/definitions/Component"
}
- },
- "contents": {
- "description": "The relationships contained by the capability model.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Capability"
- }
}
}
}
@@ -452,10 +552,7 @@
"type": "boolean",
"readOnly": true
}
- },
- "required": [
- "instanceOf"
- ]
+ }
},
"DeviceCollection": {
"type": "object",
@@ -478,8 +575,8 @@
},
"DeviceCloudProperties": {
"description": "Cloud property values associated with the device.",
- "type": "object",
- "additionalProperties": true
+ "additionalProperties": true,
+ "type": "object"
},
"DeviceCommand": {
"type": "object",
@@ -548,8 +645,7 @@
},
"DeviceProperties": {
"description": "Property values associated with the device.",
- "type": "object",
- "additionalProperties": true
+ "type": "object"
},
"DeviceTelemetry": {
"type": "object",
@@ -859,7 +955,11 @@
"value": {
"description": "The initial value of the capability."
}
- }
+ },
+ "required": [
+ "capability",
+ "value"
+ ]
}
]
},
@@ -891,7 +991,10 @@
"description": "Visualization details for the referenced capability.",
"$ref": "#/definitions/ValueDetail"
}
- }
+ },
+ "required": [
+ "capability"
+ ]
}
]
},
@@ -992,7 +1095,11 @@
"description": "The name of the capability being referenced.",
"type": "string"
}
- }
+ },
+ "required": [
+ "component",
+ "reference"
+ ]
}
]
}
@@ -1654,17 +1761,12 @@
"$ref": "#/parameters/ComponentName"
},
{
- "in": "path",
- "name": "command_name",
- "description": "Name of this device command.",
- "x-ms-parameter-location": "method",
- "type": "string",
- "required": true
+ "$ref": "#/parameters/CommandName"
}
],
"get": {
- "operationId": "Devices_GetCommandHistory",
- "summary": "Get device command history",
+ "operationId": "Devices_GetComponentCommandHistory",
+ "summary": "Get command history for a component of the device",
"x-ms-examples": {
"Get command history": {
"$ref": "./examples/devices_commandshistory_get.json"
@@ -1683,14 +1785,71 @@
}
},
"post": {
- "operationId": "Devices_ExecuteCommand",
- "summary": "Execute a device command",
+ "operationId": "Devices_ExecuteComponentCommand",
+ "summary": "Execute a command on a component of a device",
"description": "Execute a command on a device.",
+ "parameters": [
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Device command body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DeviceCommand"
+ }
+ }
+ ],
"x-ms-examples": {
"Send command": {
"$ref": "./examples/devices_commands_send.json"
}
},
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeviceCommand"
+ }
+ }
+ }
+ }
+ },
+ "/devices/{device_id}/modules/{module_name}/components/{component_name}/commands/{command_name}": {
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeviceId"
+ },
+ {
+ "$ref": "#/parameters/ModuleName"
+ },
+ {
+ "$ref": "#/parameters/ComponentName"
+ },
+ {
+ "$ref": "#/parameters/CommandName"
+ }
+ ],
+ "get": {
+ "operationId": "Devices_GetModuleComponentCommandHistory",
+ "summary": "Get module command history",
+ "x-ms-examples": {
+ "Get command history within module": {
+ "$ref": "./examples/modules_commandshistory_get.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeviceCommandCollection"
+ }
+ }
+ }
+ },
+ "post": {
+ "operationId": "Devices_ExecuteModuleComponentCommand",
+ "summary": "Execute a module command",
+ "description": "Execute a command on a module.",
"parameters": [
{
"name": "body",
@@ -1702,6 +1861,11 @@
}
}
],
+ "x-ms-examples": {
+ "Send command to module": {
+ "$ref": "./examples/modules_commands_send.json"
+ }
+ },
"responses": {
"201": {
"description": "Success",
@@ -1845,6 +2009,121 @@
}
}
},
+ "/devices/{device_id}/modules/{module_name}/properties": {
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeviceId"
+ },
+ {
+ "$ref": "#/parameters/ModuleName"
+ }
+ ],
+ "get": {
+ "operationId": "Devices_GetModuleProperties",
+ "summary": "Get module properties",
+ "description": "Get all property values of a module.",
+ "x-ms-examples": {
+ "Get properties of a module": {
+ "$ref": "./examples/modules_properties_get.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeviceProperties"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "Devices_UpdateModuleProperties",
+ "summary": "Update module properties",
+ "description": "Update all property values of a module.",
+ "parameters": [
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Module properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DeviceProperties"
+ }
+ }
+ ],
+ "x-ms-examples": {
+ "Update properties of a module": {
+ "$ref": "./examples/modules_properties_update.json"
+ }
+ },
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeviceProperties"
+ }
+ }
+ }
+ }
+ },
+ "/devices/{device_id}/modules/{module_name}/components/{component_name}/properties": {
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeviceId"
+ },
+ {
+ "$ref": "#/parameters/ModuleName"
+ },
+ {
+ "$ref": "#/parameters/ComponentName"
+ }
+ ],
+ "get": {
+ "operationId": "Devices_GetModuleComponentProperties",
+ "summary": "Get module properties for a specific component",
+ "x-ms-examples": {
+ "Get properties of a module": {
+ "$ref": "./examples/modules_properties_components_get.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeviceProperties"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "Devices_UpdateModuleComponentProperties",
+ "summary": "Update module properties for a specific component",
+ "parameters": [
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Module properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DeviceProperties"
+ }
+ }
+ ],
+ "x-ms-examples": {
+ "Update properties of a module within a component": {
+ "$ref": "./examples/modules_properties_components_set.json"
+ }
+ },
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeviceProperties"
+ }
+ }
+ }
+ }
+ },
"/devices/{device_id}/components/{component_name}/telemetry/{telemetry_name}": {
"parameters": [
{
@@ -1854,16 +2133,11 @@
"$ref": "#/parameters/ComponentName"
},
{
- "in": "path",
- "name": "telemetry_name",
- "description": "Name of this device telemetry.",
- "x-ms-parameter-location": "method",
- "type": "string",
- "required": true
+ "$ref": "#/parameters/TelemetryName"
}
],
"get": {
- "operationId": "Devices_GetTelemetryValue",
+ "operationId": "Devices_GetComponentTelemetryValue",
"summary": "Get device telemetry value",
"x-ms-examples": {
"Get telemetry": {
@@ -1879,6 +2153,39 @@
}
}
}
+ },
+ "/devices/{device_id}/modules/{module_name}/components/{component_name}/telemetry/{telemetry_name}": {
+ "parameters": [
+ {
+ "$ref": "#/parameters/DeviceId"
+ },
+ {
+ "$ref": "#/parameters/ModuleName"
+ },
+ {
+ "$ref": "#/parameters/ComponentName"
+ },
+ {
+ "$ref": "#/parameters/TelemetryName"
+ }
+ ],
+ "get": {
+ "operationId": "Devices_GetModuleComponentTelemetryValue",
+ "summary": "Get module telemetry value",
+ "x-ms-examples": {
+ "Get telemetry from module": {
+ "$ref": "./examples/modules_telemetry_get.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeviceTelemetry"
+ }
+ }
+ }
+ }
}
},
"parameters": {
@@ -1898,6 +2205,14 @@
"type": "string",
"required": true
},
+ "ModuleName": {
+ "in": "path",
+ "name": "module_name",
+ "description": "Name of the device module.",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true
+ },
"ComponentName": {
"in": "path",
"name": "component_name",
@@ -1906,6 +2221,22 @@
"type": "string",
"required": true
},
+ "CommandName": {
+ "in": "path",
+ "name": "command_name",
+ "description": "Name of this device command.",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true
+ },
+ "TelemetryName": {
+ "in": "path",
+ "name": "telemetry_name",
+ "description": "Name of this device telemetry.",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true
+ },
"Subdomain": {
"in": "path",
"name": "subdomain",
diff --git a/specification/logic/resource-manager/readme.az.md b/specification/logic/resource-manager/readme.az.md
index 0ebc4fc8a32b..bc9b6c244824 100644
--- a/specification/logic/resource-manager/readme.az.md
+++ b/specification/logic/resource-manager/readme.az.md
@@ -11,16 +11,5 @@ az-output-folder: $(azure-cli-extension-folder)/src/logic
python-sdk-output-folder: "$(az-output-folder)/azext_logic/vendored_sdks/logic"
# uncomment following to use json instead of flatten
-#cli:
-# cli-directive:
-# - where:
-# group: 'Workflows'
-# op: 'CreateOrUpdate'
-# param: 'workflow'
-# json: true
-# - where:
-# type: 'workflow'
-# prop: 'properties'
-# flatten: false
```
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..02872517f2b7
--- /dev/null
+++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/machineLearningServices.json
@@ -0,0 +1,3590 @@
+{
+ "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"
+ ],
+ "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/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/mariadb/resource-manager/readme.go.md b/specification/mariadb/resource-manager/readme.go.md
index 42ff51dfcfc5..5655a69784ad 100644
--- a/specification/mariadb/resource-manager/readme.go.md
+++ b/specification/mariadb/resource-manager/readme.go.md
@@ -16,15 +16,6 @@ batch:
- tag: package-2018-06-01
```
-### Tag: package-2018-06-01-preview and go
-
-These settings apply only when `--tag=package-2018-06-01-preview --go` is specified on the command line.
-Please also specify `--go-sdk-folder=`.
-
-``` yaml $(tag) == 'package-2018-06-01-preview' && $(go)
-output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2018-06-01-preview/$(namespace)
-```
-
### Tag: package-2018-06-01 and go
These settings apply only when `--tag=package-2018-06-01 --go` is specified on the command line.
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/2019-02-28-preview/examples/SpatialAnchorsAccount/Patch.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/SpatialAnchorsAccount/Patch.json
index 1e0fc214422e..e8112ff12fab 100644
--- a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/SpatialAnchorsAccount/Patch.json
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/SpatialAnchorsAccount/Patch.json
@@ -6,7 +6,8 @@
"spatialAnchorsAccountName": "MyAccount",
"api-version": "2019-02-28-preview",
"spatialAnchorsAccount": {
- "Tags": {
+ "location": "eastus2euap",
+ "tags": {
"heroine": "juliet",
"hero": "romeo"
}
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-12-02-preview/examples/remote-rendering/Patch.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-12-02-preview/examples/remote-rendering/Patch.json
index a9f2fdb3f25a..5076bf958408 100644
--- a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-12-02-preview/examples/remote-rendering/Patch.json
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-12-02-preview/examples/remote-rendering/Patch.json
@@ -6,7 +6,8 @@
"accountName": "MyAccount",
"api-version": "2019-02-28-preview",
"remoteRenderingAccount": {
- "Tags": {
+ "location": "eastus2euap",
+ "tags": {
"heroine": "juliet",
"hero": "romeo"
}
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-12-02-preview/examples/spatial-anchors/Patch.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-12-02-preview/examples/spatial-anchors/Patch.json
index 7aef35795b68..abbb287a2a7c 100644
--- a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-12-02-preview/examples/spatial-anchors/Patch.json
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-12-02-preview/examples/spatial-anchors/Patch.json
@@ -6,7 +6,8 @@
"accountName": "MyAccount",
"api-version": "2019-02-28-preview",
"spatialAnchorsAccount": {
- "Tags": {
+ "location": "eastus2euap",
+ "tags": {
"heroine": "juliet",
"hero": "romeo"
}
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/common.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/common.json
new file mode 100644
index 000000000000..c80d0cacdc36
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/common.json
@@ -0,0 +1,166 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Mixed Reality",
+ "description": "Mixed Reality Resource Provider API",
+ "version": "2020-04-06-preview"
+ },
+ "paths": {},
+ "definitions": {
+ "AccountKeys": {
+ "description": "Developer Keys of account",
+ "type": "object",
+ "properties": {
+ "primaryKey": {
+ "description": "value of primary key.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "secondaryKey": {
+ "description": "value of secondary key.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "AccountKeyRegenerateRequest": {
+ "description": "Request for account key regeneration",
+ "type": "object",
+ "properties": {
+ "serial": {
+ "type": "integer",
+ "enum": [
+ 1,
+ 2
+ ],
+ "default": 1,
+ "x-ms-enum": {
+ "name": "Serial",
+ "values": [
+ {
+ "value": 1,
+ "description": "The Primary Key",
+ "name": "Primary"
+ },
+ {
+ "value": 2,
+ "description": "The Secondary Key",
+ "name": "Secondary"
+ }
+ ]
+ },
+ "description": "serial of key to be regenerated"
+ }
+ }
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ },
+ "description": "An Error response."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for displaying in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from Azure."
+ },
+ "MixedRealityAccountProperties": {
+ "description": "Common Properties shared by Mixed Reality Accounts",
+ "type": "object",
+ "properties": {
+ "accountId": {
+ "description": "unique id of certain account.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "accountDomain": {
+ "description": "Correspond domain name of certain Spatial Anchors Account",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "accountKeyRegenerateParameter": {
+ "name": "regenerate",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AccountKeyRegenerateRequest"
+ },
+ "x-ms-parameter-location": "method",
+ "description": "Required information for key regeneration."
+ },
+ "accountNameParameter": {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90,
+ "x-ms-parameter-location": "method",
+ "description": "Name of an Mixed Reality Account."
+ },
+ "apiVersionParameter": {
+ "name": "api-version",
+ "description": "The API version to be used with the HTTP request.",
+ "in": "query",
+ "required": true,
+ "type": "string"
+ },
+ "locationParameter": {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90,
+ "x-ms-parameter-location": "method",
+ "description": "The location in which uniqueness will be verified."
+ },
+ "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."
+ },
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "description": "The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000)",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ }
+}
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/proxy/CheckNameAvailabilityForLocalUniqueness.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/proxy/CheckNameAvailabilityForLocalUniqueness.json
new file mode 100644
index 000000000000..8e276cf1f807
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/proxy/CheckNameAvailabilityForLocalUniqueness.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "location": "eastus2euap",
+ "checkNameAvailability": {
+ "name": "MyAccount",
+ "type": "Microsoft.MixedReality/spatialAnchorsAccounts"
+ },
+ "api-version": " 2020-04-06-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": "false",
+ "reason": "AlreadyExists",
+ "message": "..."
+ }
+ }
+ }
+}
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/proxy/ExposingAvailableOperations.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/proxy/ExposingAvailableOperations.json
new file mode 100644
index 000000000000..553835485f5f
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/proxy/ExposingAvailableOperations.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2020-04-06-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.MixedReality/register/action",
+ "display": {
+ "provider": "Microsoft.MixedReality",
+ "resource": "Mixed Reality resource provider",
+ "operation": "Registers the Mixed Reality resource provider",
+ "description": "Registers a subscription for the Mixed Reality resource provider."
+ }
+ },
+ {
+ "name": "Microsoft.MixedReality/SpatialAnchorsAccounts/delete",
+ "display": {
+ "provider": "Microsoft.MixedReality",
+ "resource": "SpatialAnchorsAccounts",
+ "operation": "Delete Spatial Anchors Accounts",
+ "description": "Deletes the resource for Microsoft.MixedReality/SpatialAnchorsAccounts"
+ }
+ },
+ {
+ "name": "Microsoft.MixedReality/SpatialAnchorsAccounts/read",
+ "display": {
+ "provider": "Microsoft.MixedReality",
+ "resource": "SpatialAnchorsAccounts",
+ "operation": "Get Spatial Anchors Accounts",
+ "description": "Gets the resource for Microsoft.MixedReality/SpatialAnchorsAccounts"
+ }
+ },
+ {
+ "name": "Microsoft.MixedReality/SpatialAnchorsAccounts/write",
+ "display": {
+ "provider": "Microsoft.MixedReality",
+ "resource": "SpatialAnchorsAccounts",
+ "operation": "Update Spatial Anchors Accounts",
+ "description": "Updates the resource for Microsoft.MixedReality/SpatialAnchorsAccounts"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/Delete.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/Delete.json
new file mode 100644
index 000000000000..7ecc0880e495
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "resourceGroupName": "MyResourceGroup",
+ "accountName": "MyAccount",
+ "api-version": "2020-04-06-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
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
new file mode 100644
index 000000000000..c18ffeb4fd5f
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "resourceGroupName": "MyResourceGroup",
+ "accountName": "MyAccount",
+ "api-version": "2020-04-06-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "accountId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "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",
+ "type": "Microsoft.MixedReality/remoteRenderingAccounts"
+ }
+ }
+ }
+}
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
new file mode 100644
index 000000000000..2ea846f35b47
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/GetByResourceGroup.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "resourceGroupName": "MyResourceGroup",
+ "api-version": "2020-04-06-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "accountId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "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",
+ "type": "Microsoft.MixedReality/remoteRenderingAccounts"
+ },
+ {
+ "properties": {
+ "accountId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "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",
+ "type": "Microsoft.MixedReality/remoteRenderingAccounts"
+ }
+ ],
+ "nextLink": "https://aka.ms/&^FDKKAR"
+ }
+ }
+ }
+}
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
new file mode 100644
index 000000000000..421cb759c41f
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/GetBySubscription.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "api-version": "2020-04-06-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "accountId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "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",
+ "type": "Microsoft.MixedReality/remoteRenderingAccounts"
+ },
+ {
+ "properties": {
+ "accountId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "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",
+ "type": "Microsoft.MixedReality/remoteRenderingAccounts"
+ }
+ ],
+ "nextLink": "https://aka.ms/&^FDKKAR"
+ }
+ }
+ }
+}
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/ListKeys.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/ListKeys.json
new file mode 100644
index 000000000000..38846e39681b
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/ListKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "resourceGroupName": "MyResourceGroup",
+ "accountName": "MyAccount",
+ "api-version": "2020-04-06-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "vMAlcI/j25TwDs8hjTorto3JQkoiqZAXKsFq0rYnSNc=",
+ "secondaryKey": "N4umIGhJt8LgnMMMBpwFOxVOS9zpxHxSHy1TJhN3hU4="
+ }
+ }
+ }
+}
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
new file mode 100644
index 000000000000..43d46c058028
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/Patch.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "resourceGroupName": "MyResourceGroup",
+ "accountName": "MyAccount",
+ "api-version": "2020-04-06-preview",
+ "remoteRenderingAccount": {
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "location": "eastus2euap",
+ "tags": {
+ "heroine": "juliet",
+ "hero": "romeo"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "accountId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "accountDomain": "mixedreality.azure.com"
+ },
+ "tags": {
+ "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",
+ "type": "Microsoft.MixedReality/remoteRenderingAccounts"
+ }
+ }
+ }
+}
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
new file mode 100644
index 000000000000..1510036ebcc0
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/Put.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "resourceGroupName": "MyResourceGroup",
+ "accountName": "MyAccount",
+ "api-version": "2020-04-06-preview",
+ "remoteRenderingAccount": {
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "location": "eastus2euap"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "accountId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "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",
+ "type": "Microsoft.MixedReality/remoteRenderingAccounts"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "accountId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "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",
+ "type": "Microsoft.MixedReality/remoteRenderingAccounts"
+ }
+ }
+ }
+}
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/RegenerateKey.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/RegenerateKey.json
new file mode 100644
index 000000000000..0dd4c314ab6a
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/examples/remote-rendering/RegenerateKey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "resourceGroupName": "MyResourceGroup",
+ "accountName": "MyAccount",
+ "api-version": "2020-04-06-preview",
+ "regenerate": {
+ "serial": 1
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "vMAlcI/j25TwDs8hjTorto3JQkoiqZAXKsFq0rYnSNc=",
+ "secondaryKey": "N4umIGhJt8LgnMMMBpwFOxVOS9zpxHxSHy1TJhN3hU4="
+ }
+ }
+ }
+}
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/proxy.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/proxy.json
new file mode 100644
index 000000000000..d2c42198f72e
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/proxy.json
@@ -0,0 +1,254 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Mixed Reality",
+ "description": "Mixed Reality Resource Provider Proxy API",
+ "version": "2020-04-06-preview",
+ "x-ms-code-generation-settings": {
+ "name": "MixedRealityClient"
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "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.MixedReality/operations": {
+ "get": {
+ "operationId": "Operations_List",
+ "tags": [
+ "Proxy"
+ ],
+ "description": "Exposing Available Operations",
+ "x-ms-examples": {
+ "List available operations": {
+ "$ref": "./examples/proxy/ExposingAvailableOperations.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./common.json#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationPage"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./common.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.MixedReality/locations/{location}/checkNameAvailability": {
+ "post": {
+ "operationId": "CheckNameAvailabilityLocal",
+ "tags": [
+ "Proxy"
+ ],
+ "description": "Check Name Availability for local uniqueness",
+ "x-ms-examples": {
+ "CheckLocalNameAvailability": {
+ "$ref": "./examples/proxy/CheckNameAvailabilityForLocalUniqueness.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./common.json#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/checkNameAvailabilityParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./common.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CheckNameAvailabilityRequest": {
+ "description": "Check Name Availability Request",
+ "type": "object",
+ "required": [
+ "name",
+ "type"
+ ],
+ "properties": {
+ "name": {
+ "description": "Resource Name To Verify",
+ "type": "string"
+ },
+ "type": {
+ "description": "Fully qualified resource type which includes provider namespace",
+ "type": "string"
+ }
+ }
+ },
+ "CheckNameAvailabilityResponse": {
+ "description": "Check Name Availability Response",
+ "type": "object",
+ "required": [
+ "nameAvailable"
+ ],
+ "properties": {
+ "nameAvailable": {
+ "description": "if name Available",
+ "$ref": "#/definitions/NameAvailability"
+ },
+ "reason": {
+ "description": "Resource Name To Verify",
+ "$ref": "#/definitions/NameUnavailableReason"
+ },
+ "message": {
+ "description": "detail message",
+ "type": "string"
+ }
+ }
+ },
+ "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.",
+ "$ref": "#/definitions/OperationDisplay"
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "The object that represents the operation.",
+ "type": "object",
+ "required": [
+ "provider",
+ "resource",
+ "operation",
+ "description"
+ ],
+ "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"
+ }
+ }
+ },
+ "NameAvailability": {
+ "description": "Whether or not the name is available.",
+ "type": "string",
+ "enum": [
+ "true",
+ "false"
+ ],
+ "x-ms-enum": {
+ "name": "NameAvailability",
+ "modelAsString": true
+ }
+ },
+ "NameUnavailableReason": {
+ "description": "reason of name unavailable.",
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "x-ms-enum": {
+ "name": "NameUnavailableReason",
+ "modelAsString": true
+ }
+ },
+ "OperationPage": {
+ "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."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "checkNameAvailabilityParameter": {
+ "name": "checkNameAvailability",
+ "description": "Check Name Availability Request.",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityRequest"
+ },
+ "required": true,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
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
new file mode 100644
index 000000000000..06252e3239b5
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2020-04-06-preview/remote-rendering.json
@@ -0,0 +1,435 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Mixed Reality",
+ "description": "Mixed Reality Resource Provider Remote Rendering Resource API",
+ "version": "2020-04-06-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.MixedReality/remoteRenderingAccounts": {
+ "get": {
+ "operationId": "RemoteRenderingAccounts_ListBySubscription",
+ "tags": [
+ "Resource",
+ "Proxy"
+ ],
+ "description": "List Remote Rendering Accounts by Subscription",
+ "x-ms-examples": {
+ "List remote rendering accounts by subscription": {
+ "$ref": "./examples/remote-rendering/GetBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./common.json#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RemoteRenderingAccountPage"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./common.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MixedReality/remoteRenderingAccounts": {
+ "get": {
+ "operationId": "RemoteRenderingAccounts_ListByResourceGroup",
+ "tags": [
+ "Resource"
+ ],
+ "description": "List Resources by Resource Group",
+ "x-ms-examples": {
+ "List remote rendering accounts by resource group": {
+ "$ref": "./examples/remote-rendering/GetByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./common.json#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RemoteRenderingAccountPage"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./common.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MixedReality/remoteRenderingAccounts/{accountName}": {
+ "delete": {
+ "operationId": "RemoteRenderingAccounts_Delete",
+ "tags": [
+ "Resource"
+ ],
+ "description": "Delete a Remote Rendering Account.",
+ "x-ms-examples": {
+ "Delete remote rendering account": {
+ "$ref": "./examples/remote-rendering/Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./common.json#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./common.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "RemoteRenderingAccounts_Get",
+ "tags": [
+ "Resource"
+ ],
+ "description": "Retrieve a Remote Rendering Account.",
+ "x-ms-examples": {
+ "Get remote rendering account": {
+ "$ref": "./examples/remote-rendering/Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./common.json#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RemoteRenderingAccount"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./common.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "operationId": "RemoteRenderingAccounts_Update",
+ "tags": [
+ "Resource"
+ ],
+ "description": "Updating a Remote Rendering Account",
+ "x-ms-examples": {
+ "Update remote rendering account": {
+ "$ref": "./examples/remote-rendering/Patch.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./common.json#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/remoteRenderingAccountParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RemoteRenderingAccount"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./common.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "RemoteRenderingAccounts_Create",
+ "tags": [
+ "Resource"
+ ],
+ "description": "Creating or Updating a Remote Rendering Account.",
+ "x-ms-examples": {
+ "Create remote rendering account": {
+ "$ref": "./examples/remote-rendering/Put.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./common.json#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/remoteRenderingAccountParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RemoteRenderingAccount"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/RemoteRenderingAccount"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./common.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MixedReality/remoteRenderingAccounts/{accountName}/listKeys": {
+ "post": {
+ "operationId": "RemoteRenderingAccounts_ListKeys",
+ "tags": [
+ "Key"
+ ],
+ "description": "List Both of the 2 Keys of a Remote Rendering Account",
+ "x-ms-examples": {
+ "List remote rendering account key": {
+ "$ref": "./examples/remote-rendering/ListKeys.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./common.json#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./common.json#/definitions/AccountKeys"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./common.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MixedReality/remoteRenderingAccounts/{accountName}/regenerateKeys": {
+ "post": {
+ "operationId": "RemoteRenderingAccounts_RegenerateKeys",
+ "tags": [
+ "Key"
+ ],
+ "description": "Regenerate specified Key of a Remote Rendering Account",
+ "x-ms-examples": {
+ "Regenerate remote rendering account keys": {
+ "$ref": "./examples/remote-rendering/RegenerateKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./common.json#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/accountKeyRegenerateParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./common.json#/definitions/AccountKeys"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./common.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "RemoteRenderingAccount": {
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "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.",
+ "$ref": "./common.json#/definitions/MixedRealityAccountProperties"
+ }
+ }
+ },
+ "RemoteRenderingAccountPage": {
+ "description": "Result of the request to get resource collection. It contains a list of resources and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RemoteRenderingAccount"
+ },
+ "description": "List of resources supported by the Resource Provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of resource list results if there are any."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "remoteRenderingAccountParameter": {
+ "name": "remoteRenderingAccount",
+ "description": "Remote Rendering Account parameter.",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/RemoteRenderingAccount"
+ },
+ "required": true,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/common.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/common.json
new file mode 100644
index 000000000000..915b4cc8aae6
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/common.json
@@ -0,0 +1,166 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Mixed Reality",
+ "description": "Mixed Reality Resource Provider API",
+ "version": "2020-05-01"
+ },
+ "paths": {},
+ "definitions": {
+ "AccountKeys": {
+ "description": "Developer Keys of account",
+ "type": "object",
+ "properties": {
+ "primaryKey": {
+ "description": "value of primary key.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "secondaryKey": {
+ "description": "value of secondary key.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "AccountKeyRegenerateRequest": {
+ "description": "Request for account key regeneration",
+ "type": "object",
+ "properties": {
+ "serial": {
+ "type": "integer",
+ "enum": [
+ 1,
+ 2
+ ],
+ "default": 1,
+ "x-ms-enum": {
+ "name": "Serial",
+ "values": [
+ {
+ "value": 1,
+ "description": "The Primary Key",
+ "name": "Primary"
+ },
+ {
+ "value": 2,
+ "description": "The Secondary Key",
+ "name": "Secondary"
+ }
+ ]
+ },
+ "description": "serial of key to be regenerated"
+ }
+ }
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ },
+ "description": "An Error response."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for displaying in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from Azure."
+ },
+ "MixedRealityAccountProperties": {
+ "description": "Common Properties shared by Mixed Reality Accounts",
+ "type": "object",
+ "properties": {
+ "accountId": {
+ "description": "unique id of certain account.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "accountDomain": {
+ "description": "Correspond domain name of certain Spatial Anchors Account",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "accountKeyRegenerateParameter": {
+ "name": "regenerate",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AccountKeyRegenerateRequest"
+ },
+ "x-ms-parameter-location": "method",
+ "description": "Required information for key regeneration."
+ },
+ "accountNameParameter": {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90,
+ "x-ms-parameter-location": "method",
+ "description": "Name of an Mixed Reality Account."
+ },
+ "apiVersionParameter": {
+ "name": "api-version",
+ "description": "The API version to be used with the HTTP request.",
+ "in": "query",
+ "required": true,
+ "type": "string"
+ },
+ "locationParameter": {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90,
+ "x-ms-parameter-location": "method",
+ "description": "The location in which uniqueness will be verified."
+ },
+ "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."
+ },
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "description": "The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000)",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ }
+}
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/proxy/CheckNameAvailabilityForLocalUniqueness.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/proxy/CheckNameAvailabilityForLocalUniqueness.json
new file mode 100644
index 000000000000..f7dc975be35d
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/proxy/CheckNameAvailabilityForLocalUniqueness.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "location": "eastus2euap",
+ "checkNameAvailability": {
+ "name": "MyAccount",
+ "type": "Microsoft.MixedReality/spatialAnchorsAccounts"
+ },
+ "api-version": "2020-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": "false",
+ "reason": "AlreadyExists",
+ "message": "..."
+ }
+ }
+ }
+}
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/proxy/ExposingAvailableOperations.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/proxy/ExposingAvailableOperations.json
new file mode 100644
index 000000000000..6e91f11e7489
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/proxy/ExposingAvailableOperations.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.MixedReality/register/action",
+ "display": {
+ "provider": "Microsoft.MixedReality",
+ "resource": "Mixed Reality resource provider",
+ "operation": "Registers the Mixed Reality resource provider",
+ "description": "Registers a subscription for the Mixed Reality resource provider."
+ }
+ },
+ {
+ "name": "Microsoft.MixedReality/SpatialAnchorsAccounts/delete",
+ "display": {
+ "provider": "Microsoft.MixedReality",
+ "resource": "SpatialAnchorsAccounts",
+ "operation": "Delete Spatial Anchors Accounts",
+ "description": "Deletes the resource for Microsoft.MixedReality/SpatialAnchorsAccounts"
+ }
+ },
+ {
+ "name": "Microsoft.MixedReality/SpatialAnchorsAccounts/read",
+ "display": {
+ "provider": "Microsoft.MixedReality",
+ "resource": "SpatialAnchorsAccounts",
+ "operation": "Get Spatial Anchors Accounts",
+ "description": "Gets the resource for Microsoft.MixedReality/SpatialAnchorsAccounts"
+ }
+ },
+ {
+ "name": "Microsoft.MixedReality/SpatialAnchorsAccounts/write",
+ "display": {
+ "provider": "Microsoft.MixedReality",
+ "resource": "SpatialAnchorsAccounts",
+ "operation": "Update Spatial Anchors Accounts",
+ "description": "Updates the resource for Microsoft.MixedReality/SpatialAnchorsAccounts"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/spatial-anchors/Delete.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/spatial-anchors/Delete.json
new file mode 100644
index 000000000000..7e1516910713
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/spatial-anchors/Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "resourceGroupName": "MyResourceGroup",
+ "accountName": "MyAccount",
+ "api-version": "2020-05-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/spatial-anchors/Get.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/spatial-anchors/Get.json
new file mode 100644
index 000000000000..eaa3018df30d
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/spatial-anchors/Get.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "resourceGroupName": "MyResourceGroup",
+ "accountName": "MyAccount",
+ "api-version": "2020-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "accountId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "accountDomain": "mixedreality.azure.com"
+ },
+ "tags": {},
+ "location": "eastus2euap",
+ "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.MixedReality/spatialAnchorsAccounts/MyAccount",
+ "name": "MyAccount",
+ "type": "Microsoft.MixedReality/spatialAnchorsAccounts"
+ }
+ }
+ }
+}
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/spatial-anchors/GetByResourceGroup.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/spatial-anchors/GetByResourceGroup.json
new file mode 100644
index 000000000000..899fddb72ab4
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/spatial-anchors/GetByResourceGroup.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "resourceGroupName": "MyResourceGroup",
+ "api-version": "2020-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "accountId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "accountDomain": "mixedreality.azure.com"
+ },
+ "tags": {},
+ "location": "eastus2euap",
+ "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.MixedReality/spatialAnchorsAccounts/alpha",
+ "name": "alpha",
+ "type": "Microsoft.MixedReality/spatialAnchorsAccounts"
+ },
+ {
+ "properties": {
+ "accountId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "accountDomain": "mixedreality.azure.com"
+ },
+ "tags": {},
+ "location": "eastus2euap",
+ "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.MixedReality/spatialAnchorsAccounts/omega",
+ "name": "omega",
+ "type": "Microsoft.MixedReality/spatialAnchorsAccounts"
+ }
+ ],
+ "nextLink": "https://aka.ms/&^FDKKAR"
+ }
+ }
+ }
+}
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/spatial-anchors/GetBySubscription.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/spatial-anchors/GetBySubscription.json
new file mode 100644
index 000000000000..1e74a97d9e46
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/spatial-anchors/GetBySubscription.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "api-version": "2020-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "accountId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "accountDomain": "mixedreality.azure.com"
+ },
+ "tags": {},
+ "location": "eastus2euap",
+ "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.MixedReality/spatialAnchorsAccounts/alpha",
+ "name": "alpha",
+ "type": "Microsoft.MixedReality/spatialAnchorsAccounts"
+ },
+ {
+ "properties": {
+ "accountId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "accountDomain": "mixedreality.azure.com"
+ },
+ "tags": {},
+ "location": "eastus2euap",
+ "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.MixedReality/spatialAnchorsAccounts/omega",
+ "name": "omega",
+ "type": "Microsoft.MixedReality/spatialAnchorsAccounts"
+ }
+ ],
+ "nextLink": "https://aka.ms/&^FDKKAR"
+ }
+ }
+ }
+}
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/spatial-anchors/ListKeys.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/spatial-anchors/ListKeys.json
new file mode 100644
index 000000000000..75a805e0cd0e
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/spatial-anchors/ListKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "resourceGroupName": "MyResourceGroup",
+ "accountName": "MyAccount",
+ "api-version": "2020-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "vMAlcI/j25TwDs8hjTorto3JQkoiqZAXKsFq0rYnSNc=",
+ "secondaryKey": "N4umIGhJt8LgnMMMBpwFOxVOS9zpxHxSHy1TJhN3hU4="
+ }
+ }
+ }
+}
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/spatial-anchors/Patch.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/spatial-anchors/Patch.json
new file mode 100644
index 000000000000..390479971e22
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/spatial-anchors/Patch.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "resourceGroupName": "MyResourceGroup",
+ "accountName": "MyAccount",
+ "api-version": "2020-05-01",
+ "spatialAnchorsAccount": {
+ "location": "eastus2euap",
+ "tags": {
+ "heroine": "juliet",
+ "hero": "romeo"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "accountId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "accountDomain": "mixedreality.azure.com"
+ },
+ "tags": {
+ "heroine": "juliet",
+ "hero": "romeo"
+ },
+ "location": "eastus2euap",
+ "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.MixedReality/spatialAnchorsAccounts/MyAccount",
+ "name": "MyAccount",
+ "type": "Microsoft.MixedReality/spatialAnchorsAccounts"
+ }
+ }
+ }
+}
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/spatial-anchors/Put.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/spatial-anchors/Put.json
new file mode 100644
index 000000000000..0ee5930a7060
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/spatial-anchors/Put.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "resourceGroupName": "MyResourceGroup",
+ "accountName": "MyAccount",
+ "api-version": "2020-05-01",
+ "spatialAnchorsAccount": {
+ "location": "eastus2euap"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "accountId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "accountDomain": "mixedreality.azure.com"
+ },
+ "tags": {},
+ "location": "eastus2euap",
+ "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.MixedReality/spatialAnchorsAccounts/MyAccount",
+ "name": "MyAccount",
+ "type": "Microsoft.MixedReality/spatialAnchorsAccounts"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "accountId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "accountDomain": "mixedreality.azure.com"
+ },
+ "tags": {},
+ "location": "eastus2euap",
+ "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.MixedReality/spatialAnchorsAccounts/MyAccount",
+ "name": "MyAccount",
+ "type": "Microsoft.MixedReality/spatialAnchorsAccounts"
+ }
+ }
+ }
+}
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/spatial-anchors/RegenerateKey.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/spatial-anchors/RegenerateKey.json
new file mode 100644
index 000000000000..e96b4b0172fd
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/examples/spatial-anchors/RegenerateKey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "resourceGroupName": "MyResourceGroup",
+ "accountName": "MyAccount",
+ "api-version": "2020-05-01",
+ "regenerate": {
+ "serial": 1
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "vMAlcI/j25TwDs8hjTorto3JQkoiqZAXKsFq0rYnSNc=",
+ "secondaryKey": "N4umIGhJt8LgnMMMBpwFOxVOS9zpxHxSHy1TJhN3hU4="
+ }
+ }
+ }
+}
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/proxy.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/proxy.json
new file mode 100644
index 000000000000..34a1c29036f5
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/proxy.json
@@ -0,0 +1,254 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Mixed Reality",
+ "description": "Mixed Reality Resource Provider Proxy API",
+ "version": "2020-05-01",
+ "x-ms-code-generation-settings": {
+ "name": "MixedRealityClient"
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "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.MixedReality/operations": {
+ "get": {
+ "operationId": "Operations_List",
+ "tags": [
+ "Proxy"
+ ],
+ "description": "Exposing Available Operations",
+ "x-ms-examples": {
+ "List available operations": {
+ "$ref": "./examples/proxy/ExposingAvailableOperations.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./common.json#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationPage"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./common.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.MixedReality/locations/{location}/checkNameAvailability": {
+ "post": {
+ "operationId": "CheckNameAvailabilityLocal",
+ "tags": [
+ "Proxy"
+ ],
+ "description": "Check Name Availability for local uniqueness",
+ "x-ms-examples": {
+ "CheckLocalNameAvailability": {
+ "$ref": "./examples/proxy/CheckNameAvailabilityForLocalUniqueness.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./common.json#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/checkNameAvailabilityParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./common.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CheckNameAvailabilityRequest": {
+ "description": "Check Name Availability Request",
+ "type": "object",
+ "required": [
+ "name",
+ "type"
+ ],
+ "properties": {
+ "name": {
+ "description": "Resource Name To Verify",
+ "type": "string"
+ },
+ "type": {
+ "description": "Fully qualified resource type which includes provider namespace",
+ "type": "string"
+ }
+ }
+ },
+ "CheckNameAvailabilityResponse": {
+ "description": "Check Name Availability Response",
+ "type": "object",
+ "required": [
+ "nameAvailable"
+ ],
+ "properties": {
+ "nameAvailable": {
+ "description": "if name Available",
+ "$ref": "#/definitions/NameAvailability"
+ },
+ "reason": {
+ "description": "Resource Name To Verify",
+ "$ref": "#/definitions/NameUnavailableReason"
+ },
+ "message": {
+ "description": "detail message",
+ "type": "string"
+ }
+ }
+ },
+ "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.",
+ "$ref": "#/definitions/OperationDisplay"
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "The object that represents the operation.",
+ "type": "object",
+ "required": [
+ "provider",
+ "resource",
+ "operation",
+ "description"
+ ],
+ "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"
+ }
+ }
+ },
+ "NameAvailability": {
+ "description": "Whether or not the name is available.",
+ "type": "string",
+ "enum": [
+ "true",
+ "false"
+ ],
+ "x-ms-enum": {
+ "name": "NameAvailability",
+ "modelAsString": true
+ }
+ },
+ "NameUnavailableReason": {
+ "description": "reason of name unavailable.",
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "x-ms-enum": {
+ "name": "NameUnavailableReason",
+ "modelAsString": true
+ }
+ },
+ "OperationPage": {
+ "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."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "checkNameAvailabilityParameter": {
+ "name": "checkNameAvailability",
+ "description": "Check Name Availability Request.",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityRequest"
+ },
+ "required": true,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/spatial-anchors.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/spatial-anchors.json
new file mode 100644
index 000000000000..d5c4f1a4d3c7
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/stable/2020-05-01/spatial-anchors.json
@@ -0,0 +1,428 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Mixed Reality",
+ "description": "Mixed Reality Resource Provider Spatial Anchors Resource API",
+ "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.MixedReality/spatialAnchorsAccounts": {
+ "get": {
+ "operationId": "SpatialAnchorsAccounts_ListBySubscription",
+ "tags": [
+ "Resource",
+ "Proxy"
+ ],
+ "description": "List Spatial Anchors Accounts by Subscription",
+ "x-ms-examples": {
+ "List spatial anchors accounts by subscription": {
+ "$ref": "./examples/spatial-anchors/GetBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./common.json#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SpatialAnchorsAccountPage"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./common.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MixedReality/spatialAnchorsAccounts": {
+ "get": {
+ "operationId": "SpatialAnchorsAccounts_ListByResourceGroup",
+ "tags": [
+ "Resource"
+ ],
+ "description": "List Resources by Resource Group",
+ "x-ms-examples": {
+ "List spatial anchor accounts by resource group": {
+ "$ref": "./examples/spatial-anchors/GetByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./common.json#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SpatialAnchorsAccountPage"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./common.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MixedReality/spatialAnchorsAccounts/{accountName}": {
+ "delete": {
+ "operationId": "SpatialAnchorsAccounts_Delete",
+ "tags": [
+ "Resource"
+ ],
+ "description": "Delete a Spatial Anchors Account.",
+ "x-ms-examples": {
+ "Delete spatial anchors account": {
+ "$ref": "./examples/spatial-anchors/Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./common.json#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./common.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "SpatialAnchorsAccounts_Get",
+ "tags": [
+ "Resource"
+ ],
+ "description": "Retrieve a Spatial Anchors Account.",
+ "x-ms-examples": {
+ "Get spatial anchors account": {
+ "$ref": "./examples/spatial-anchors/Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./common.json#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SpatialAnchorsAccount"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./common.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "operationId": "SpatialAnchorsAccounts_Update",
+ "tags": [
+ "Resource"
+ ],
+ "description": "Updating a Spatial Anchors Account",
+ "x-ms-examples": {
+ "Update spatial anchors account": {
+ "$ref": "./examples/spatial-anchors/Patch.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./common.json#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/spatialAnchorsAccountParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SpatialAnchorsAccount"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./common.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SpatialAnchorsAccounts_Create",
+ "tags": [
+ "Resource"
+ ],
+ "description": "Creating or Updating a Spatial Anchors Account.",
+ "x-ms-examples": {
+ "Create spatial anchor account": {
+ "$ref": "./examples/spatial-anchors/Put.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./common.json#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/spatialAnchorsAccountParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SpatialAnchorsAccount"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/SpatialAnchorsAccount"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./common.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MixedReality/spatialAnchorsAccounts/{accountName}/listKeys": {
+ "post": {
+ "operationId": "SpatialAnchorsAccounts_ListKeys",
+ "tags": [
+ "Key"
+ ],
+ "description": "List Both of the 2 Keys of a Spatial Anchors Account",
+ "x-ms-examples": {
+ "List spatial anchor account key": {
+ "$ref": "./examples/spatial-anchors/ListKeys.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./common.json#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./common.json#/definitions/AccountKeys"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./common.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MixedReality/spatialAnchorsAccounts/{accountName}/regenerateKeys": {
+ "post": {
+ "operationId": "SpatialAnchorsAccounts_RegenerateKeys",
+ "tags": [
+ "Key"
+ ],
+ "description": "Regenerate specified Key of a Spatial Anchors Account",
+ "x-ms-examples": {
+ "Regenerate spatial anchors account keys": {
+ "$ref": "./examples/spatial-anchors/RegenerateKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./common.json#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/accountKeyRegenerateParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./common.json#/definitions/AccountKeys"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./common.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "SpatialAnchorsAccount": {
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "SpatialAnchorsAccount Response.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Property bag.",
+ "$ref": "./common.json#/definitions/MixedRealityAccountProperties"
+ }
+ }
+ },
+ "SpatialAnchorsAccountPage": {
+ "description": "Result of the request to get resource collection. It contains a list of resources and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SpatialAnchorsAccount"
+ },
+ "description": "List of resources supported by the Resource Provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of resource list results if there are any."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "spatialAnchorsAccountParameter": {
+ "name": "spatialAnchorsAccount",
+ "description": "Spatial Anchors Account parameter.",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/SpatialAnchorsAccount"
+ },
+ "required": true,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
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 1cb78ccedaaf..ccd310b211e6 100644
--- a/specification/mixedreality/resource-manager/readme.md
+++ b/specification/mixedreality/resource-manager/readme.md
@@ -25,14 +25,44 @@ These are the global settings for the Mixed Reality Azure Resource Management Cl
title: MixedRealityClient
description: Mixed Reality Client
openapi-type: arm
-tag: package-2019-12-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.MixedReality/stable/2020-05-01/proxy.json
+- Microsoft.MixedReality/stable/2020-05-01/spatial-anchors.json
+- Microsoft.MixedReality/preview/2020-04-06-preview/remote-rendering.json
+```
+
+### 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.MixedReality/stable/2020-05-01/proxy.json
+- Microsoft.MixedReality/stable/2020-05-01/spatial-anchors.json
+```
+
+### Tag: package-2020-04-06-preview
+
+These settings apply only when `--tag=package-2020-04-06-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-04-06-preview'
+input-file:
+- Microsoft.MixedReality/preview/2020-04-06-preview/proxy.json
+- Microsoft.MixedReality/preview/2020-04-06-preview/remote-rendering.json
```
### Tag: package-2019-12-preview
-These settings apply only when `--tag=package-2019-12-preview` is specified on the command line.
+These settings apply only when `--tag=package-2019-12-02-preview` is specified on the command line.
-``` yaml $(tag) == 'package-2019-12-preview'
+``` yaml $(tag) == 'package-2019-12-02-preview'
input-file:
- Microsoft.MixedReality/preview/2019-12-02-preview/proxy.json
- Microsoft.MixedReality/preview/2019-12-02-preview/remote-rendering.json
@@ -62,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#
@@ -111,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.
@@ -123,6 +158,10 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.MixedReality/stable/2020-05-01/proxy.json
+ - $(this-folder)/Microsoft.MixedReality/stable/2020-05-01/spatial-anchors.json
+ - $(this-folder)/Microsoft.MixedReality/preview/2020-04-06-preview/remote-rendering.json
+ - $(this-folder)/Microsoft.MixedReality/preview/2020-04-06-preview/proxy.json
- $(this-folder)/Microsoft.MixedReality/preview/2019-12-02-preview/proxy.json
- $(this-folder)/Microsoft.MixedReality/preview/2019-12-02-preview/remote-rendering.json
- $(this-folder)/Microsoft.MixedReality/preview/2019-12-02-preview/spatial-anchors.json
diff --git a/specification/mysql/resource-manager/readme.go.md b/specification/mysql/resource-manager/readme.go.md
index 62df079caf6b..1ce4bf29f208 100644
--- a/specification/mysql/resource-manager/readme.go.md
+++ b/specification/mysql/resource-manager/readme.go.md
@@ -13,10 +13,20 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2020-01-01
- tag: package-2017-12-01-preview
- tag: package-2017-12-01
```
+### Tag: package-2020-01-01 and go
+
+These settings apply only when `--tag=package-2020-01-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-01-01' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-01-01/$(namespace)
+```
+
### Tag: package-2017-12-01-preview and go
These settings apply only when `--tag=package-2017-12-01-preview --go` is specified on the command line.
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/P2SVpnGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/P2SVpnGatewayGet.json
index 3fe43a9ff418..25ab4422254f 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/P2SVpnGatewayGet.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/P2SVpnGatewayGet.json
@@ -37,9 +37,6 @@
}
],
"vpnGatewayScaleUnit": 1,
- "customDnsServers": [
- "3.3.3.3"
- ],
"vpnClientConnectionHealth": {
"vpnClientConnectionsCount": 2,
"allocatedIpAddresses": [
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/P2SVpnGatewayGetConnectionHealth.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/P2SVpnGatewayGetConnectionHealth.json
index c6fb30e3278d..89134a563d71 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/P2SVpnGatewayGetConnectionHealth.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/P2SVpnGatewayGetConnectionHealth.json
@@ -37,9 +37,6 @@
}
],
"vpnGatewayScaleUnit": 1,
- "customDnsServers": [
- "3.3.3.3"
- ],
"vpnClientConnectionHealth": {
"vpnClientConnectionsCount": 2,
"allocatedIpAddresses": [
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/P2SVpnGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/P2SVpnGatewayList.json
index 430b922004bd..51239a91c833 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/P2SVpnGatewayList.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/P2SVpnGatewayList.json
@@ -38,9 +38,6 @@
}
],
"vpnGatewayScaleUnit": 1,
- "customDnsServers": [
- "3.3.3.3"
- ],
"vpnClientConnectionHealth": {
"vpnClientConnectionsCount": 2,
"allocatedIpAddresses": [
@@ -82,9 +79,6 @@
}
],
"vpnGatewayScaleUnit": 1,
- "customDnsServers": [
- "4.4.4.4"
- ],
"vpnClientConnectionHealth": {
"vpnClientConnectionsCount": 2,
"allocatedIpAddresses": [
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/P2SVpnGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/P2SVpnGatewayListByResourceGroup.json
index a0ba28a347a3..20c154092c86 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/P2SVpnGatewayListByResourceGroup.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/P2SVpnGatewayListByResourceGroup.json
@@ -36,9 +36,6 @@
}
],
"vpnGatewayScaleUnit": 1,
- "customDnsServers": [
- "3.3.3.3"
- ],
"vpnClientConnectionHealth": {
"vpnClientConnectionsCount": 2,
"allocatedIpAddresses": [
@@ -78,9 +75,6 @@
}
],
"vpnGatewayScaleUnit": 1,
- "customDnsServers": [
- "4.4.4.4"
- ],
"vpnClientConnectionHealth": {
"vpnClientConnectionsCount": 2,
"allocatedIpAddresses": [
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/P2SVpnGatewayPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/P2SVpnGatewayPut.json
index 135eb2fcbab8..3770a9117566 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/P2SVpnGatewayPut.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/P2SVpnGatewayPut.json
@@ -29,11 +29,7 @@
}
}
],
- "vpnGatewayScaleUnit": 1,
- "customDnsServers": [
- "1.1.1.1",
- "2.2.2.2"
- ]
+ "vpnGatewayScaleUnit": 1
}
}
},
@@ -69,10 +65,6 @@
}
],
"vpnGatewayScaleUnit": 1,
- "customDnsServers": [
- "1.1.1.1",
- "2.2.2.2"
- ],
"vpnClientConnectionHealth": {
"vpnClientConnectionsCount": 0,
"allocatedIpAddresses": [],
@@ -113,10 +105,6 @@
}
],
"vpnGatewayScaleUnit": 1,
- "customDnsServers": [
- "1.1.1.1",
- "2.2.2.2"
- ],
"vpnClientConnectionHealth": {
"vpnClientConnectionsCount": 0,
"allocatedIpAddresses": [],
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/P2SVpnGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/P2SVpnGatewayUpdateTags.json
index 97dd2ec39a55..0b971bd908c7 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/P2SVpnGatewayUpdateTags.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/P2SVpnGatewayUpdateTags.json
@@ -45,9 +45,6 @@
}
],
"vpnGatewayScaleUnit": 1,
- "customDnsServers": [
- "3.3.3.3"
- ],
"vpnClientConnectionHealth": {
"vpnClientConnectionsCount": 2,
"allocatedIpAddresses": [
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 1d670c5f0246..3062c1da736d 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
@@ -5194,13 +5194,6 @@
"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."
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/firewallPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/firewallPolicy.json
index 4ce2648a3e30..dd38dd5f96fe 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/firewallPolicy.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/firewallPolicy.json
@@ -1039,6 +1039,13 @@
"items": {
"type": "string"
}
+ },
+ "destinationFqdns": {
+ "type": "array",
+ "description": "List of destination FQDNs.",
+ "items": {
+ "type": "string"
+ }
}
}
},
diff --git a/specification/network/resource-manager/readme.go.md b/specification/network/resource-manager/readme.go.md
index c4252d32fa5d..a1304cfb2ee8 100644
--- a/specification/network/resource-manager/readme.go.md
+++ b/specification/network/resource-manager/readme.go.md
@@ -45,6 +45,15 @@ batch:
- tag: package-2015-05-preview
```
+### 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/$(namespace)/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/network/resource-manager/readme.java.md b/specification/network/resource-manager/readme.java.md
index 4ac565dd6d7e..2c46f72efaf5 100644
--- a/specification/network/resource-manager/readme.java.md
+++ b/specification/network/resource-manager/readme.java.md
@@ -16,6 +16,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-network
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2020-04
- tag: package-2020-03
- tag: package-2019-09
- tag: package-2019-08
@@ -25,6 +26,19 @@ batch:
- tag: package-2019-02
```
+### Tag: package-2020-04 and java
+
+These settings apply only when `--tag=package-2020-04 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2020-04' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.network.v2020_04_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/network/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/network/resource-manager/readme.md b/specification/network/resource-manager/readme.md
index deaf6d781dc4..42a9fea8514d 100644
--- a/specification/network/resource-manager/readme.md
+++ b/specification/network/resource-manager/readme.md
@@ -1826,7 +1826,7 @@ input-file:
- $(this-folder)/Microsoft.Network/stable/2019-09-01/networkProfile.json
- $(this-folder)/Microsoft.Network/stable/2019-09-01/networkSecurityGroup.json
- $(this-folder)/Microsoft.Network/stable/2019-09-01/networkWatcher.json
- - $(this-folder)/Microsoft.Network/stable/2019-06-01/networkWatcherConnectionMonitorV1.json
+ - $(this-folder)/Microsoft.Network/stable/2019-09-01/networkWatcherConnectionMonitorV1.json
- $(this-folder)/Microsoft.Network/stable/2019-09-01/operation.json
- $(this-folder)/Microsoft.Network/stable/2019-09-01/privateEndpoint.json
- $(this-folder)/Microsoft.Network/stable/2019-09-01/privateLinkService.json
@@ -1869,6 +1869,7 @@ input-file:
- $(this-folder)/Microsoft.Network/stable/2019-08-01/networkProfile.json
- $(this-folder)/Microsoft.Network/stable/2019-08-01/networkSecurityGroup.json
- $(this-folder)/Microsoft.Network/stable/2019-08-01/networkWatcher.json
+ - $(this-folder)/Microsoft.Network/stable/2019-08-01/networkWatcherConnectionMonitorV1.json
- $(this-folder)/Microsoft.Network/stable/2019-08-01/operation.json
- $(this-folder)/Microsoft.Network/stable/2019-08-01/privateEndpoint.json
- $(this-folder)/Microsoft.Network/stable/2019-08-01/privateLinkService.json
@@ -1910,6 +1911,7 @@ input-file:
- $(this-folder)/Microsoft.Network/stable/2019-07-01/networkProfile.json
- $(this-folder)/Microsoft.Network/stable/2019-07-01/networkSecurityGroup.json
- $(this-folder)/Microsoft.Network/stable/2019-07-01/networkWatcher.json
+ - $(this-folder)/Microsoft.Network/stable/2019-07-01/networkWatcherConnectionMonitorV1.json
- $(this-folder)/Microsoft.Network/stable/2019-07-01/operation.json
- $(this-folder)/Microsoft.Network/stable/2019-07-01/privateEndpoint.json
- $(this-folder)/Microsoft.Network/stable/2019-07-01/privateLinkService.json
@@ -1951,6 +1953,7 @@ input-file:
- $(this-folder)/Microsoft.Network/stable/2019-06-01/networkProfile.json
- $(this-folder)/Microsoft.Network/stable/2019-06-01/networkSecurityGroup.json
- $(this-folder)/Microsoft.Network/stable/2019-06-01/networkWatcher.json
+ - $(this-folder)/Microsoft.Network/stable/2019-06-01/networkWatcherConnectionMonitorV1.json
- $(this-folder)/Microsoft.Network/stable/2019-06-01/operation.json
- $(this-folder)/Microsoft.Network/stable/2019-06-01/privateEndpoint.json
- $(this-folder)/Microsoft.Network/stable/2019-06-01/privateLinkService.json
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..cb97364675dd 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": [
{
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..29a5022ca47c 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",
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 0f162b522214..ba83bc703b01 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
@@ -167,7 +167,7 @@
}
},
"operationId": "Workspaces_Delete",
- "description": "Deletes a workspace instance.",
+ "description": "Deletes a workspace resource. To recover the workspace, create it again with the same name, in the same subscription, resource group and location. The name is kept for 14 days and cannot be used for another workspace. To remove the workspace completely and release the name, use the force flag.",
"parameters": [
{
"$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
@@ -180,6 +180,13 @@
},
{
"$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "force",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Deletes the workspace without the recovery option. A workspace that was deleted with this flag cannot be recovered."
}
],
"responses": {
@@ -272,6 +279,75 @@
}
}
}
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.OperationalInsights/deletedWorkspaces": {
+ "get": {
+ "tags": [
+ "DeletedWorkspaces"
+ ],
+ "x-ms-examples": {
+ "WorkspacesSubscriptionList": {
+ "$ref": "./examples/WorkspacesSubscriptionList.json"
+ }
+ },
+ "operationId": "DeletedWorkspaces_List",
+ "description": "Gets recently deleted workspaces in a subscription, available for recovery.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK response definition.",
+ "schema": {
+ "$ref": "#/definitions/WorkspaceListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/deletedWorkspaces": {
+ "get": {
+ "tags": [
+ "DeletedWorkspaces"
+ ],
+ "x-ms-examples": {
+ "WorkspacesGet": {
+ "$ref": "./examples/WorkspacesListByResourceGroup.json"
+ }
+ },
+ "operationId": "DeletedWorkspaces_ListByResourceGroup",
+ "description": "Gets recently deleted workspaces in a resource group, available for recovery.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK response definition.",
+ "schema": {
+ "$ref": "#/definitions/WorkspaceListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
}
},
"definitions": {
@@ -293,6 +369,23 @@
"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",
+ "format": "date-time",
+ "description": "The last time when the sku was updated.",
+ "readOnly": true
}
},
"required": [
@@ -300,6 +393,39 @@
],
"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",
+ "format": "date-time",
+ "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
+ }
+ }
+ }
+ },
"WorkspaceProperties": {
"properties": {
"provisioningState": {
@@ -335,6 +461,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/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..0c49ad9f5aa6 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",
@@ -29,7 +31,9 @@
"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..7bbd32bc60e8 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
@@ -15,7 +15,9 @@
"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 6c2ca8c4edf8..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
```
---
@@ -133,7 +134,7 @@ 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) && !$(track2)
directive:
- from: swagger-document
where: $.info
@@ -151,12 +152,12 @@ python:
package-name: azure-mgmt-loganalytics
clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update'
+``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/loganalytics/azure-mgmt-loganalytics/azure/mgmt/loganalytics
```
-``` yaml $(python) && $(python-mode) == 'create'
+``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
python:
basic-setup-py: true
output-folder: $(python-sdks-folder)/loganalytics/azure-mgmt-loganalytics
@@ -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/Microsoft.Peering/stable/2020-04-01/examples/CheckServiceProviderAvailability.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/CheckServiceProviderAvailability.json
new file mode 100644
index 000000000000..fa2539dc946d
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/CheckServiceProviderAvailability.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "api-version": "2020-04-01",
+ "checkServiceProviderAvailabilityInput": {
+ "peeringServiceLocation": "peeringServiceLocation1",
+ "peeringServiceProvider": "peeringServiceProvider1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": "Available"
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/CreateDirectPeering.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/CreateDirectPeering.json
new file mode 100644
index 000000000000..e8624e9a3904
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/CreateDirectPeering.json
@@ -0,0 +1,169 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringName": "peeringName",
+ "api-version": "2020-04-01",
+ "peering": {
+ "sku": {
+ "name": "Basic_Direct_Free"
+ },
+ "kind": "Direct",
+ "properties": {
+ "direct": {
+ "connections": [
+ {
+ "bandwidthInMbps": 10000,
+ "sessionAddressProvider": "Peer",
+ "useForPeeringService": false,
+ "peeringDBFacilityId": 99999,
+ "bgpSession": {
+ "sessionPrefixV4": "192.168.0.0/31",
+ "sessionPrefixV6": "fd00::0/127",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "5F4CB5C7-6B43-4444-9338-9ABC72606C16"
+ },
+ {
+ "bandwidthInMbps": 10000,
+ "sessionAddressProvider": "Microsoft",
+ "useForPeeringService": true,
+ "peeringDBFacilityId": 99999,
+ "connectionIdentifier": "8AB00818-D533-4504-A25A-03A17F61201C"
+ }
+ ],
+ "peerAsn": {
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
+ },
+ "directPeeringType": "Edge"
+ },
+ "peeringLocation": "peeringLocation0"
+ },
+ "location": "eastus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Basic_Direct_Free",
+ "tier": "Basic",
+ "family": "Direct",
+ "size": "Free"
+ },
+ "kind": "Direct",
+ "properties": {
+ "direct": {
+ "connections": [
+ {
+ "bandwidthInMbps": 10000,
+ "provisionedBandwidthInMbps": 10000,
+ "sessionAddressProvider": "Peer",
+ "useForPeeringService": false,
+ "peeringDBFacilityId": 99999,
+ "connectionState": "ProvisioningFailed",
+ "bgpSession": {
+ "sessionPrefixV4": "192.168.0.0/31",
+ "sessionPrefixV6": "fd00::0/127",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "5F4CB5C7-6B43-4444-9338-9ABC72606C16",
+ "errorMessage": "IPv4 address is already configured with a different ASN"
+ },
+ {
+ "bandwidthInMbps": 10000,
+ "provisionedBandwidthInMbps": 10000,
+ "sessionAddressProvider": "Microsoft",
+ "useForPeeringService": true,
+ "peeringDBFacilityId": 99999,
+ "connectionState": "Active",
+ "bgpSession": {
+ "sessionPrefixV4": "192.168.1.0/31",
+ "sessionPrefixV6": "fd00::2/127",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "8AB00818-D533-4504-A25A-03A17F61201C"
+ }
+ ],
+ "useForPeeringService": true,
+ "peerAsn": {
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
+ },
+ "directPeeringType": "Edge"
+ },
+ "peeringLocation": "peeringLocation0",
+ "provisioningState": "Succeeded"
+ },
+ "location": "eastus",
+ "name": "peeringName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
+ "type": "Microsoft.Peering/peerings"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "name": "Basic_Direct_Free",
+ "tier": "Basic",
+ "family": "Direct",
+ "size": "Free"
+ },
+ "kind": "Direct",
+ "properties": {
+ "direct": {
+ "connections": [
+ {
+ "bandwidthInMbps": 10000,
+ "provisionedBandwidthInMbps": 0,
+ "sessionAddressProvider": "Peer",
+ "useForPeeringService": false,
+ "peeringDBFacilityId": 99999,
+ "connectionState": "PendingApproval",
+ "bgpSession": {
+ "sessionPrefixV4": "192.168.0.0/31",
+ "sessionPrefixV6": "fd00::0/127",
+ "sessionStateV4": "PendingAdd",
+ "sessionStateV6": "PendingAdd",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "5F4CB5C7-6B43-4444-9338-9ABC72606C16"
+ },
+ {
+ "bandwidthInMbps": 10000,
+ "provisionedBandwidthInMbps": 0,
+ "sessionAddressProvider": "Microsoft",
+ "useForPeeringService": true,
+ "peeringDBFacilityId": 99999,
+ "connectionState": "PendingApproval",
+ "connectionIdentifier": "8AB00818-D533-4504-A25A-03A17F61201C"
+ }
+ ],
+ "useForPeeringService": true,
+ "peerAsn": {
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
+ },
+ "directPeeringType": "Edge"
+ },
+ "peeringLocation": "peeringLocation0",
+ "provisioningState": "Succeeded"
+ },
+ "location": "eastus",
+ "name": "peeringName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
+ "type": "Microsoft.Peering/peerings"
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/CreateExchangePeering.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/CreateExchangePeering.json
new file mode 100644
index 000000000000..236bb1d470fe
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/CreateExchangePeering.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringName": "peeringName",
+ "api-version": "2020-04-01",
+ "peering": {
+ "sku": {
+ "name": "Basic_Exchange_Free"
+ },
+ "kind": "Exchange",
+ "properties": {
+ "exchange": {
+ "connections": [
+ {
+ "peeringDBFacilityId": 99999,
+ "bgpSession": {
+ "peerSessionIPv4Address": "192.168.2.1",
+ "peerSessionIPv6Address": "fd00::1",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D"
+ },
+ {
+ "peeringDBFacilityId": 99999,
+ "bgpSession": {
+ "peerSessionIPv4Address": "192.168.2.2",
+ "peerSessionIPv6Address": "fd00::2",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B"
+ }
+ ],
+ "peerAsn": {
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
+ }
+ },
+ "peeringLocation": "peeringLocation0"
+ },
+ "location": "eastus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Basic_Exchange_Free",
+ "tier": "Basic",
+ "family": "Exchange",
+ "size": "Free"
+ },
+ "kind": "Exchange",
+ "properties": {
+ "exchange": {
+ "connections": [
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "ProvisioningFailed",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.1",
+ "microsoftSessionIPv6Address": "fd00::1:1",
+ "peerSessionIPv4Address": "192.168.2.1",
+ "peerSessionIPv6Address": "fd00::1",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D",
+ "errorMessage": "IPv4 address is already configured with a different ASN"
+ },
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "Active",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.2",
+ "microsoftSessionIPv6Address": "fd00::1:2",
+ "peerSessionIPv4Address": "192.168.2.2",
+ "peerSessionIPv6Address": "fd00::2",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B"
+ }
+ ],
+ "peerAsn": {
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
+ }
+ },
+ "peeringLocation": "peeringLocation0",
+ "provisioningState": "Succeeded"
+ },
+ "location": "eastus",
+ "name": "peeringName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
+ "type": "Microsoft.Peering/peerings"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "name": "Basic_Exchange_Free",
+ "tier": "Basic",
+ "family": "Exchange",
+ "size": "Free"
+ },
+ "kind": "Exchange",
+ "properties": {
+ "exchange": {
+ "connections": [
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "PendingApproval",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.1",
+ "microsoftSessionIPv6Address": "fd00::1:1",
+ "peerSessionIPv4Address": "192.168.2.1",
+ "peerSessionIPv6Address": "fd00::1",
+ "sessionStateV4": "PendingAdd",
+ "sessionStateV6": "PendingAdd",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D"
+ },
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "PendingApproval",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.2",
+ "microsoftSessionIPv6Address": "fd00::1:2",
+ "peerSessionIPv4Address": "192.168.2.2",
+ "peerSessionIPv6Address": "fd00::2",
+ "sessionStateV4": "PendingAdd",
+ "sessionStateV6": "PendingAdd",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B"
+ }
+ ],
+ "peerAsn": {
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
+ }
+ },
+ "peeringLocation": "peeringLocation0",
+ "provisioningState": "Succeeded"
+ },
+ "location": "eastus",
+ "name": "peeringName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
+ "type": "Microsoft.Peering/peerings"
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/CreatePeerAsn.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/CreatePeerAsn.json
new file mode 100644
index 000000000000..81f98149ebc5
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/CreatePeerAsn.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "peerAsnName": "peerAsnName",
+ "api-version": "2020-04-01",
+ "peerAsn": {
+ "properties": {
+ "peerAsn": 65000,
+ "peerContactDetail": [
+ {
+ "role": "Noc",
+ "email": "noc@contoso.com",
+ "phone": "+1 (234) 567-8999"
+ },
+ {
+ "role": "Policy",
+ "email": "abc@contoso.com",
+ "phone": "+1 (234) 567-8900"
+ },
+ {
+ "role": "Technical",
+ "email": "xyz@contoso.com",
+ "phone": "+1 (234) 567-8900"
+ }
+ ],
+ "peerName": "Contoso"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "peerAsn": 65000,
+ "peerContactDetail": [
+ {
+ "role": "Noc",
+ "email": "noc@contoso.com",
+ "phone": "+1 (234) 567-8999"
+ },
+ {
+ "role": "Policy",
+ "email": "abc@contoso.com",
+ "phone": "+1 (234) 567-8900"
+ },
+ {
+ "role": "Technical",
+ "email": "xyz@contoso.com",
+ "phone": "+1 (234) 567-8900"
+ }
+ ],
+ "peerName": "Contoso",
+ "validationState": "Pending"
+ },
+ "name": "peerAsnName",
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName",
+ "type": "Microsoft.Peering/peerAsns"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "peerAsn": 65000,
+ "peerContactDetail": [
+ {
+ "role": "Noc",
+ "email": "noc@contoso.com",
+ "phone": "+1 (234) 567-8999"
+ },
+ {
+ "role": "Policy",
+ "email": "abc@contoso.com",
+ "phone": "+1 (234) 567-8900"
+ },
+ {
+ "role": "Technical",
+ "email": "xyz@contoso.com",
+ "phone": "+1 (234) 567-8900"
+ }
+ ],
+ "peerName": "Contoso",
+ "validationState": "Pending"
+ },
+ "name": "peerAsnName",
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName",
+ "type": "Microsoft.Peering/peerAsns"
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/CreatePeeringService.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/CreatePeeringService.json
new file mode 100644
index 000000000000..e79dfcffd239
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/CreatePeeringService.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringServiceName": "peeringServiceName",
+ "api-version": "2020-04-01",
+ "peeringService": {
+ "properties": {
+ "peeringServiceLocation": "state1",
+ "peeringServiceProvider": "serviceProvider1"
+ },
+ "location": "eastus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "peeringServiceLocation": "state1",
+ "peeringServiceProvider": "serviceProvider1",
+ "provisioningState": "Succeeded"
+ },
+ "location": "eastus",
+ "name": "peeringServiceName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName",
+ "type": "Microsoft.Peering/peeringServices"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "peeringServiceLocation": "state1",
+ "peeringServiceProvider": "serviceProvider1",
+ "provisioningState": "Succeeded"
+ },
+ "location": "eastus",
+ "name": "peeringServiceName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName",
+ "type": "Microsoft.Peering/peeringServices"
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/CreatePeeringServicePrefix.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/CreatePeeringServicePrefix.json
new file mode 100644
index 000000000000..e4502ffa869b
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/CreatePeeringServicePrefix.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringServiceName": "peeringServiceName",
+ "prefixName": "peeringServicePrefixName",
+ "api-version": "2020-04-01",
+ "peeringServicePrefix": {
+ "properties": {
+ "prefix": "192.168.1.0/24",
+ "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "prefix": "192.168.1.0/24",
+ "prefixValidationState": "Failed",
+ "learnedType": "None",
+ "errorMessage": "Prefix is not announced by the service provider to Microsoft.",
+ "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000",
+ "provisioningState": "Succeeded"
+ },
+ "name": "peeringServicePrefixName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName/prefixes/peeringServicePrefixName"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "prefix": "192.168.1.0/24",
+ "prefixValidationState": "Failed",
+ "learnedType": "None",
+ "errorMessage": "Prefix is not announced by the service provider to Microsoft.",
+ "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000",
+ "provisioningState": "Succeeded"
+ },
+ "name": "peeringServicePrefixName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName/prefixes/peeringServicePrefixName"
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/CreatePeeringWithExchangeRouteServer.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/CreatePeeringWithExchangeRouteServer.json
new file mode 100644
index 000000000000..f0abdcc7113b
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/CreatePeeringWithExchangeRouteServer.json
@@ -0,0 +1,134 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringName": "peeringName",
+ "api-version": "2020-04-01",
+ "peering": {
+ "sku": {
+ "name": "Premium_Direct_Free"
+ },
+ "kind": "Direct",
+ "properties": {
+ "direct": {
+ "connections": [
+ {
+ "bandwidthInMbps": 10000,
+ "sessionAddressProvider": "Peer",
+ "useForPeeringService": true,
+ "peeringDBFacilityId": 99999,
+ "bgpSession": {
+ "sessionPrefixV4": "192.168.0.0/24",
+ "microsoftSessionIPv4Address": "192.168.0.123",
+ "peerSessionIPv4Address": "192.168.0.234",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100
+ },
+ "connectionIdentifier": "5F4CB5C7-6B43-4444-9338-9ABC72606C16"
+ }
+ ],
+ "peerAsn": {
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
+ },
+ "directPeeringType": "IxRs"
+ },
+ "peeringLocation": "peeringLocation0"
+ },
+ "location": "eastus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Premium_Direct_Free",
+ "tier": "Premium",
+ "family": "Direct",
+ "size": "Free"
+ },
+ "kind": "Direct",
+ "properties": {
+ "direct": {
+ "connections": [
+ {
+ "bandwidthInMbps": 10000,
+ "provisionedBandwidthInMbps": 10000,
+ "sessionAddressProvider": "Peer",
+ "useForPeeringService": true,
+ "peeringDBFacilityId": 99999,
+ "connectionState": "Active",
+ "bgpSession": {
+ "sessionPrefixV4": "192.168.0.0/24",
+ "microsoftSessionIPv4Address": "192.168.0.123",
+ "peerSessionIPv4Address": "192.168.0.234",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100
+ },
+ "connectionIdentifier": "5F4CB5C7-6B43-4444-9338-9ABC72606C16"
+ }
+ ],
+ "useForPeeringService": true,
+ "peerAsn": {
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
+ },
+ "directPeeringType": "IxRs"
+ },
+ "peeringLocation": "peeringLocation0",
+ "provisioningState": "Succeeded"
+ },
+ "location": "eastus",
+ "name": "peeringName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
+ "type": "Microsoft.Peering/peerings"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "name": "Premium_Direct_Free",
+ "tier": "Premium",
+ "family": "Direct",
+ "size": "Free"
+ },
+ "kind": "Direct",
+ "properties": {
+ "direct": {
+ "connections": [
+ {
+ "bandwidthInMbps": 10000,
+ "provisionedBandwidthInMbps": 0,
+ "sessionAddressProvider": "Peer",
+ "useForPeeringService": true,
+ "peeringDBFacilityId": 99999,
+ "connectionState": "PendingApproval",
+ "bgpSession": {
+ "sessionPrefixV4": "192.168.0.0/24",
+ "microsoftSessionIPv4Address": "192.168.0.123",
+ "peerSessionIPv4Address": "192.168.0.234",
+ "sessionStateV4": "PendingAdd",
+ "sessionStateV6": "PendingAdd",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100
+ },
+ "connectionIdentifier": "5F4CB5C7-6B43-4444-9338-9ABC72606C16"
+ }
+ ],
+ "useForPeeringService": true,
+ "peerAsn": {
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
+ },
+ "directPeeringType": "IxRs"
+ },
+ "peeringLocation": "peeringLocation0",
+ "provisioningState": "Succeeded"
+ },
+ "location": "eastus",
+ "name": "peeringName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
+ "type": "Microsoft.Peering/peerings"
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/CreateRegisteredAsn.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/CreateRegisteredAsn.json
new file mode 100644
index 000000000000..49a5cf7c288d
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/CreateRegisteredAsn.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringName": "peeringName",
+ "api-version": "2020-04-01",
+ "registeredAsn": {
+ "properties": {
+ "asn": 65000
+ }
+ },
+ "registeredAsnName": "registeredAsnName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "asn": 65000,
+ "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000",
+ "provisioningState": "Succeeded"
+ },
+ "name": "registeredAsnName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredAsns/registeredAsnName",
+ "type": "Microsoft.Peering/registeredAsns"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "asn": 65000,
+ "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000",
+ "provisioningState": "Succeeded"
+ },
+ "name": "registeredAsnName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredAsns/registeredAsnName",
+ "type": "Microsoft.Peering/registeredAsns"
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/CreateRegisteredPrefix.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/CreateRegisteredPrefix.json
new file mode 100644
index 000000000000..18be5c4678fb
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/CreateRegisteredPrefix.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringName": "peeringName",
+ "api-version": "2020-04-01",
+ "registeredPrefix": {
+ "properties": {
+ "prefix": "10.22.20.0/24"
+ }
+ },
+ "registeredPrefixName": "registeredPrefixName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "prefix": "10.22.20.0/24",
+ "prefixValidationState": "Verified",
+ "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000",
+ "provisioningState": "Succeeded"
+ },
+ "name": "registeredPrefixName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredPrefixes/registeredPrefixName",
+ "type": "Microsoft.Peering/registeredPrefixes"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "prefix": "10.22.20.0/24",
+ "prefixValidationState": "Pending",
+ "provisioningState": "Succeeded"
+ },
+ "name": "registeredPrefixName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredPrefixes/registeredPrefixName",
+ "type": "Microsoft.Peering/registeredPrefixes"
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/DeletePeerAsn.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/DeletePeerAsn.json
new file mode 100644
index 000000000000..74a23b81424c
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/DeletePeerAsn.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "peerAsnName": "peerAsnName",
+ "api-version": "2020-04-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/DeletePeering.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/DeletePeering.json
new file mode 100644
index 000000000000..e8359d6de923
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/DeletePeering.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringName": "peeringName",
+ "api-version": "2020-04-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/DeletePeeringService.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/DeletePeeringService.json
new file mode 100644
index 000000000000..5291cf4a11dd
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/DeletePeeringService.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringServiceName": "peeringServiceName",
+ "api-version": "2020-04-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/DeletePeeringServicePrefix.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/DeletePeeringServicePrefix.json
new file mode 100644
index 000000000000..7f71ac0a56de
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/DeletePeeringServicePrefix.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringServiceName": "peeringServiceName",
+ "prefixName": "peeringServicePrefixName",
+ "api-version": "2020-04-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/DeleteRegisteredAsn.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/DeleteRegisteredAsn.json
new file mode 100644
index 000000000000..87fc0578ac9b
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/DeleteRegisteredAsn.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringName": "peeringName",
+ "api-version": "2020-04-01",
+ "registeredAsnName": "registeredAsnName"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/DeleteRegisteredPrefix.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/DeleteRegisteredPrefix.json
new file mode 100644
index 000000000000..58d07cd545f7
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/DeleteRegisteredPrefix.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringName": "peeringName",
+ "api-version": "2020-04-01",
+ "registeredPrefixName": "registeredPrefixName"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/GetPeerAsn.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/GetPeerAsn.json
new file mode 100644
index 000000000000..ea773936cf22
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/GetPeerAsn.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "peerAsnName": "peerAsnName",
+ "api-version": "2020-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "peerAsn": 65000,
+ "peerContactDetail": [
+ {
+ "role": "Noc",
+ "email": "noc@contoso.com",
+ "phone": "+1 (234) 567-8999"
+ },
+ {
+ "role": "Policy",
+ "email": "abc@contoso.com",
+ "phone": "+1 (234) 567-8900"
+ },
+ {
+ "role": "Technical",
+ "email": "xyz@contoso.com",
+ "phone": "+1 (234) 567-8900"
+ }
+ ],
+ "peerName": "Contoso",
+ "validationState": "Approved"
+ },
+ "name": "peerAsnName",
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName",
+ "type": "Microsoft.Peering/peerAsns"
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/GetPeering.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/GetPeering.json
new file mode 100644
index 000000000000..443375563b88
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/GetPeering.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringName": "peeringName",
+ "api-version": "2020-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Basic_Exchange_Free",
+ "tier": "Basic",
+ "family": "Exchange",
+ "size": "Free"
+ },
+ "kind": "Exchange",
+ "properties": {
+ "exchange": {
+ "connections": [
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "Active",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.1",
+ "microsoftSessionIPv6Address": "fd00::1:1",
+ "peerSessionIPv4Address": "192.168.2.1",
+ "peerSessionIPv6Address": "fd00::1",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D"
+ },
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "Active",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.2",
+ "microsoftSessionIPv6Address": "fd00::1:2",
+ "peerSessionIPv4Address": "192.168.2.2",
+ "peerSessionIPv6Address": "fd00::2",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B"
+ }
+ ],
+ "peerAsn": {
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
+ }
+ },
+ "peeringLocation": "peeringLocation0",
+ "provisioningState": "Succeeded"
+ },
+ "location": "eastus",
+ "name": "peeringName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
+ "type": "Microsoft.Peering/peerings"
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/GetPeeringReceivedRoutes.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/GetPeeringReceivedRoutes.json
new file mode 100644
index 000000000000..a8906ac96789
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/GetPeeringReceivedRoutes.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringName": "peeringName",
+ "api-version": "2020-04-01",
+ "prefix": "1.1.1.0/24",
+ "asPath": "123 456",
+ "originAsValidationState": "Valid",
+ "rpkiValidationState": "Valid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "prefix": "1.1.1.0/24",
+ "nextHop": "127.0.0.1",
+ "asPath": "123 456",
+ "originAsValidationState": "Valid",
+ "rpkiValidationState": "Valid",
+ "trustAnchor": "Arin",
+ "receivedTimestamp": "2020-04-05 03:39:20"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/GetPeeringService.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/GetPeeringService.json
new file mode 100644
index 000000000000..77d5b0f6f7c8
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/GetPeeringService.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringServiceName": "peeringServiceName",
+ "api-version": "2020-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "peeringServiceLocation": "state1",
+ "peeringServiceProvider": "serviceProvider1",
+ "provisioningState": "Succeeded"
+ },
+ "location": "eastus",
+ "name": "peeringServiceName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName",
+ "type": "Microsoft.Peering/peeringServices"
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/GetPeeringServicePrefix.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/GetPeeringServicePrefix.json
new file mode 100644
index 000000000000..77602097539d
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/GetPeeringServicePrefix.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringServiceName": "peeringServiceName",
+ "prefixName": "peeringServicePrefixName",
+ "api-version": "2020-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "prefix": "192.168.1.0/24",
+ "prefixValidationState": "Verified",
+ "learnedType": "ViaServiceProvider",
+ "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000",
+ "provisioningState": "Succeeded"
+ },
+ "name": "peeringServicePrefixName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName/prefixes/peeringServicePrefixName"
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/GetRegisteredAsn.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/GetRegisteredAsn.json
new file mode 100644
index 000000000000..1fc9fa9c2e00
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/GetRegisteredAsn.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringName": "peeringName",
+ "api-version": "2020-04-01",
+ "registeredAsnName": "registeredAsnName0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "asn": 65000,
+ "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000",
+ "provisioningState": "Succeeded"
+ },
+ "name": "registeredAsnName0",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredAsns/registeredAsnName0",
+ "type": "Microsoft.Peering/registeredAsns"
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/GetRegisteredPrefix.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/GetRegisteredPrefix.json
new file mode 100644
index 000000000000..9eaf6c5ec87f
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/GetRegisteredPrefix.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringName": "peeringName",
+ "api-version": "2020-04-01",
+ "registeredPrefixName": "registeredPrefixName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "prefix": "10.22.20.0/24",
+ "prefixValidationState": "Verified",
+ "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000",
+ "provisioningState": "Succeeded"
+ },
+ "name": "registeredPrefixName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredPrefixes/registeredPrefixName",
+ "type": "Microsoft.Peering/registeredPrefixes"
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListDirectPeeringLocations.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListDirectPeeringLocations.json
new file mode 100644
index 000000000000..fd7b8fae486e
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListDirectPeeringLocations.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "kind": "Direct",
+ "api-version": "2020-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "kind": "Direct",
+ "properties": {
+ "direct": {
+ "peeringFacilities": [
+ {
+ "address": "address1",
+ "directPeeringType": "Edge",
+ "peeringDBFacilityId": 99999,
+ "peeringDBFacilityLink": "https://www.peeringdb.com/fac/99999"
+ },
+ {
+ "address": "address3",
+ "directPeeringType": "Cdn",
+ "peeringDBFacilityId": 99999,
+ "peeringDBFacilityLink": "https://www.peeringdb.com/fac/99999"
+ }
+ ],
+ "bandwidthOffers": [
+ {
+ "offerName": "10Gbps",
+ "valueInMbps": 10000
+ },
+ {
+ "offerName": "100Gbps",
+ "valueInMbps": 100000
+ }
+ ]
+ },
+ "peeringLocation": "peeringLocation1",
+ "country": "country1"
+ },
+ "name": "peeringLocation1",
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation1",
+ "type": "Microsoft.Peering/peeringLocations"
+ },
+ {
+ "kind": "Direct",
+ "properties": {
+ "direct": {
+ "peeringFacilities": [
+ {
+ "address": "address2",
+ "directPeeringType": "Edge",
+ "peeringDBFacilityId": 99999,
+ "peeringDBFacilityLink": "https://www.peeringdb.com/fac/99999"
+ }
+ ],
+ "bandwidthOffers": [
+ {
+ "offerName": "10Gbps",
+ "valueInMbps": 10000
+ },
+ {
+ "offerName": "100Gbps",
+ "valueInMbps": 100000
+ }
+ ]
+ },
+ "peeringLocation": "peeringLocation2",
+ "country": "country2"
+ },
+ "name": "peeringLocation2",
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation2",
+ "type": "Microsoft.Peering/peeringLocations"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListExchangePeeringLocations.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListExchangePeeringLocations.json
new file mode 100644
index 000000000000..d62eb4be3751
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListExchangePeeringLocations.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "kind": "Exchange",
+ "api-version": "2020-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "kind": "Exchange",
+ "properties": {
+ "exchange": {
+ "peeringFacilities": [
+ {
+ "exchangeName": "name1",
+ "bandwidthInMbps": 10000,
+ "microsoftIPv4Address": "192.168.131.1",
+ "microsoftIPv6Address": "fd00::1:1",
+ "facilityIPv4Prefix": "192.168.128.0/17",
+ "facilityIPv6Prefix": "fd00::1000:0/98",
+ "peeringDBFacilityId": 99999,
+ "peeringDBFacilityLink": "https://www.peeringdb.com/ix/99999"
+ },
+ {
+ "exchangeName": "name3",
+ "bandwidthInMbps": 10000,
+ "microsoftIPv4Address": "192.168.2.2",
+ "microsoftIPv6Address": "fd00::2",
+ "facilityIPv4Prefix": "192.168.0.0/17",
+ "facilityIPv6Prefix": "fd00::0/98",
+ "peeringDBFacilityId": 99999,
+ "peeringDBFacilityLink": "https://www.peeringdb.com/ix/99999"
+ }
+ ]
+ },
+ "peeringLocation": "peeringLocation1",
+ "country": "country1"
+ },
+ "name": "peeringLocation1",
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation1",
+ "type": "Microsoft.Peering/peeringLocations"
+ },
+ {
+ "kind": "Exchange",
+ "properties": {
+ "exchange": {
+ "peeringFacilities": [
+ {
+ "exchangeName": "name2",
+ "bandwidthInMbps": 10000,
+ "microsoftIPv4Address": "192.168.2.1",
+ "microsoftIPv6Address": "fd00::2",
+ "facilityIPv4Prefix": "192.168.0.0/16",
+ "facilityIPv6Prefix": "fd00::0/98",
+ "peeringDBFacilityId": 99999,
+ "peeringDBFacilityLink": "https://www.peeringdb.com/ix/99999"
+ }
+ ]
+ },
+ "peeringLocation": "peeringLocation2",
+ "country": "country2"
+ },
+ "name": "peeringLocation2",
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation2",
+ "type": "Microsoft.Peering/peeringLocations"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListLegacyPeerings.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListLegacyPeerings.json
new file mode 100644
index 000000000000..67f4e79364ef
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListLegacyPeerings.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "kind": "Exchange",
+ "peeringLocation": "peeringLocation0",
+ "api-version": "2020-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "sku": {
+ "name": "Basic_Exchange_Free",
+ "tier": "Basic",
+ "family": "Exchange",
+ "size": "Free"
+ },
+ "kind": "Exchange",
+ "properties": {
+ "exchange": {
+ "connections": [
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "Active",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.1",
+ "microsoftSessionIPv6Address": "fd00::1:1",
+ "peerSessionIPv4Address": "192.168.2.1",
+ "peerSessionIPv6Address": "fd00::1",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D"
+ },
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "Active",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.2",
+ "microsoftSessionIPv6Address": "fd00::1:2",
+ "peerSessionIPv4Address": "192.168.2.2",
+ "peerSessionIPv6Address": "fd00::2",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B"
+ }
+ ],
+ "peerAsn": {
+ "id": "65000"
+ }
+ },
+ "peeringLocation": "peeringLocation0",
+ "provisioningState": "Succeeded"
+ },
+ "location": "centralus",
+ "name": "peeringName",
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerings/peeringName",
+ "type": "Microsoft.Peering/peerings"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPeerAsnsBySubscription.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPeerAsnsBySubscription.json
new file mode 100644
index 000000000000..1089c47a525f
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPeerAsnsBySubscription.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "api-version": "2020-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "peerAsn": 65000,
+ "peerContactDetail": [
+ {
+ "role": "Noc",
+ "email": "noc@contoso.com",
+ "phone": "+1 (234) 567-8999"
+ },
+ {
+ "role": "Policy",
+ "email": "abc@contoso.com",
+ "phone": "+1 (234) 567-8900"
+ },
+ {
+ "role": "Technical",
+ "email": "xyz@contoso.com",
+ "phone": "+1 (234) 567-8900"
+ }
+ ],
+ "peerName": "Contoso",
+ "validationState": "Approved"
+ },
+ "name": "peerAsnName",
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName",
+ "type": "Microsoft.Peering/peerAsns"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPeeringOperations.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPeeringOperations.json
new file mode 100644
index 000000000000..65572f7e43d1
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPeeringOperations.json
@@ -0,0 +1,243 @@
+{
+ "parameters": {
+ "api-version": "2020-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Peering/register/action",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "Peering Resource Provider",
+ "operation": "Registers the Peering Resource Provider",
+ "description": "Registers the subscription for the Peering Resource Provider and enables the creation of peerings"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peerAsns/write",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "peerAsns",
+ "operation": "Write PeerAsn",
+ "description": "Write any peerAsns"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peerAsns/read",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "peerAsns",
+ "operation": "Read PeerAsn",
+ "description": "Read any peerAsns"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peerAsns/delete",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "peerAsns",
+ "operation": "Delete PeerAsn",
+ "description": "Delete any peerAsns"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peeringLocations/read",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "peeringLocations",
+ "operation": "Read PeeringLocation",
+ "description": "Read any peeringLocations"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/legacyPeerings/read",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "legacyPeerings",
+ "operation": "Read LegacyPeering",
+ "description": "Read any legacyPeerings"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peerings/write",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "peerings",
+ "operation": "Write Peering",
+ "description": "Write any peerings"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peerings/read",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "peerings",
+ "operation": "Read Peering",
+ "description": "Read any peerings"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peerings/delete",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "peerings",
+ "operation": "Delete Peering",
+ "description": "Delete any peerings"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peeringServiceLocations/read",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "peeringServiceLocations",
+ "operation": "Read PeeringServiceLocations",
+ "description": "Read any peeringServiceLocations"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peeringServiceProviders/read",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "peeringServiceProviders",
+ "operation": "Read PeeringServiceProviders",
+ "description": "Read any peeringServiceProviders"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peeringServices/read",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "peeringServices",
+ "operation": "Read PeeringServices",
+ "description": "Read any peeringServices"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peeringServices/write",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "peeringServices",
+ "operation": "Write PeeringService",
+ "description": "Write any peeringServices"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peeringServices/delete",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "peeringServices",
+ "operation": "Delete PeeringServices",
+ "description": "Delete any peeringServices"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peeringServices/prefixes/read",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "prefixes",
+ "operation": "Read PeeringServicePrefixes",
+ "description": "Read any prefixes"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peeringServices/prefixes/write",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "prefixes",
+ "operation": "Write PeeringServicePrefixes",
+ "description": "Write any prefixes"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peeringServices/prefixes/delete",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "prefixes",
+ "operation": "Delete PeeringServicePrefixes",
+ "description": "Delete any prefixes"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peerings/registeredPrefixes/read",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "registeredPrefixes",
+ "operation": "Read RegisteredPrefixes",
+ "description": "Read any registeredPrefixes"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peerings/registeredPrefixes/write",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "registeredPrefixes",
+ "operation": "Write RegisteredPrefixes",
+ "description": "Write any registeredPrefixes"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peerings/registeredPrefixes/delete",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "registeredPrefixes",
+ "operation": "Delete RegisteredPrefixes",
+ "description": "Delete any registeredPrefixes"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peerings/registeredAsns/read",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "registeredAsns",
+ "operation": "Read RegisteredAsns",
+ "description": "Read any registeredAsns"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peerings/registeredAsns/write",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "registeredAsns",
+ "operation": "Write RegisteredAsns",
+ "description": "Write any registeredAsns"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.Peering/peerings/registeredAsns/delete",
+ "display": {
+ "provider": "Microsoft.Peering",
+ "resource": "registeredAsns",
+ "operation": "Delete RegisteredAsns",
+ "description": "Delete any registeredAsns"
+ },
+ "isDataAction": false
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPeeringServiceCountriesBySubscription.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPeeringServiceCountriesBySubscription.json
new file mode 100644
index 000000000000..4da5b5a97720
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPeeringServiceCountriesBySubscription.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "api-version": "2020-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "country1",
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringServiceCountries/country1",
+ "type": "Microsoft.Peering/peeringServiceCountries"
+ },
+ {
+ "name": "country2",
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringServiceCountries/country2",
+ "type": "Microsoft.Peering/peeringServiceCountries"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPeeringServiceLocationsBySubscription.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPeeringServiceLocationsBySubscription.json
new file mode 100644
index 000000000000..9c3e40c5bae0
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPeeringServiceLocationsBySubscription.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "api-version": "2020-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "country": "country1",
+ "state": "state1"
+ },
+ "name": "peeringServiceLocation1",
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringServiceLocations/peeringServiceLocation1",
+ "type": "Microsoft.Peering/peeringServiceLocations"
+ },
+ {
+ "properties": {
+ "country": "country2",
+ "state": "state2"
+ },
+ "name": "peeringServiceLocation2",
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringServiceLocations/peeringServiceLocation2",
+ "type": "Microsoft.Peering/peeringServiceLocations"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPeeringServiceProviders.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPeeringServiceProviders.json
new file mode 100644
index 000000000000..2d6bf7135a80
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPeeringServiceProviders.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "api-version": "2020-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "serviceProviderName": "peeringServiceProvider1"
+ },
+ "name": "peeringServiceProvider1",
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringServiceProviders/peeringServiceProvider1",
+ "type": "Microsoft.Peering/peeringServiceProviders"
+ },
+ {
+ "properties": {
+ "serviceProviderName": "peeringServiceProvider2"
+ },
+ "name": "peeringServiceProvider2",
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringServiceProviders/peeringServiceProvider2",
+ "type": "Microsoft.Peering/peeringServiceProviders"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPeeringServicesByResourceGroup.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPeeringServicesByResourceGroup.json
new file mode 100644
index 000000000000..d7fc375b050c
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPeeringServicesByResourceGroup.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "api-version": "2020-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "peeringServiceLocation": "state1",
+ "peeringServiceProvider": "serviceProvider1",
+ "provisioningState": "Succeeded"
+ },
+ "location": "eastus",
+ "name": "peeringServiceName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName",
+ "type": "Microsoft.Peering/peeringServices"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPeeringServicesBySubscription.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPeeringServicesBySubscription.json
new file mode 100644
index 000000000000..6efecd38d5e2
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPeeringServicesBySubscription.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "api-version": "2020-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "peeringServiceLocation": "state1",
+ "peeringServiceProvider": "serviceProvider1",
+ "provisioningState": "Succeeded"
+ },
+ "location": "eastus",
+ "name": "peeringServiceName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName",
+ "type": "Microsoft.Peering/peeringServices"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPeeringsByResourceGroup.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPeeringsByResourceGroup.json
new file mode 100644
index 000000000000..8a0cfa625ab0
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPeeringsByResourceGroup.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "api-version": "2020-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "sku": {
+ "name": "Basic_Exchange_Free",
+ "tier": "Basic",
+ "family": "Exchange",
+ "size": "Free"
+ },
+ "kind": "Exchange",
+ "properties": {
+ "exchange": {
+ "connections": [
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "Active",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.1",
+ "microsoftSessionIPv6Address": "fd00::1:1",
+ "peerSessionIPv4Address": "192.168.2.1",
+ "peerSessionIPv6Address": "fd00::1",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D"
+ },
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "Active",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.2",
+ "microsoftSessionIPv6Address": "fd00::1:2",
+ "peerSessionIPv4Address": "192.168.2.2",
+ "peerSessionIPv6Address": "fd00::2",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B"
+ }
+ ],
+ "peerAsn": {
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
+ }
+ },
+ "peeringLocation": "peeringLocation0",
+ "provisioningState": "Succeeded"
+ },
+ "location": "eastus",
+ "name": "peeringName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
+ "type": "Microsoft.Peering/peerings"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPeeringsBySubscription.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPeeringsBySubscription.json
new file mode 100644
index 000000000000..02cc283a91f7
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPeeringsBySubscription.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "api-version": "2020-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "sku": {
+ "name": "Basic_Exchange_Free",
+ "tier": "Basic",
+ "family": "Exchange",
+ "size": "Free"
+ },
+ "kind": "Exchange",
+ "properties": {
+ "exchange": {
+ "connections": [
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "Active",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.1",
+ "microsoftSessionIPv6Address": "fd00::1:1",
+ "peerSessionIPv4Address": "192.168.2.1",
+ "peerSessionIPv6Address": "fd00::1",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D"
+ },
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "Active",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.2",
+ "microsoftSessionIPv6Address": "fd00::1:2",
+ "peerSessionIPv4Address": "192.168.2.2",
+ "peerSessionIPv6Address": "fd00::2",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B"
+ }
+ ],
+ "peerAsn": {
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
+ }
+ },
+ "peeringLocation": "peeringLocation0",
+ "provisioningState": "Succeeded"
+ },
+ "location": "eastus",
+ "name": "peeringName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
+ "type": "Microsoft.Peering/peerings"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPrefixesByPeeringService.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPrefixesByPeeringService.json
new file mode 100644
index 000000000000..17149c961a8e
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListPrefixesByPeeringService.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringServiceName": "peeringServiceName",
+ "api-version": "2020-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "prefix": "192.168.1.0/24",
+ "prefixValidationState": "Verified",
+ "learnedType": "ViaServiceProvider",
+ "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000",
+ "provisioningState": "Succeeded"
+ },
+ "name": "peeringServicePrefixName1",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName/prefixes/peeringServicePrefixName1"
+ },
+ {
+ "properties": {
+ "prefix": "192.168.2.0/24",
+ "prefixValidationState": "Verified",
+ "learnedType": "ViaServiceProvider",
+ "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000",
+ "provisioningState": "Succeeded"
+ },
+ "name": "peeringServicePrefixName2",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName/prefixes/peeringServicePrefixName2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListRegisteredAsnsByPeering.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListRegisteredAsnsByPeering.json
new file mode 100644
index 000000000000..bf039171db23
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListRegisteredAsnsByPeering.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringName": "peeringName",
+ "api-version": "2020-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "asn": 65000,
+ "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000",
+ "provisioningState": "Succeeded"
+ },
+ "name": "registeredAsnName0",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredAsns/registeredAsnName0",
+ "type": "Microsoft.Peering/registeredAsns"
+ },
+ {
+ "properties": {
+ "asn": 65001,
+ "provisioningState": "Failed"
+ },
+ "name": "registeredAsnName1",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredAsns/registeredAsnName1",
+ "type": "Microsoft.Peering/registeredAsns"
+ },
+ {
+ "properties": {
+ "asn": 65002,
+ "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000",
+ "provisioningState": "Succeeded"
+ },
+ "name": "registeredAsnName2",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredAsns/registeredAsnName2",
+ "type": "Microsoft.Peering/registeredAsns"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListRegisteredPrefixesByPeering.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListRegisteredPrefixesByPeering.json
new file mode 100644
index 000000000000..2c2475f5a387
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/ListRegisteredPrefixesByPeering.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringName": "peeringName",
+ "api-version": "2020-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "prefix": "10.22.20.0/24",
+ "prefixValidationState": "Verified",
+ "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000",
+ "provisioningState": "Succeeded"
+ },
+ "name": "registeredPrefixName0",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredPrefixes/registeredPrefixName0",
+ "type": "Microsoft.Peering/registeredPrefixes"
+ },
+ {
+ "properties": {
+ "prefix": "10.22.21.0/24",
+ "prefixValidationState": "Verified",
+ "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000",
+ "provisioningState": "Succeeded"
+ },
+ "name": "registeredPrefixName1",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredPrefixes/registeredPrefixName1",
+ "type": "Microsoft.Peering/registeredPrefixes"
+ },
+ {
+ "properties": {
+ "prefix": "10.22.22.0/24",
+ "prefixValidationState": "Pending",
+ "provisioningState": "Succeeded"
+ },
+ "name": "registeredPrefixName2",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredPrefixes/registeredPrefixName2",
+ "type": "Microsoft.Peering/registeredPrefixes"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/UpdatePeeringServiceTags.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/UpdatePeeringServiceTags.json
new file mode 100644
index 000000000000..93d4509e1c6d
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/UpdatePeeringServiceTags.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringServiceName": "peeringServiceName",
+ "api-version": "2020-04-01",
+ "tags": {
+ "tags": {
+ "tag0": "value0",
+ "tag1": "value1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "peeringServiceLocation": "state1",
+ "peeringServiceProvider": "serviceProvider1",
+ "provisioningState": "Succeeded"
+ },
+ "location": "eastus",
+ "tags": {
+ "tag0": "value0",
+ "tag1": "value1"
+ },
+ "name": "peeringServiceName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName",
+ "type": "Microsoft.Peering/peeringServices"
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/UpdatePeeringTags.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/UpdatePeeringTags.json
new file mode 100644
index 000000000000..1161201f6038
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/examples/UpdatePeeringTags.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "peeringName": "peeringName",
+ "api-version": "2020-04-01",
+ "tags": {
+ "tags": {
+ "tag0": "value0",
+ "tag1": "value1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Basic_Exchange_Free",
+ "tier": "Basic",
+ "family": "Exchange",
+ "size": "Free"
+ },
+ "kind": "Exchange",
+ "properties": {
+ "exchange": {
+ "connections": [
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "Active",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.1",
+ "microsoftSessionIPv6Address": "fd00::1:1",
+ "peerSessionIPv4Address": "192.168.2.1",
+ "peerSessionIPv6Address": "fd00::1",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D"
+ },
+ {
+ "peeringDBFacilityId": 99999,
+ "connectionState": "Active",
+ "bgpSession": {
+ "microsoftSessionIPv4Address": "192.168.3.2",
+ "microsoftSessionIPv6Address": "fd00::1:2",
+ "peerSessionIPv4Address": "192.168.2.2",
+ "peerSessionIPv6Address": "fd00::2",
+ "sessionStateV4": "Established",
+ "sessionStateV6": "Established",
+ "maxPrefixesAdvertisedV4": 1000,
+ "maxPrefixesAdvertisedV6": 100,
+ "md5AuthenticationKey": "test-md5-auth-key"
+ },
+ "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B"
+ }
+ ],
+ "peerAsn": {
+ "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1"
+ }
+ },
+ "peeringLocation": "peeringLocation0",
+ "provisioningState": "Succeeded"
+ },
+ "location": "eastus",
+ "tags": {
+ "tag0": "value0",
+ "tag1": "value1"
+ },
+ "name": "peeringName",
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName",
+ "type": "Microsoft.Peering/peerings"
+ }
+ }
+ }
+}
diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/peering.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/peering.json
new file mode 100644
index 000000000000..d38f947a5b3d
--- /dev/null
+++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-04-01/peering.json
@@ -0,0 +1,3410 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-04-01",
+ "title": "PeeringManagementClient",
+ "description": "APIs to manage Peering resources through the Azure Resource Manager."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/CheckServiceProviderAvailability": {
+ "post": {
+ "tags": [
+ "CheckServiceProviderAvailability"
+ ],
+ "description": "Checks if the peering service provider is present within 1000 miles of customer's location",
+ "operationId": "CheckServiceProviderAvailability",
+ "parameters": [
+ {
+ "name": "checkServiceProviderAvailabilityInput",
+ "in": "body",
+ "description": "The CheckServiceProviderAvailabilityInput indicating customer location and service provider.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckServiceProviderAvailabilityInput"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "enum": [
+ "Available",
+ "Unavailable"
+ ],
+ "type": "string"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Check if peering service provider is available in customer location": {
+ "$ref": "./examples/CheckServiceProviderAvailability.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/legacyPeerings": {
+ "get": {
+ "tags": [
+ "LegacyPeerings"
+ ],
+ "description": "Lists all of the legacy peerings under the given subscription matching the specified kind and location.",
+ "operationId": "LegacyPeerings_List",
+ "parameters": [
+ {
+ "name": "peeringLocation",
+ "in": "query",
+ "description": "The location of the peering.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "kind",
+ "in": "query",
+ "description": "The kind of the peering.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "Direct",
+ "Exchange"
+ ]
+ },
+ {
+ "name": "asn",
+ "in": "query",
+ "description": "The ASN number associated with a legacy peering.",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List legacy peerings": {
+ "$ref": "./examples/ListLegacyPeerings.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Peering/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available API operations for peering resources.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List peering operations": {
+ "$ref": "./examples/ListPeeringOperations.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns/{peerAsnName}": {
+ "get": {
+ "tags": [
+ "PeerAsns"
+ ],
+ "description": "Gets the peer ASN with the specified name under the given subscription.",
+ "operationId": "PeerAsns_Get",
+ "parameters": [
+ {
+ "name": "peerAsnName",
+ "in": "path",
+ "description": "The peer ASN name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeerAsn"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a peer ASN": {
+ "$ref": "./examples/GetPeerAsn.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PeerAsns"
+ ],
+ "description": "Creates a new peer ASN or updates an existing peer ASN with the specified name under the given subscription.",
+ "operationId": "PeerAsns_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "peerAsnName",
+ "in": "path",
+ "description": "The peer ASN name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peerAsn",
+ "in": "body",
+ "description": "The peer ASN.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PeerAsn"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeerAsn"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/PeerAsn"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a peer ASN": {
+ "$ref": "./examples/CreatePeerAsn.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PeerAsns"
+ ],
+ "description": "Deletes an existing peer ASN with the specified name under the given subscription.",
+ "operationId": "PeerAsns_Delete",
+ "parameters": [
+ {
+ "name": "peerAsnName",
+ "in": "path",
+ "description": "The peer ASN name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a peer ASN": {
+ "$ref": "./examples/DeletePeerAsn.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns": {
+ "get": {
+ "tags": [
+ "PeerAsns"
+ ],
+ "description": "Lists all of the peer ASNs under the given subscription.",
+ "operationId": "PeerAsns_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeerAsnListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List peer ASNs in a subscription": {
+ "$ref": "./examples/ListPeerAsnsBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringLocations": {
+ "get": {
+ "tags": [
+ "PeeringLocations"
+ ],
+ "description": "Lists all of the available peering locations for the specified kind of peering.",
+ "operationId": "PeeringLocations_List",
+ "parameters": [
+ {
+ "name": "kind",
+ "in": "query",
+ "description": "The kind of the peering.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "Direct",
+ "Exchange"
+ ]
+ },
+ {
+ "name": "directPeeringType",
+ "in": "query",
+ "description": "The type of direct peering.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Edge",
+ "Transit",
+ "Cdn",
+ "Internal",
+ "Ix",
+ "IxRs"
+ ]
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringLocationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List direct peering locations": {
+ "$ref": "./examples/ListDirectPeeringLocations.json"
+ },
+ "List exchange peering locations": {
+ "$ref": "./examples/ListExchangePeeringLocations.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredAsns/{registeredAsnName}": {
+ "get": {
+ "tags": [
+ "PeeringRegisteredAsns"
+ ],
+ "description": "Gets an existing registered ASN with the specified name under the given subscription, resource group and peering.",
+ "operationId": "RegisteredAsns_Get",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "description": "The name of the peering.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "registeredAsnName",
+ "in": "path",
+ "description": "The name of the registered ASN.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringRegisteredAsn"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a registered ASN associated with the peering": {
+ "$ref": "./examples/GetRegisteredAsn.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PeeringRegisteredAsns"
+ ],
+ "description": "Creates a new registered ASN with the specified name under the given subscription, resource group and peering.",
+ "operationId": "RegisteredAsns_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "description": "The name of the peering.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "registeredAsnName",
+ "in": "path",
+ "description": "The name of the ASN.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "registeredAsn",
+ "in": "body",
+ "description": "The properties needed to create a registered ASN.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PeeringRegisteredAsn"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringRegisteredAsn"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/PeeringRegisteredAsn"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a registered ASN for the peering": {
+ "$ref": "./examples/CreateRegisteredAsn.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PeeringRegisteredAsns"
+ ],
+ "description": "Deletes an existing registered ASN with the specified name under the given subscription, resource group and peering.",
+ "operationId": "RegisteredAsns_Delete",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "description": "The name of the peering.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "registeredAsnName",
+ "in": "path",
+ "description": "The name of the registered ASN.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Deletes a registered ASN associated with the peering": {
+ "$ref": "./examples/DeleteRegisteredAsn.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredAsns": {
+ "get": {
+ "tags": [
+ "PeeringRegisteredAsns"
+ ],
+ "description": "Lists all registered ASNs under the given subscription, resource group and peering.",
+ "operationId": "RegisteredAsns_ListByPeering",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "description": "The name of the peering.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringRegisteredAsnListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all the registered ASNs associated with the peering": {
+ "$ref": "./examples/ListRegisteredAsnsByPeering.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredPrefixes/{registeredPrefixName}": {
+ "get": {
+ "tags": [
+ "PeeringRegisteredPrefixes"
+ ],
+ "description": "Gets an existing registered prefix with the specified name under the given subscription, resource group and peering.",
+ "operationId": "RegisteredPrefixes_Get",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "description": "The name of the peering.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "registeredPrefixName",
+ "in": "path",
+ "description": "The name of the registered prefix.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringRegisteredPrefix"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a registered prefix associated with the peering": {
+ "$ref": "./examples/GetRegisteredPrefix.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PeeringRegisteredPrefixes"
+ ],
+ "description": "Creates a new registered prefix with the specified name under the given subscription, resource group and peering.",
+ "operationId": "RegisteredPrefixes_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "description": "The name of the peering.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "registeredPrefixName",
+ "in": "path",
+ "description": "The name of the registered prefix.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "registeredPrefix",
+ "in": "body",
+ "description": "The properties needed to create a registered prefix.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PeeringRegisteredPrefix"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringRegisteredPrefix"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/PeeringRegisteredPrefix"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a registered prefix for the peering": {
+ "$ref": "./examples/CreateRegisteredPrefix.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PeeringRegisteredPrefixes"
+ ],
+ "description": "Deletes an existing registered prefix with the specified name under the given subscription, resource group and peering.",
+ "operationId": "RegisteredPrefixes_Delete",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "description": "The name of the peering.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "registeredPrefixName",
+ "in": "path",
+ "description": "The name of the registered prefix.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Deletes a registered prefix associated with the peering": {
+ "$ref": "./examples/DeleteRegisteredPrefix.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredPrefixes": {
+ "get": {
+ "tags": [
+ "PeeringRegisteredPrefixes"
+ ],
+ "description": "Lists all registered prefixes under the given subscription, resource group and peering.",
+ "operationId": "RegisteredPrefixes_ListByPeering",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "description": "The name of the peering.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringRegisteredPrefixListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all the registered prefixes associated with the peering": {
+ "$ref": "./examples/ListRegisteredPrefixesByPeering.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}": {
+ "get": {
+ "tags": [
+ "Peerings"
+ ],
+ "description": "Gets an existing peering with the specified name under the given subscription and resource group.",
+ "operationId": "Peerings_Get",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "description": "The name of the peering.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Peering"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a peering": {
+ "$ref": "./examples/GetPeering.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Peerings"
+ ],
+ "description": "Creates a new peering or updates an existing peering with the specified name under the given subscription and resource group.",
+ "operationId": "Peerings_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "description": "The name of the peering.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peering",
+ "in": "body",
+ "description": "The properties needed to create or update a peering.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Peering"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Peering"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Peering"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a direct peering": {
+ "$ref": "./examples/CreateDirectPeering.json"
+ },
+ "Create an exchange peering": {
+ "$ref": "./examples/CreateExchangePeering.json"
+ },
+ "Create a peering with exchange route server": {
+ "$ref": "./examples/CreatePeeringWithExchangeRouteServer.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Peerings"
+ ],
+ "description": "Deletes an existing peering with the specified name under the given subscription and resource group.",
+ "operationId": "Peerings_Delete",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "description": "The name of the peering.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a peering": {
+ "$ref": "./examples/DeletePeering.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Peerings"
+ ],
+ "description": "Updates tags for a peering with the specified name under the given subscription and resource group.",
+ "operationId": "Peerings_Update",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "description": "The name of the peering.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "tags",
+ "in": "body",
+ "description": "The resource tags.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResourceTags"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Peering"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update peering tags": {
+ "$ref": "./examples/UpdatePeeringTags.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings": {
+ "get": {
+ "tags": [
+ "Peerings"
+ ],
+ "description": "Lists all of the peerings under the given subscription and resource group.",
+ "operationId": "Peerings_ListByResourceGroup",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List peerings in a resource group": {
+ "$ref": "./examples/ListPeeringsByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerings": {
+ "get": {
+ "tags": [
+ "Peerings"
+ ],
+ "description": "Lists all of the peerings under the given subscription.",
+ "operationId": "Peerings_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List peerings in a subscription": {
+ "$ref": "./examples/ListPeeringsBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/receivedRoutes": {
+ "get": {
+ "tags": [
+ "Peerings"
+ ],
+ "description": "Lists the prefixes received over the specified peering under the given subscription and resource group.",
+ "operationId": "ReceivedRoutes_ListByPeering",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "description": "The name of the peering.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "prefix",
+ "in": "query",
+ "description": "The optional prefix that can be used to filter the routes.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "asPath",
+ "in": "query",
+ "description": "The optional AS path that can be used to filter the routes.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "originAsValidationState",
+ "in": "query",
+ "description": "The optional origin AS validation state that can be used to filter the routes.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "rpkiValidationState",
+ "in": "query",
+ "description": "The optional RPKI validation state that can be used to filter the routes.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "The optional page continuation token that is used in the event of paginated result.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringReceivedRouteListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Lists the prefixes received over the specified peering under the given subscription and resource group.": {
+ "$ref": "./examples/GetPeeringReceivedRoutes.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceCountries": {
+ "get": {
+ "tags": [
+ "PeeringServiceCountries"
+ ],
+ "description": "Lists all of the available countries for peering service.",
+ "operationId": "PeeringServiceCountries_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringServiceCountryListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List peering service countries": {
+ "$ref": "./examples/ListPeeringServiceCountriesBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceLocations": {
+ "get": {
+ "tags": [
+ "PeeringServiceLocations"
+ ],
+ "description": "Lists all of the available locations for peering service.",
+ "operationId": "PeeringServiceLocations_List",
+ "parameters": [
+ {
+ "name": "country",
+ "in": "query",
+ "description": "The country of interest, in which the locations are to be present.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringServiceLocationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List peering service locations": {
+ "$ref": "./examples/ListPeeringServiceLocationsBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes/{prefixName}": {
+ "get": {
+ "tags": [
+ "PeeringServicePrefixes"
+ ],
+ "description": "Gets an existing prefix with the specified name under the given subscription, resource group and peering service.",
+ "operationId": "Prefixes_Get",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringServiceName",
+ "in": "path",
+ "description": "The name of the peering service.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "prefixName",
+ "in": "path",
+ "description": "The name of the prefix.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "description": "The properties to be expanded.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringServicePrefix"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a prefix associated with the peering service": {
+ "$ref": "./examples/GetPeeringServicePrefix.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PeeringServicePrefixes"
+ ],
+ "description": "Creates a new prefix with the specified name under the given subscription, resource group and peering service.",
+ "operationId": "Prefixes_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringServiceName",
+ "in": "path",
+ "description": "The name of the peering service.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "prefixName",
+ "in": "path",
+ "description": "The name of the prefix.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringServicePrefix",
+ "in": "body",
+ "description": "The properties needed to create a prefix.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PeeringServicePrefix"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringServicePrefix"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/PeeringServicePrefix"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a prefix for the peering service": {
+ "$ref": "./examples/CreatePeeringServicePrefix.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PeeringServicePrefixes"
+ ],
+ "description": "Deletes an existing prefix with the specified name under the given subscription, resource group and peering service.",
+ "operationId": "Prefixes_Delete",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringServiceName",
+ "in": "path",
+ "description": "The name of the peering service.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "prefixName",
+ "in": "path",
+ "description": "The name of the prefix.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a prefix associated with the peering service": {
+ "$ref": "./examples/DeletePeeringServicePrefix.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes": {
+ "get": {
+ "tags": [
+ "PeeringServicePrefixes"
+ ],
+ "description": "Lists all prefixes under the given subscription, resource group and peering service.",
+ "operationId": "Prefixes_ListByPeeringService",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringServiceName",
+ "in": "path",
+ "description": "The name of the peering service.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "description": "The properties to be expanded.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringServicePrefixListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all the prefixes associated with the peering service": {
+ "$ref": "./examples/ListPrefixesByPeeringService.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceProviders": {
+ "get": {
+ "tags": [
+ "PeeringServiceProviders"
+ ],
+ "description": "Lists all of the available peering service locations for the specified kind of peering.",
+ "operationId": "PeeringServiceProviders_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringServiceProviderListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List peering service providers": {
+ "$ref": "./examples/ListPeeringServiceProviders.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}": {
+ "get": {
+ "tags": [
+ "PeeringServices"
+ ],
+ "description": "Gets an existing peering service with the specified name under the given subscription and resource group.",
+ "operationId": "PeeringServices_Get",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringServiceName",
+ "in": "path",
+ "description": "The name of the peering.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringService"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a peering service": {
+ "$ref": "./examples/GetPeeringService.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PeeringServices"
+ ],
+ "description": "Creates a new peering service or updates an existing peering with the specified name under the given subscription and resource group.",
+ "operationId": "PeeringServices_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringServiceName",
+ "in": "path",
+ "description": "The name of the peering service.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringService",
+ "in": "body",
+ "description": "The properties needed to create or update a peering service.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PeeringService"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringService"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/PeeringService"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a peering service": {
+ "$ref": "./examples/CreatePeeringService.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PeeringServices"
+ ],
+ "description": "Deletes an existing peering service with the specified name under the given subscription and resource group.",
+ "operationId": "PeeringServices_Delete",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringServiceName",
+ "in": "path",
+ "description": "The name of the peering service.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a peering service": {
+ "$ref": "./examples/DeletePeeringService.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "PeeringServices"
+ ],
+ "description": "Updates tags for a peering service with the specified name under the given subscription and resource group.",
+ "operationId": "PeeringServices_Update",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "peeringServiceName",
+ "in": "path",
+ "description": "The name of the peering service.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "tags",
+ "in": "body",
+ "description": "The resource tags.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResourceTags"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringService"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update peering service tags": {
+ "$ref": "./examples/UpdatePeeringServiceTags.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices": {
+ "get": {
+ "tags": [
+ "PeeringServices"
+ ],
+ "description": "Lists all of the peering services under the given subscription and resource group.",
+ "operationId": "PeeringServices_ListByResourceGroup",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringServiceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List peering services in a resource group": {
+ "$ref": "./examples/ListPeeringServicesByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServices": {
+ "get": {
+ "tags": [
+ "PeeringServices"
+ ],
+ "description": "Lists all of the peerings under the given subscription.",
+ "operationId": "PeeringServices_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PeeringServiceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation has failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List peering services in a subscription": {
+ "$ref": "./examples/ListPeeringServicesBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CheckServiceProviderAvailabilityInput": {
+ "description": "Class for CheckServiceProviderAvailabilityInput",
+ "type": "object",
+ "properties": {
+ "peeringServiceLocation": {
+ "description": "Gets or sets the peering service location.",
+ "type": "string"
+ },
+ "peeringServiceProvider": {
+ "description": "Gets or sets the peering service provider.",
+ "type": "string"
+ }
+ }
+ },
+ "PeeringListResult": {
+ "description": "The paginated list of peerings.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of peerings.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Peering"
+ }
+ },
+ "nextLink": {
+ "description": "The link to fetch the next page of peerings.",
+ "type": "string"
+ }
+ }
+ },
+ "Peering": {
+ "description": "Peering is a logical representation of a set of connections to the Microsoft Cloud Edge at a location.",
+ "required": [
+ "sku",
+ "kind",
+ "location"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/PeeringSku",
+ "description": "The SKU that defines the tier and kind of the peering."
+ },
+ "kind": {
+ "description": "The kind of the peering.",
+ "enum": [
+ "Direct",
+ "Exchange"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "kind",
+ "modelAsString": true
+ }
+ },
+ "properties": {
+ "$ref": "#/definitions/PeeringProperties",
+ "description": "The properties that define a peering.",
+ "x-ms-client-flatten": true
+ },
+ "location": {
+ "description": "The location of the resource.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "description": "The resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PeeringSku": {
+ "description": "The SKU that defines the tier and kind of the peering.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the peering SKU.",
+ "type": "string"
+ },
+ "tier": {
+ "description": "The tier of the peering SKU.",
+ "enum": [
+ "Basic",
+ "Premium"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "tier",
+ "modelAsString": true
+ }
+ },
+ "family": {
+ "description": "The family of the peering SKU.",
+ "enum": [
+ "Direct",
+ "Exchange"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "family",
+ "modelAsString": true
+ }
+ },
+ "size": {
+ "description": "The size of the peering SKU.",
+ "enum": [
+ "Free",
+ "Metered",
+ "Unlimited"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "size",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PeeringProperties": {
+ "description": "The properties that define connectivity to the Microsoft Cloud Edge.",
+ "type": "object",
+ "properties": {
+ "direct": {
+ "$ref": "#/definitions/PeeringPropertiesDirect",
+ "description": "The properties that define a direct peering."
+ },
+ "exchange": {
+ "$ref": "#/definitions/PeeringPropertiesExchange",
+ "description": "The properties that define an exchange peering."
+ },
+ "peeringLocation": {
+ "description": "The location of the peering.",
+ "type": "string"
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the resource.",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PeeringPropertiesDirect": {
+ "description": "The properties that define a direct peering.",
+ "type": "object",
+ "properties": {
+ "connections": {
+ "description": "The set of connections that constitute a direct peering.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DirectConnection"
+ }
+ },
+ "useForPeeringService": {
+ "description": "The flag that indicates whether or not the peering is used for peering service.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "peerAsn": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The reference of the peer ASN."
+ },
+ "directPeeringType": {
+ "description": "The type of direct peering.",
+ "enum": [
+ "Edge",
+ "Transit",
+ "Cdn",
+ "Internal",
+ "Ix",
+ "IxRs"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "directPeeringType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PeeringPropertiesExchange": {
+ "description": "The properties that define an exchange peering.",
+ "type": "object",
+ "properties": {
+ "connections": {
+ "description": "The set of connections that constitute an exchange peering.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExchangeConnection"
+ }
+ },
+ "peerAsn": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The reference of the peer ASN."
+ }
+ }
+ },
+ "DirectConnection": {
+ "description": "The properties that define a direct connection.",
+ "type": "object",
+ "properties": {
+ "bandwidthInMbps": {
+ "format": "int32",
+ "description": "The bandwidth of the connection.",
+ "type": "integer"
+ },
+ "provisionedBandwidthInMbps": {
+ "format": "int32",
+ "description": "The bandwidth that is actually provisioned.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "sessionAddressProvider": {
+ "description": "The field indicating if Microsoft provides session ip addresses.",
+ "enum": [
+ "Microsoft",
+ "Peer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "sessionAddressProvider",
+ "modelAsString": true
+ }
+ },
+ "useForPeeringService": {
+ "description": "The flag that indicates whether or not the connection is used for peering service.",
+ "type": "boolean"
+ },
+ "peeringDBFacilityId": {
+ "format": "int32",
+ "description": "The PeeringDB.com ID of the facility at which the connection has to be set up.",
+ "type": "integer"
+ },
+ "connectionState": {
+ "description": "The state of the connection.",
+ "enum": [
+ "None",
+ "PendingApproval",
+ "Approved",
+ "ProvisioningStarted",
+ "ProvisioningFailed",
+ "ProvisioningCompleted",
+ "Validating",
+ "Active"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "connectionState",
+ "modelAsString": true
+ }
+ },
+ "bgpSession": {
+ "$ref": "#/definitions/BgpSession",
+ "description": "The BGP session associated with the connection."
+ },
+ "connectionIdentifier": {
+ "description": "The unique identifier (GUID) for the connection.",
+ "type": "string"
+ },
+ "errorMessage": {
+ "description": "The error message related to the connection state, if any.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SubResource": {
+ "description": "The sub resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The identifier of the referenced resource.",
+ "type": "string"
+ }
+ }
+ },
+ "ExchangeConnection": {
+ "description": "The properties that define an exchange connection.",
+ "type": "object",
+ "properties": {
+ "peeringDBFacilityId": {
+ "format": "int32",
+ "description": "The PeeringDB.com ID of the facility at which the connection has to be set up.",
+ "type": "integer"
+ },
+ "connectionState": {
+ "description": "The state of the connection.",
+ "enum": [
+ "None",
+ "PendingApproval",
+ "Approved",
+ "ProvisioningStarted",
+ "ProvisioningFailed",
+ "ProvisioningCompleted",
+ "Validating",
+ "Active"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "connectionState",
+ "modelAsString": true
+ }
+ },
+ "bgpSession": {
+ "$ref": "#/definitions/BgpSession",
+ "description": "The BGP session associated with the connection."
+ },
+ "connectionIdentifier": {
+ "description": "The unique identifier (GUID) for the connection.",
+ "type": "string"
+ },
+ "errorMessage": {
+ "description": "The error message related to the connection state, if any.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "BgpSession": {
+ "description": "The properties that define a BGP session.",
+ "type": "object",
+ "properties": {
+ "sessionPrefixV4": {
+ "description": "The IPv4 prefix that contains both ends' IPv4 addresses.",
+ "type": "string"
+ },
+ "sessionPrefixV6": {
+ "description": "The IPv6 prefix that contains both ends' IPv6 addresses.",
+ "type": "string"
+ },
+ "microsoftSessionIPv4Address": {
+ "description": "The IPv4 session address on Microsoft's end.",
+ "type": "string"
+ },
+ "microsoftSessionIPv6Address": {
+ "description": "The IPv6 session address on Microsoft's end.",
+ "type": "string"
+ },
+ "peerSessionIPv4Address": {
+ "description": "The IPv4 session address on peer's end.",
+ "type": "string"
+ },
+ "peerSessionIPv6Address": {
+ "description": "The IPv6 session address on peer's end.",
+ "type": "string"
+ },
+ "sessionStateV4": {
+ "description": "The state of the IPv4 session.",
+ "enum": [
+ "None",
+ "Idle",
+ "Connect",
+ "Active",
+ "OpenSent",
+ "OpenConfirm",
+ "OpenReceived",
+ "Established",
+ "PendingAdd",
+ "PendingUpdate",
+ "PendingRemove"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "sessionStateV4",
+ "modelAsString": true
+ }
+ },
+ "sessionStateV6": {
+ "description": "The state of the IPv6 session.",
+ "enum": [
+ "None",
+ "Idle",
+ "Connect",
+ "Active",
+ "OpenSent",
+ "OpenConfirm",
+ "OpenReceived",
+ "Established",
+ "PendingAdd",
+ "PendingUpdate",
+ "PendingRemove"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "sessionStateV6",
+ "modelAsString": true
+ }
+ },
+ "maxPrefixesAdvertisedV4": {
+ "format": "int32",
+ "description": "The maximum number of prefixes advertised over the IPv4 session.",
+ "type": "integer"
+ },
+ "maxPrefixesAdvertisedV6": {
+ "format": "int32",
+ "description": "The maximum number of prefixes advertised over the IPv6 session.",
+ "type": "integer"
+ },
+ "md5AuthenticationKey": {
+ "description": "The MD5 authentication key of the session.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "The paginated list of peering API operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of peering API operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "description": "The link to fetch the next page of peering API operations.",
+ "type": "string"
+ }
+ }
+ },
+ "Operation": {
+ "description": "The peering API operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplayInfo",
+ "description": "The information related to the operation.",
+ "readOnly": true
+ },
+ "isDataAction": {
+ "description": "The flag that indicates whether the operation applies to data plane.",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationDisplayInfo": {
+ "description": "The information related to the operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "The name of the resource provider.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operation": {
+ "description": "The name of the operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "The description of the operation.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "PeerAsn": {
+ "description": "The essential information related to the peer's ASN.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PeerAsnProperties",
+ "description": "The properties that define a peer's ASN.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PeerAsnProperties": {
+ "description": "The properties that define a peer's ASN.",
+ "type": "object",
+ "properties": {
+ "peerAsn": {
+ "format": "int32",
+ "description": "The Autonomous System Number (ASN) of the peer.",
+ "type": "integer"
+ },
+ "peerContactDetail": {
+ "description": "The contact details of the peer.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContactDetail"
+ }
+ },
+ "peerName": {
+ "description": "The name of the peer.",
+ "type": "string"
+ },
+ "validationState": {
+ "description": "The validation state of the ASN associated with the peer.",
+ "enum": [
+ "None",
+ "Pending",
+ "Approved",
+ "Failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "validationState",
+ "modelAsString": true
+ }
+ },
+ "errorMessage": {
+ "description": "The error message for the validation state",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ContactDetail": {
+ "description": "The contact detail class.",
+ "type": "object",
+ "properties": {
+ "role": {
+ "description": "The role of the contact.",
+ "enum": [
+ "Noc",
+ "Policy",
+ "Technical",
+ "Service",
+ "Escalation",
+ "Other"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "role",
+ "modelAsString": true
+ }
+ },
+ "email": {
+ "description": "The e-mail address of the contact.",
+ "type": "string"
+ },
+ "phone": {
+ "description": "The phone number of the contact.",
+ "type": "string"
+ }
+ }
+ },
+ "PeerAsnListResult": {
+ "description": "The paginated list of peer ASNs.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of peer ASNs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PeerAsn"
+ }
+ },
+ "nextLink": {
+ "description": "The link to fetch the next page of peer ASNs.",
+ "type": "string"
+ }
+ }
+ },
+ "PeeringLocationListResult": {
+ "description": "The paginated list of peering locations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of peering locations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PeeringLocation"
+ }
+ },
+ "nextLink": {
+ "description": "The link to fetch the next page of peering locations.",
+ "type": "string"
+ }
+ }
+ },
+ "PeeringLocation": {
+ "description": "Peering location is where connectivity could be established to the Microsoft Cloud Edge.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "kind": {
+ "description": "The kind of peering that the peering location supports.",
+ "enum": [
+ "Direct",
+ "Exchange"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "kind",
+ "modelAsString": true
+ }
+ },
+ "properties": {
+ "$ref": "#/definitions/PeeringLocationProperties",
+ "description": "The properties that define a peering location.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PeeringLocationProperties": {
+ "description": "The properties that define a peering location.",
+ "type": "object",
+ "properties": {
+ "direct": {
+ "$ref": "#/definitions/PeeringLocationPropertiesDirect",
+ "description": "The properties that define a direct peering location."
+ },
+ "exchange": {
+ "$ref": "#/definitions/PeeringLocationPropertiesExchange",
+ "description": "The properties that define an exchange peering location."
+ },
+ "peeringLocation": {
+ "description": "The name of the peering location.",
+ "type": "string"
+ },
+ "country": {
+ "description": "The country in which the peering location exists.",
+ "type": "string"
+ },
+ "azureRegion": {
+ "description": "The Azure region associated with the peering location.",
+ "type": "string"
+ }
+ }
+ },
+ "PeeringLocationPropertiesDirect": {
+ "description": "The properties that define a direct peering location.",
+ "type": "object",
+ "properties": {
+ "peeringFacilities": {
+ "description": "The list of direct peering facilities at the peering location.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DirectPeeringFacility"
+ }
+ },
+ "bandwidthOffers": {
+ "description": "The list of bandwidth offers available at the peering location.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PeeringBandwidthOffer"
+ }
+ }
+ }
+ },
+ "PeeringLocationPropertiesExchange": {
+ "description": "The properties that define an exchange peering location.",
+ "type": "object",
+ "properties": {
+ "peeringFacilities": {
+ "description": "The list of exchange peering facilities at the peering location.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExchangePeeringFacility"
+ }
+ }
+ }
+ },
+ "DirectPeeringFacility": {
+ "description": "The properties that define a direct peering facility.",
+ "type": "object",
+ "properties": {
+ "address": {
+ "description": "The address of the direct peering facility.",
+ "type": "string"
+ },
+ "directPeeringType": {
+ "description": "The type of the direct peering.",
+ "enum": [
+ "Edge",
+ "Transit",
+ "Cdn",
+ "Internal",
+ "Ix",
+ "IxRs"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "directPeeringType",
+ "modelAsString": true
+ }
+ },
+ "peeringDBFacilityId": {
+ "format": "int32",
+ "description": "The PeeringDB.com ID of the facility.",
+ "type": "integer"
+ },
+ "peeringDBFacilityLink": {
+ "description": "The PeeringDB.com URL of the facility.",
+ "type": "string"
+ }
+ }
+ },
+ "PeeringBandwidthOffer": {
+ "description": "The properties that define a peering bandwidth offer.",
+ "type": "object",
+ "properties": {
+ "offerName": {
+ "description": "The name of the bandwidth offer.",
+ "type": "string"
+ },
+ "valueInMbps": {
+ "format": "int32",
+ "description": "The value of the bandwidth offer in Mbps.",
+ "type": "integer"
+ }
+ }
+ },
+ "ExchangePeeringFacility": {
+ "description": "The properties that define an exchange peering facility.",
+ "type": "object",
+ "properties": {
+ "exchangeName": {
+ "description": "The name of the exchange peering facility.",
+ "type": "string"
+ },
+ "bandwidthInMbps": {
+ "format": "int32",
+ "description": "The bandwidth of the connection between Microsoft and the exchange peering facility.",
+ "type": "integer"
+ },
+ "microsoftIPv4Address": {
+ "description": "The IPv4 address of Microsoft at the exchange peering facility.",
+ "type": "string"
+ },
+ "microsoftIPv6Address": {
+ "description": "The IPv6 address of Microsoft at the exchange peering facility.",
+ "type": "string"
+ },
+ "facilityIPv4Prefix": {
+ "description": "The IPv4 prefixes associated with the exchange peering facility.",
+ "type": "string"
+ },
+ "facilityIPv6Prefix": {
+ "description": "The IPv6 prefixes associated with the exchange peering facility.",
+ "type": "string"
+ },
+ "peeringDBFacilityId": {
+ "format": "int32",
+ "description": "The PeeringDB.com ID of the facility.",
+ "type": "integer"
+ },
+ "peeringDBFacilityLink": {
+ "description": "The PeeringDB.com URL of the facility.",
+ "type": "string"
+ }
+ }
+ },
+ "PeeringRegisteredAsn": {
+ "description": "The customer's ASN that is registered by the peering service provider.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PeeringRegisteredAsnProperties",
+ "description": "The properties that define a registered ASN.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PeeringRegisteredAsnProperties": {
+ "description": "The properties that define a registered ASN.",
+ "type": "object",
+ "properties": {
+ "asn": {
+ "format": "int32",
+ "description": "The customer's ASN from which traffic originates.",
+ "type": "integer"
+ },
+ "peeringServicePrefixKey": {
+ "description": "The peering service prefix key that is to be shared with the customer.",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the resource.",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PeeringRegisteredAsnListResult": {
+ "description": "The paginated list of peering registered ASNs.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of peering registered ASNs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PeeringRegisteredAsn"
+ }
+ },
+ "nextLink": {
+ "description": "The link to fetch the next page of peering registered ASNs.",
+ "type": "string"
+ }
+ }
+ },
+ "PeeringRegisteredPrefix": {
+ "description": "The customer's prefix that is registered by the peering service provider.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PeeringRegisteredPrefixProperties",
+ "description": "The properties that define a registered prefix.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PeeringRegisteredPrefixProperties": {
+ "description": "The properties that define a registered prefix.",
+ "type": "object",
+ "properties": {
+ "prefix": {
+ "description": "The customer's prefix from which traffic originates.",
+ "type": "string"
+ },
+ "prefixValidationState": {
+ "description": "The prefix validation state.",
+ "enum": [
+ "None",
+ "Invalid",
+ "Verified",
+ "Failed",
+ "Pending",
+ "Warning",
+ "Unknown"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "prefixValidationState",
+ "modelAsString": true
+ }
+ },
+ "peeringServicePrefixKey": {
+ "description": "The peering service prefix key that is to be shared with the customer.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorMessage": {
+ "description": "The error message associated with the validation state, if any.",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the resource.",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PeeringRegisteredPrefixListResult": {
+ "description": "The paginated list of peering registered prefixes.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of peering registered prefixes.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PeeringRegisteredPrefix"
+ }
+ },
+ "nextLink": {
+ "description": "The link to fetch the next page of peering registered prefixes.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceTags": {
+ "description": "The resource tags.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Gets or sets the tags, a dictionary of descriptors arm object",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PeeringReceivedRouteListResult": {
+ "description": "The paginated list of received routes for the peering.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of received routes for the peering.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PeeringReceivedRoute"
+ }
+ },
+ "nextLink": {
+ "description": "The link to fetch the next page of received routes for the peering.",
+ "type": "string"
+ }
+ }
+ },
+ "PeeringReceivedRoute": {
+ "description": "The properties that define a received route.",
+ "type": "object",
+ "properties": {
+ "prefix": {
+ "description": "The prefix.",
+ "type": "string",
+ "readOnly": true
+ },
+ "nextHop": {
+ "description": "The next hop for the prefix.",
+ "type": "string",
+ "readOnly": true
+ },
+ "asPath": {
+ "description": "The AS path for the prefix.",
+ "type": "string",
+ "readOnly": true
+ },
+ "originAsValidationState": {
+ "description": "The origin AS change information for the prefix.",
+ "type": "string",
+ "readOnly": true
+ },
+ "rpkiValidationState": {
+ "description": "The RPKI validation state for the prefix and origin AS that's listed in the AS path.",
+ "type": "string",
+ "readOnly": true
+ },
+ "trustAnchor": {
+ "description": "The authority which holds the Route Origin Authorization record for the prefix, if any.",
+ "type": "string",
+ "readOnly": true
+ },
+ "receivedTimestamp": {
+ "description": "The received timestamp associated with the prefix.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "PeeringServiceCountryListResult": {
+ "description": "The paginated list of peering service countries.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of peering service countries.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PeeringServiceCountry"
+ }
+ },
+ "nextLink": {
+ "description": "The link to fetch the next page of peering service countries.",
+ "type": "string"
+ }
+ }
+ },
+ "PeeringServiceCountry": {
+ "description": "The peering service country.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {}
+ },
+ "PeeringServiceLocationListResult": {
+ "description": "The paginated list of peering service locations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of peering service locations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PeeringServiceLocation"
+ }
+ },
+ "nextLink": {
+ "description": "The link to fetch the next page of peering service locations.",
+ "type": "string"
+ }
+ }
+ },
+ "PeeringServiceLocation": {
+ "description": "The peering service location.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PeeringServiceLocationProperties",
+ "description": "The properties that define a peering service location.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PeeringServiceLocationProperties": {
+ "description": "The properties that define connectivity to the Peering Service Location.",
+ "type": "object",
+ "properties": {
+ "country": {
+ "description": "Country of the customer",
+ "type": "string"
+ },
+ "state": {
+ "description": "State of the customer",
+ "type": "string"
+ },
+ "azureRegion": {
+ "description": "Azure region for the location",
+ "type": "string"
+ }
+ }
+ },
+ "PeeringServicePrefix": {
+ "description": "The peering service prefix class.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PeeringServicePrefixProperties",
+ "description": "Gets or sets the peering prefix properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PeeringServicePrefixProperties": {
+ "description": "The peering service prefix properties class.",
+ "type": "object",
+ "properties": {
+ "prefix": {
+ "description": "The prefix from which your traffic originates.",
+ "type": "string"
+ },
+ "prefixValidationState": {
+ "description": "The prefix validation state",
+ "enum": [
+ "None",
+ "Invalid",
+ "Verified",
+ "Failed",
+ "Pending",
+ "Warning",
+ "Unknown"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "prefixValidationState",
+ "modelAsString": true
+ }
+ },
+ "learnedType": {
+ "description": "The prefix learned type",
+ "enum": [
+ "None",
+ "ViaServiceProvider",
+ "ViaSession"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "learnedType",
+ "modelAsString": true
+ }
+ },
+ "errorMessage": {
+ "description": "The error message for validation state",
+ "type": "string",
+ "readOnly": true
+ },
+ "events": {
+ "description": "The list of events for peering service prefix",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PeeringServicePrefixEvent"
+ },
+ "readOnly": true
+ },
+ "peeringServicePrefixKey": {
+ "description": "The peering service prefix key",
+ "type": "string"
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the resource.",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PeeringServicePrefixEvent": {
+ "description": "The details of the event associated with a prefix.",
+ "type": "object",
+ "properties": {
+ "eventTimestamp": {
+ "format": "date-time",
+ "description": "The timestamp of the event associated with a prefix.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eventType": {
+ "description": "The type of the event associated with a prefix.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eventSummary": {
+ "description": "The summary of the event associated with a prefix.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eventLevel": {
+ "description": "The level of the event associated with a prefix.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eventDescription": {
+ "description": "The description of the event associated with a prefix.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "PeeringServicePrefixListResult": {
+ "description": "The paginated list of peering service prefixes.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of peering service prefixes.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PeeringServicePrefix"
+ }
+ },
+ "nextLink": {
+ "description": "The link to fetch the next page of peering service prefixes.",
+ "type": "string"
+ }
+ }
+ },
+ "PeeringServiceProviderListResult": {
+ "description": "The paginated list of peering service providers.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of peering service providers.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PeeringServiceProvider"
+ }
+ },
+ "nextLink": {
+ "description": "The link to fetch the next page of peering service providers.",
+ "type": "string"
+ }
+ }
+ },
+ "PeeringServiceProvider": {
+ "description": "PeeringService provider",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PeeringServiceProviderProperties",
+ "description": "The properties that define a peering service provider.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PeeringServiceProviderProperties": {
+ "description": "The properties that define connectivity to the Peering Service Provider.",
+ "type": "object",
+ "properties": {
+ "serviceProviderName": {
+ "description": "The name of the service provider.",
+ "type": "string"
+ }
+ }
+ },
+ "PeeringService": {
+ "description": "Peering Service",
+ "required": [
+ "location"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/PeeringServiceSku",
+ "description": "The SKU that defines the type of the peering service."
+ },
+ "properties": {
+ "$ref": "#/definitions/PeeringServiceProperties",
+ "description": "The properties that define a peering service.",
+ "x-ms-client-flatten": true
+ },
+ "location": {
+ "description": "The location of the resource.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "description": "The resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PeeringServiceSku": {
+ "description": "The SKU that defines the type of the peering service.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the peering service SKU.",
+ "type": "string"
+ }
+ }
+ },
+ "PeeringServiceProperties": {
+ "description": "The properties that define connectivity to the Peering Service.",
+ "type": "object",
+ "properties": {
+ "peeringServiceLocation": {
+ "description": "The PeeringServiceLocation of the Customer.",
+ "type": "string"
+ },
+ "peeringServiceProvider": {
+ "description": "The MAPS Provider Name.",
+ "type": "string"
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the resource.",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PeeringServiceListResult": {
+ "description": "The paginated list of peering services.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of peering services.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PeeringService"
+ }
+ },
+ "nextLink": {
+ "description": "The link to fetch the next page of peering services.",
+ "type": "string"
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "The error response that indicates why an operation has failed.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorDetail",
+ "description": "The error detail that describes why an operation has failed."
+ }
+ }
+ },
+ "ErrorDetail": {
+ "description": "The error detail that describes why an operation has failed.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The error message.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Resource": {
+ "description": "The ARM resource class.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "The ID of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The Azure subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The client API version.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/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 f3871b5269e6..74cd7447316f 100644
--- a/specification/peering/resource-manager/readme.go.md
+++ b/specification/peering/resource-manager/readme.go.md
@@ -12,6 +12,11 @@ go:
### Go multi-api
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2020-04-01
+```
+or
``` yaml $(go) && $(multiapi)
batch:
- tag: package-2020-01-01-preview
@@ -26,6 +31,16 @@ or
batch:
- tag: package-2019-08-01-preview
```
+
+### Tag: package-2020-04-01 and go
+
+These settings apply only when `--tag=package-2020-04-01 --go` is specified on the command line.
+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)
+```
+
### Tag: package-2020-01-01-preview and go
These settings apply only when `--tag=package-2020-01-01-preview --go` is specified on the command line.
diff --git a/specification/peering/resource-manager/readme.java.md b/specification/peering/resource-manager/readme.java.md
index 7a5bd751211e..41cb57f82562 100644
--- a/specification/peering/resource-manager/readme.java.md
+++ b/specification/peering/resource-manager/readme.java.md
@@ -14,6 +14,12 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-peering
### Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2020-04-01
+```
+or
``` yaml $(java) && $(multiapi)
batch:
- tag: package-2020-01-01-preview
@@ -29,6 +35,19 @@ batch:
- tag: package-2019-08-01-preview
```
+### Tag: package-2020-04-01 and java
+
+These settings apply only when `--tag=package-2020-04-01 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2020-04-01' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.peering.v2020_04_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/peering/mgmt-v2020_04_01
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-2020-01-01-preview and java
These settings apply only when `--tag=package-2020-01-01-preview --java` is specified on the command line.
diff --git a/specification/peering/resource-manager/readme.md b/specification/peering/resource-manager/readme.md
index db0485dc1c6f..947c30cb6823 100644
--- a/specification/peering/resource-manager/readme.md
+++ b/specification/peering/resource-manager/readme.md
@@ -21,6 +21,14 @@ To see additional help and options, run:
### Basic Information
These are the global settings for the Peering API.
+
+``` yaml
+title: PeeringManagementClient
+description: Peering Client
+openapi-type: arm
+tag: package-2020-04-01
+```
+or
``` yaml
title: PeeringManagementClient
description: Peering Client
@@ -42,6 +50,15 @@ openapi-type: arm
tag: package-2019-08-01-preview
```
+### Tag: package-2020-04-01
+
+These settings apply only when `--tag=package-2020-04-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-04-01'
+input-file:
+- Microsoft.Peering/stable/2020-04-01/peering.json
+```
+
### Tag: package-2020-01-01-preview
These settings apply only when `--tag=package-2020-01-01-preview` is specified on the command line.
@@ -114,6 +131,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.Peering/stable/2020-04-01/peering.json
- $(this-folder)/Microsoft.Peering/preview/2020-01-01-preview/peering.json
- $(this-folder)/Microsoft.Peering/preview/2019-09-01-preview/peering.json
- $(this-folder)/Microsoft.Peering/preview/2019-08-01-preview/peering.json
diff --git a/specification/peering/resource-manager/readme.ruby.md b/specification/peering/resource-manager/readme.ruby.md
index f077e470ae5c..e62dc7a47c9e 100644
--- a/specification/peering/resource-manager/readme.ruby.md
+++ b/specification/peering/resource-manager/readme.ruby.md
@@ -2,6 +2,12 @@
These settings apply only when `--ruby` is specified on the command line.
+``` yaml
+package-name: azure_mgmt_peering
+package-version: "2020-04-01"
+azure-arm: true
+```
+or
``` yaml
package-name: azure_mgmt_peering
package-version: "2020-01-01-preview"
@@ -21,6 +27,12 @@ azure-arm: true
```
### Ruby multi-api
+
+``` yaml $(ruby) && $(multiapi)
+batch:
+ - tag: package-2020-04-01
+```
+or
``` yaml $(ruby) && $(multiapi)
batch:
- tag: package-2020-01-01-preview
@@ -36,6 +48,16 @@ batch:
- tag: package-2019-08-01-preview
```
+### Tag: package-2020-04-01 and ruby
+
+These settings apply only when `--tag=package-2020-04-01 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-04-01' && $(ruby)
+namespace: "Azure::Peering::Mgmt::V2020_04_01"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_peering/lib
+```
+
### Tag: package-2020-01-01-preview and ruby
These settings apply only when `--tag=package-2020-01-01-preview --ruby` is specified on the command line.
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/readme.go.md b/specification/postgresql/resource-manager/readme.go.md
index 9fefd0e0313c..7fc16ffa1a54 100644
--- a/specification/postgresql/resource-manager/readme.go.md
+++ b/specification/postgresql/resource-manager/readme.go.md
@@ -13,10 +13,20 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2020-01-01
- tag: package-2017-12-01-preview
- tag: package-2017-12-01
```
+### Tag: package-2020-01-01 and go
+
+These settings apply only when `--tag=package-2020-01-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-01-01' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-01-01/$(namespace)
+```
+
### Tag: package-2017-12-01-preview and go
These settings apply only when `--tag=package-2017-12-01-preview --go` is specified on the command line.
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 ea6c251dceb2..522c8ff4f166 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
@@ -8006,6 +8006,16 @@
"type": "string",
"readOnly": true
},
+ "initialPrimaryZone": {
+ "description": "The initial primary availability zone.",
+ "type": "string",
+ "readOnly": true
+ },
+ "initialRecoveryZone": {
+ "description": "The initial recovery availability zone.",
+ "type": "string",
+ "readOnly": true
+ },
"multiVmGroupId": {
"description": "The multi vm group Id.",
"type": "string"
@@ -14383,7 +14393,7 @@
"type": "string"
}
},
- "x-ms-discriminator-value": "RecoveryPlanA2ADetails"
+ "x-ms-discriminator-value": "A2A"
},
"RecoveryPlanA2AInput": {
"description": "Recovery plan A2A input.",
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 f1d23375a8b2..d31c784ea472 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
@@ -36,6 +36,9 @@
"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": [
@@ -75,6 +78,9 @@
},
"/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": [
@@ -112,6 +118,9 @@
}
},
"delete": {
+ "tags": [
+ "GraphQuery"
+ ],
"description": "Delete a graph query.",
"operationId": "GraphQuery_Delete",
"parameters": [
@@ -149,6 +158,9 @@
}
},
"put": {
+ "tags": [
+ "GraphQuery"
+ ],
"description": "Create a new graph query.",
"operationId": "GraphQuery_CreateOrUpdate",
"parameters": [
@@ -255,6 +267,11 @@
"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,
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/Microsoft.ResourceGraph/stable/2019-04-01/resourcegraph.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/resourcegraph.json
index 5a76305a7a52..4dced5564006 100644
--- a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/resourcegraph.json
+++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/resourcegraph.json
@@ -290,7 +290,8 @@
"type": "string"
},
"data": {
- "description": "Query output in tabular format."
+ "description": "Query output in tabular format.",
+ "type": "object"
},
"facets": {
"description": "Query facets.",
@@ -409,7 +410,8 @@
"format": "int32"
},
"data": {
- "description": "A table containing the desired facets. Only present if the facet is valid."
+ "description": "A table containing the desired facets. Only present if the facet is valid.",
+ "type": "object"
}
},
"required": [
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/stable/2019-08-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-08-01/resources.json
index 9052916fa211..9e93e552c6db 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-08-01/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-08-01/resources.json
@@ -2730,7 +2730,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"
@@ -2803,7 +2804,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"
@@ -2880,7 +2882,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",
@@ -2972,7 +2975,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",
@@ -3058,7 +3062,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"
@@ -3101,7 +3106,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": {
@@ -3139,7 +3145,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": {
@@ -3181,7 +3188,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",
@@ -3238,7 +3246,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",
@@ -3289,7 +3298,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": {
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 76b3ad069184..27da76a83a66 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
@@ -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": {
@@ -5034,9 +5044,9 @@
},
"userAssignedIdentities": {
"type": "object",
- "x-ms-client-name": "IdentityUserAssignedIdentitiesValue",
"additionalProperties": {
"type": "object",
+ "x-ms-client-name": "IdentityUserAssignedIdentitiesValue",
"properties": {
"principalId": {
"readOnly": true,
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/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json
new file mode 100644
index 000000000000..c0c46c253951
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-03-13",
+ "subscriptionId": "subid",
+ "service": {
+ "location": "westus",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "publicNetworkAccess": "disabled",
+ "hostingMode": "default"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "provisioning",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "provisioning",
+ "publicNetworkAccess": "disabled",
+ "networkRuleSet": {
+ "ipRules": []
+ },
+ "privateEndpointConnections": [],
+ "sharedPrivateLinkResources": []
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "provisioning",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "provisioning",
+ "publicNetworkAccess": "disabled",
+ "networkRuleSet": {
+ "ipRules": []
+ },
+ "privateEndpointConnections": [],
+ "sharedPrivateLinkResources": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json
new file mode 100644
index 000000000000..04a1a93a0753
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-03-13",
+ "subscriptionId": "subid",
+ "service": {
+ "location": "westus",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 1,
+ "partitionCount": 1,
+ "networkRuleSet": {
+ "ipRules": [
+ {
+ "value": "123.4.5.6"
+ },
+ {
+ "value": "123.4.6.0/18"
+ }
+ ]
+ },
+ "hostingMode": "default"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 1,
+ "partitionCount": 1,
+ "status": "provisioning",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "provisioning",
+ "publicNetworkAccess": "enabled",
+ "networkRuleSet": {
+ "ipRules": [
+ {
+ "value": "123.4.5.6"
+ },
+ {
+ "value": "123.4.6.0/18"
+ }
+ ]
+ },
+ "privateEndpointConnections": [],
+ "sharedPrivateLinkResources": []
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 1,
+ "partitionCount": 1,
+ "status": "provisioning",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "provisioning",
+ "publicNetworkAccess": "enabled",
+ "networkRuleSet": {
+ "ipRules": [
+ {
+ "value": "123.4.5.6"
+ },
+ {
+ "value": "123.4.6.0/18"
+ }
+ ]
+ },
+ "privateEndpointConnections": [],
+ "sharedPrivateLinkResources": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json
index 9ca6ab6cb3c4..cb73c5c6854a 100644
--- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json
@@ -8,9 +8,7 @@
"properties": {
"replicaCount": 1,
"partitionCount": 1,
- "networkRuleSet": {
- "ipRules": []
- }
+ "publicNetworkAccess": "disabled"
}
}
},
@@ -35,7 +33,7 @@
"statusDetails": "",
"hostingMode": "default",
"provisioningState": "succeeded",
- "publicNetworkAccess": "enabled",
+ "publicNetworkAccess": "disabled",
"networkRuleSet": {
"ipRules": []
},
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToAllowAccessFromCustomIPs.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json
similarity index 90%
rename from specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToAllowAccessFromCustomIPs.json
rename to specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json
index 82fb1e0c8d88..2220cb66433a 100644
--- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToAllowAccessFromCustomIPs.json
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json
@@ -8,10 +8,14 @@
"properties": {
"replicaCount": 3,
"partitionCount": 1,
+ "publicNetworkAccess": "enabled",
"networkRuleSet": {
"ipRules": [
{
- "value": "10.2.3.4"
+ "value": "123.4.5.6"
+ },
+ {
+ "value": "123.4.6.0/18"
}
]
}
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 e96041380541..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
@@ -344,6 +344,12 @@
"SearchCreateOrUpdateService": {
"$ref": "./examples/SearchCreateOrUpdateService.json"
},
+ "SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs": {
+ "$ref": "./examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json"
+ },
+ "SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints": {
+ "$ref": "./examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json"
+ },
"SearchCreateOrUpdateServiceWithIdentity": {
"$ref": "./examples/SearchCreateOrUpdateServiceWithIdentity.json"
}
@@ -416,8 +422,8 @@
"SearchUpdateServiceToRemoveIdentity": {
"$ref": "./examples/SearchUpdateServiceToRemoveIdentity.json"
},
- "searchUpdateServiceToAllowAccessFromCustomIPs": {
- "$ref": "./examples/SearchUpdateServiceToAllowAccessFromCustomIPs.json"
+ "searchUpdateServiceToAllowAccessFromPublicCustomIPs": {
+ "$ref": "./examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json"
},
"searchUpdateServiceToAllowAccessFromPrivateEndpoints": {
"$ref": "./examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json"
@@ -1287,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.",
@@ -1318,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": {
@@ -1350,7 +1363,7 @@
"properties": {
"ipRules": {
"type": "array",
- "description": "A list of IP restriction rules that defines the inbound network access to the search service endpoint. These restriction rules are applied only when the EndpointAccess of the search service is Public.",
+ "description": "A list of IP restriction rules that defines the inbound network(s) with allowing access to the search service endpoint. At the meantime, all other public IP networks are blocked by the firewall. These restriction rules are applied only when the 'publicNetworkAccess' of the search service is 'enabled'; otherwise, traffic over public interface is not allowed even with any public IP rules, and private endpoint connections would be the exclusive access method.",
"items": {
"$ref": "#/definitions/IpRule"
}
@@ -1419,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."
@@ -1732,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..d80f8690a49c
--- /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 enable of 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..bd7565f01793
--- /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 enable of 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..f543777c76e2
--- /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..aec26c1a6e20
--- /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 enable of 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..ebe793feb7dc
--- /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..ed64e7a0096f
--- /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 Scores"
+ ],
+ "description": "Get secure scores on all your initiatives inside a 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 Scores"
+ ],
+ "description": "Get secure score for a specific initiatives inside a scope",
+ "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": {
+ "List secure score's controls level for the specified name": {
+ "$ref": "./examples/secureScores/ListSecureScoreControlsForName_builtin_example.json"
+ },
+ "Get secure score's controls level for the specified name with expand parameter (builtin)": {
+ "$ref": "./examples/secureScores/ListSecureScoreControlsForNameWithExpand_builtin_example.json"
+ }
+ },
+ "tags": [
+ "Secure Scores"
+ ],
+ "description": "Get all secure score controls on specific initiatives inside 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 Scores"
+ ],
+ "description": "Get all secure score controls on specific initiatives inside 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 secure score controls definition": {
+ "$ref": "./examples/secureScoreControlDefinitions/ListSecureScoreControlDefinitions_example.json"
+ }
+ },
+ "tags": [
+ "Secure Score Controls Definition"
+ ],
+ "description": "Get definition information on all secure score controls",
+ "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 secure score controls definition by subscription": {
+ "$ref": "./examples/secureScoreControlDefinitions/ListSecureScoreControlDefinitions_subscription_example.json"
+ }
+ },
+ "tags": [
+ "Secure Score Controls Definition"
+ ],
+ "description": "Get definition information on all secure score controls in subscription level",
+ "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": "Page of a secure scores list",
+ "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": "User friendly display name of the secure score item",
+ "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 applicable",
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "exclusiveMinimum": false
+ },
+ "current": {
+ "description": "Actual 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": "Page of a secure score controls list",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of secure score 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": "Secure score control (calculated) object",
+ "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": "Page of a secure score controls definition list",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of secure score 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": "Secure Score Control's Definition information",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SecureScoreControlDefinitionItemProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/types.json#/definitions/Resource"
+ }
+ ]
+ },
+ "SecureScoreControlDefinitionItemProperties": {
+ "description": "Secure Score 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 control",
+ "readOnly": true,
+ "$ref": "../../../common/v1/types.json#/definitions/AzureResourceLinks"
+ }
+ }
+ },
+ "SecureScoreControlDefinitionSource": {
+ "description": "representing the source of the control",
+ "readOnly": true,
+ "type": "object",
+ "properties": {
+ "sourceType": {
+ "description": "BuiltIn if the control is built-in from Azure Security Center managed assessments, Custom (Future) if the assessment based on custom Azure Policy definition, CustomerManaged (future) for customers who build their own controls",
+ "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 secure score initiative name",
+ "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/stable/2020-01-01/discoveredSecuritySolutions.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/discoveredSecuritySolutions.json
new file mode 100644
index 000000000000..ea7a8b9984c1
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/discoveredSecuritySolutions.json
@@ -0,0 +1,263 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Security Center",
+ "description": "API spec for Microsoft.Security (Azure Security Center) resource provider",
+ "version": "2020-01-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Security/discoveredSecuritySolutions": {
+ "get": {
+ "x-ms-examples": {
+ "Get discovered security solutions": {
+ "$ref": "./examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionsSubscription_example.json"
+ }
+ },
+ "tags": [
+ "DiscoveredSecuritySolutions"
+ ],
+ "description": "Gets a list of discovered Security Solutions for the subscription.",
+ "operationId": "DiscoveredSecuritySolutions_List",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiscoveredSecuritySolutionList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/discoveredSecuritySolutions": {
+ "get": {
+ "x-ms-examples": {
+ "Get discovered security solutions from a security data location": {
+ "$ref": "./examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionsSubscriptionLocation_example.json"
+ }
+ },
+ "tags": [
+ "DiscoveredSecuritySolutions"
+ ],
+ "description": "Gets a list of discovered Security Solutions for the subscription and location.",
+ "operationId": "DiscoveredSecuritySolutions_ListByHomeRegion",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/AscLocation"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiscoveredSecuritySolutionList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/discoveredSecuritySolutions/{discoveredSecuritySolutionName}": {
+ "get": {
+ "x-ms-examples": {
+ "Get discovered security solution from a security data location": {
+ "$ref": "./examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionResourceGroupLocation_example.json"
+ }
+ },
+ "tags": [
+ "DiscoveredSecuritySolutions"
+ ],
+ "description": "Gets a specific discovered Security Solution.",
+ "operationId": "DiscoveredSecuritySolutions_Get",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/AscLocation"
+ },
+ {
+ "$ref": "#/parameters/DiscoveredSecuritySolutionName"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiscoveredSecuritySolution"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DiscoveredSecuritySolutionList": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiscoveredSecuritySolution"
+ }
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URI to fetch the next page."
+ }
+ }
+ },
+ "DiscoveredSecuritySolution": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DiscoveredSecuritySolutionProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/types.json#/definitions/Resource"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/definitions/Location"
+ }
+ ]
+ },
+ "DiscoveredSecuritySolutionProperties": {
+ "type": "object",
+ "properties": {
+ "securityFamily": {
+ "type": "string",
+ "description": "The security family of the discovered solution",
+ "enum": [
+ "Waf",
+ "Ngfw",
+ "SaasWaf",
+ "Va"
+ ],
+ "x-ms-enum": {
+ "name": "securityFamily",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Waf"
+ },
+ {
+ "value": "Ngfw"
+ },
+ {
+ "value": "SaasWaf"
+ },
+ {
+ "value": "Va"
+ }
+ ]
+ }
+ },
+ "offer": {
+ "type": "string",
+ "description": "The security solutions' image offer"
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The security solutions' image publisher"
+ },
+ "sku": {
+ "type": "string",
+ "description": "The security solutions' image sku"
+ }
+ },
+ "required": [
+ "securityFamily",
+ "offer",
+ "publisher",
+ "sku"
+ ]
+ }
+ },
+ "parameters": {
+ "DiscoveredSecuritySolutionName": {
+ "name": "discoveredSecuritySolutionName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "description": "Name of a discovered security solution.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionResourceGroupLocation_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionResourceGroupLocation_example.json
new file mode 100644
index 000000000000..7fdd44705361
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionResourceGroupLocation_example.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "myRg2",
+ "ascLocation": "centralus",
+ "discoveredSecuritySolutionName": "paloalto7"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "securityFamily": "Ngfw",
+ "offer": "vmseries1",
+ "publisher": "paloaltonetworks",
+ "sku": "byol"
+ },
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg2/providers/Microsoft.Security/locations/centralus/discoveredSecuritySolutions/paloalto7",
+ "name": "paloalto7",
+ "type": "Microsoft.Security/locations/discoveredSecuritySolutions",
+ "location": "eastus2"
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionsSubscriptionLocation_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionsSubscriptionLocation_example.json
new file mode 100644
index 000000000000..dd0249b47d48
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionsSubscriptionLocation_example.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "ascLocation": "centralus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "securityFamily": "Ngfw",
+ "offer": "cisco-asav",
+ "publisher": "cisco",
+ "sku": "asav-azure-byol"
+ },
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/centralus/discoveredSecuritySolutions/CP",
+ "name": "CP",
+ "type": "Microsoft.Security/locations/discoveredSecuritySolutions",
+ "location": "eastus"
+ },
+ {
+ "properties": {
+ "securityFamily": "Ngfw",
+ "offer": "vmseries1",
+ "publisher": "paloaltonetworks",
+ "sku": "byol"
+ },
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg2/providers/Microsoft.Security/locations/centralus/discoveredSecuritySolutions/paloalto7",
+ "name": "paloalto7",
+ "type": "Microsoft.Security/locations/discoveredSecuritySolutions",
+ "location": "eastus2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionsSubscription_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionsSubscription_example.json
new file mode 100644
index 000000000000..d629d7ab5bfd
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionsSubscription_example.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "securityFamily": "Ngfw",
+ "offer": "cisco-asav",
+ "publisher": "cisco",
+ "sku": "asav-azure-byol"
+ },
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/centralus/discoveredSecuritySolutions/CP",
+ "name": "CP",
+ "type": "Microsoft.Security/locations/discoveredSecuritySolutions",
+ "location": "eastus"
+ },
+ {
+ "properties": {
+ "securityFamily": "Ngfw",
+ "offer": "vmseries1",
+ "publisher": "paloaltonetworks",
+ "sku": "byol"
+ },
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg2/providers/Microsoft.Security/locations/centralus/discoveredSecuritySolutions/paloalto7",
+ "name": "paloalto7",
+ "type": "Microsoft.Security/locations/discoveredSecuritySolutions",
+ "location": "eastus2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ExternalSecuritySolutions/GetExternalSecuritySolution_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ExternalSecuritySolutions/GetExternalSecuritySolution_example.json
new file mode 100644
index 000000000000..063a365fcdf0
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ExternalSecuritySolutions/GetExternalSecuritySolution_example.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "defaultresourcegroup-eus",
+ "ascLocation": "centralus",
+ "externalSecuritySolutionsName": "aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "kind": "AAD",
+ "properties": {
+ "connectivityState": "Discovered",
+ "deviceVendor": "Microsoft",
+ "deviceType": "Azure Active Directory Identity Protection",
+ "workspace": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/defaultresourcegroup-eus/providers/Microsoft.OperationalInsights/workspaces/defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus"
+ }
+ },
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/defaultresourcegroup-eus/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus",
+ "name": "aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus",
+ "type": "Microsoft.Security/locations/externalSecuritySolutions",
+ "location": "eastus"
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ExternalSecuritySolutions/GetExternalSecuritySolutionsSubscriptionLocation_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ExternalSecuritySolutions/GetExternalSecuritySolutionsSubscriptionLocation_example.json
new file mode 100644
index 000000000000..26626803e57d
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ExternalSecuritySolutions/GetExternalSecuritySolutionsSubscriptionLocation_example.json
@@ -0,0 +1,123 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "ascLocation": "centralus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "kind": "AAD",
+ "properties": {
+ "connectivityState": "Discovered",
+ "deviceVendor": "Microsoft",
+ "deviceType": "Azure Active Directory Identity Protection",
+ "workspace": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/defaultresourcegroup-eus/providers/Microsoft.OperationalInsights/workspaces/defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus"
+ }
+ },
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/defaultresourcegroup-eus/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus",
+ "name": "aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus",
+ "type": "Microsoft.Security/locations/externalSecuritySolutions",
+ "location": "eastus"
+ },
+ {
+ "kind": "AAD",
+ "properties": {
+ "connectivityState": "Discovered",
+ "deviceVendor": "Microsoft",
+ "deviceType": "Azure Active Directory Identity Protection",
+ "workspace": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/defaultresourcegroup-weu/providers/Microsoft.OperationalInsights/workspaces/defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-weu"
+ }
+ },
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/defaultresourcegroup-weu/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-weu",
+ "name": "aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-weu",
+ "type": "Microsoft.Security/locations/externalSecuritySolutions",
+ "location": "westeurope"
+ },
+ {
+ "kind": "CEF",
+ "properties": {
+ "lastEventReceived": "2018-05-09T10:30:11.523Z",
+ "hostname": "barracuda",
+ "deviceVendor": "barracudanetworks",
+ "deviceType": "WAF",
+ "workspace": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/unificationprod/providers/Microsoft.OperationalInsights/workspaces/omsprd"
+ }
+ },
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/unificationprod/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/cef_omsprd_barracudanetworks_waf_barracuda",
+ "name": "cef_omsprd_barracudanetworks_waf_barracuda",
+ "type": "Microsoft.Security/locations/externalSecuritySolutions",
+ "location": "westcentralus"
+ },
+ {
+ "kind": "CEF",
+ "properties": {
+ "lastEventReceived": "2018-05-08T15:42:22.57Z",
+ "hostname": "demovm20",
+ "deviceVendor": "virtualHoneypot",
+ "deviceType": "Microsoft",
+ "workspace": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/unificationprod/providers/Microsoft.OperationalInsights/workspaces/omsprd"
+ }
+ },
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/unificationprod/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/cef_omsprd_virtualhoneypot_Microsoft_demovm20",
+ "name": "cef_omsprd_virtualhoneypot_Microsoft_demovm20",
+ "type": "Microsoft.Security/locations/externalSecuritySolutions",
+ "location": "westcentralus"
+ },
+ {
+ "kind": "CEF",
+ "properties": {
+ "lastEventReceived": "2018-05-08T10:38:53.423Z",
+ "hostname": "demovm10",
+ "deviceVendor": "virtualHoneypot",
+ "deviceType": "Microsoft",
+ "workspace": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/unificationprod/providers/Microsoft.OperationalInsights/workspaces/omsprd"
+ }
+ },
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/unificationprod/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/cef_omsprd_virtualhoneypot_Microsoft_demovm10",
+ "name": "cef_omsprd_virtualhoneypot_Microsoft_demovm10",
+ "type": "Microsoft.Security/locations/externalSecuritySolutions",
+ "location": "westcentralus"
+ },
+ {
+ "kind": "AAD",
+ "properties": {
+ "connectivityState": "Discovered",
+ "deviceVendor": "Microsoft",
+ "deviceType": "Azure Active Directory Identity Protection",
+ "workspace": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/unificationprod/providers/Microsoft.OperationalInsights/workspaces/omsprd"
+ }
+ },
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/unificationprod/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/aad_omsprd",
+ "name": "aad_omsprd",
+ "type": "Microsoft.Security/locations/externalSecuritySolutions",
+ "location": "westcentralus"
+ },
+ {
+ "kind": "AAD",
+ "properties": {
+ "connectivityState": "Discovered",
+ "deviceVendor": "Microsoft",
+ "deviceType": "Azure Active Directory Identity Protection",
+ "workspace": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/defaultresourcegroup-ejp/providers/Microsoft.OperationalInsights/workspaces/defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-ejp"
+ }
+ },
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/defaultresourcegroup-ejp/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-ejp",
+ "name": "aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-ejp",
+ "type": "Microsoft.Security/locations/externalSecuritySolutions",
+ "location": "japaneast"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ExternalSecuritySolutions/GetExternalSecuritySolutionsSubscription_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ExternalSecuritySolutions/GetExternalSecuritySolutionsSubscription_example.json
new file mode 100644
index 000000000000..90c72216fc02
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ExternalSecuritySolutions/GetExternalSecuritySolutionsSubscription_example.json
@@ -0,0 +1,122 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "kind": "AAD",
+ "properties": {
+ "connectivityState": "Discovered",
+ "deviceVendor": "Microsoft",
+ "deviceType": "Azure Active Directory Identity Protection",
+ "workspace": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/defaultresourcegroup-eus/providers/Microsoft.OperationalInsights/workspaces/defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus"
+ }
+ },
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/defaultresourcegroup-eus/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus",
+ "name": "aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus",
+ "type": "Microsoft.Security/locations/externalSecuritySolutions",
+ "location": "eastus"
+ },
+ {
+ "kind": "AAD",
+ "properties": {
+ "connectivityState": "Discovered",
+ "deviceVendor": "Microsoft",
+ "deviceType": "Azure Active Directory Identity Protection",
+ "workspace": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/defaultresourcegroup-weu/providers/Microsoft.OperationalInsights/workspaces/defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-weu"
+ }
+ },
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/defaultresourcegroup-weu/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-weu",
+ "name": "aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-weu",
+ "type": "Microsoft.Security/locations/externalSecuritySolutions",
+ "location": "westeurope"
+ },
+ {
+ "kind": "CEF",
+ "properties": {
+ "lastEventReceived": "2018-05-09T10:30:11.523Z",
+ "hostname": "barracuda",
+ "deviceVendor": "barracudanetworks",
+ "deviceType": "WAF",
+ "workspace": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/unificationprod/providers/Microsoft.OperationalInsights/workspaces/omsprd"
+ }
+ },
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/unificationprod/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/cef_omsprd_barracudanetworks_waf_barracuda",
+ "name": "cef_omsprd_barracudanetworks_waf_barracuda",
+ "type": "Microsoft.Security/locations/externalSecuritySolutions",
+ "location": "westcentralus"
+ },
+ {
+ "kind": "CEF",
+ "properties": {
+ "lastEventReceived": "2018-05-08T15:42:22.57Z",
+ "hostname": "demovm20",
+ "deviceVendor": "virtualHoneypot",
+ "deviceType": "Microsoft",
+ "workspace": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/unificationprod/providers/Microsoft.OperationalInsights/workspaces/omsprd"
+ }
+ },
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/unificationprod/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/cef_omsprd_virtualhoneypot_Microsoft_demovm20",
+ "name": "cef_omsprd_virtualhoneypot_Microsoft_demovm20",
+ "type": "Microsoft.Security/locations/externalSecuritySolutions",
+ "location": "westcentralus"
+ },
+ {
+ "kind": "CEF",
+ "properties": {
+ "lastEventReceived": "2018-05-08T10:38:53.423Z",
+ "hostname": "demovm10",
+ "deviceVendor": "virtualHoneypot",
+ "deviceType": "Microsoft",
+ "workspace": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/unificationprod/providers/Microsoft.OperationalInsights/workspaces/omsprd"
+ }
+ },
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/unificationprod/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/cef_omsprd_virtualhoneypot_Microsoft_demovm10",
+ "name": "cef_omsprd_virtualhoneypot_Microsoft_demovm10",
+ "type": "Microsoft.Security/locations/externalSecuritySolutions",
+ "location": "westcentralus"
+ },
+ {
+ "kind": "AAD",
+ "properties": {
+ "connectivityState": "Discovered",
+ "deviceVendor": "Microsoft",
+ "deviceType": "Azure Active Directory Identity Protection",
+ "workspace": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/unificationprod/providers/Microsoft.OperationalInsights/workspaces/omsprd"
+ }
+ },
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/unificationprod/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/aad_omsprd",
+ "name": "aad_omsprd",
+ "type": "Microsoft.Security/locations/externalSecuritySolutions",
+ "location": "westcentralus"
+ },
+ {
+ "kind": "AAD",
+ "properties": {
+ "connectivityState": "Discovered",
+ "deviceVendor": "Microsoft",
+ "deviceType": "Azure Active Directory Identity Protection",
+ "workspace": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/defaultresourcegroup-ejp/providers/Microsoft.OperationalInsights/workspaces/defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-ejp"
+ }
+ },
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/defaultresourcegroup-ejp/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-ejp",
+ "name": "aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-ejp",
+ "type": "Microsoft.Security/locations/externalSecuritySolutions",
+ "location": "japaneast"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/externalSecuritySolutions.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/externalSecuritySolutions.json
new file mode 100644
index 000000000000..3b8b3b072232
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/externalSecuritySolutions.json
@@ -0,0 +1,388 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Security Center",
+ "description": "API spec for Microsoft.Security (Azure Security Center) resource provider",
+ "version": "2020-01-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Security/externalSecuritySolutions": {
+ "get": {
+ "x-ms-examples": {
+ "Get external security solutions on a subscription": {
+ "$ref": "./examples/ExternalSecuritySolutions/GetExternalSecuritySolutionsSubscription_example.json"
+ }
+ },
+ "description": "Gets a list of external security solutions for the subscription.",
+ "tags": [
+ "ExternalSecuritySolutions"
+ ],
+ "operationId": "ExternalSecuritySolutions_List",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ExternalSecuritySolutionList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/ExternalSecuritySolutions": {
+ "get": {
+ "x-ms-examples": {
+ "Get external security solutions on a subscription from security data location": {
+ "$ref": "./examples/ExternalSecuritySolutions/GetExternalSecuritySolutionsSubscriptionLocation_example.json"
+ }
+ },
+ "description": "Gets a list of external Security Solutions for the subscription and location.",
+ "tags": [
+ "ExternalSecuritySolutions"
+ ],
+ "operationId": "ExternalSecuritySolutions_ListByHomeRegion",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/AscLocation"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ExternalSecuritySolutionList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/ExternalSecuritySolutions/{externalSecuritySolutionsName}": {
+ "get": {
+ "x-ms-examples": {
+ "Get external security solution": {
+ "$ref": "./examples/ExternalSecuritySolutions/GetExternalSecuritySolution_example.json"
+ }
+ },
+ "description": "Gets a specific external Security Solution.",
+ "tags": [
+ "ExternalSecuritySolutions"
+ ],
+ "operationId": "ExternalSecuritySolutions_Get",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/AscLocation"
+ },
+ {
+ "$ref": "#/parameters/ExternalSecuritySolutionsName"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ExternalSecuritySolution"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ExternalSecuritySolutionList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExternalSecuritySolution"
+ }
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URI to fetch the next page."
+ }
+ }
+ },
+ "ExternalSecuritySolution": {
+ "type": "object",
+ "description": "Represents a security solution external to Azure Security Center which sends information to an OMS workspace and whose data is displayed by Azure Security Center.",
+ "required": [
+ "kind"
+ ],
+ "discriminator": "kind",
+ "properties": {},
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/types.json#/definitions/Resource"
+ },
+ {
+ "$ref": "#/definitions/ExternalSecuritySolutionKind"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/definitions/Location"
+ }
+ ]
+ },
+ "CefExternalSecuritySolution": {
+ "x-ms-discriminator-value": "CEF",
+ "type": "object",
+ "description": "Represents a security solution which sends CEF logs to an OMS workspace",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ExternalSecuritySolution"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CefSolutionProperties"
+ }
+ }
+ },
+ "AtaExternalSecuritySolution": {
+ "x-ms-discriminator-value": "ATA",
+ "type": "object",
+ "description": "Represents an ATA security solution which sends logs to an OMS workspace",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ExternalSecuritySolution"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AtaSolutionProperties"
+ }
+ }
+ },
+ "AadExternalSecuritySolution": {
+ "x-ms-discriminator-value": "AAD",
+ "type": "object",
+ "description": "Represents an AAD identity protection solution which sends logs to an OMS workspace.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ExternalSecuritySolution"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AadSolutionProperties"
+ }
+ }
+ },
+ "ExternalSecuritySolutionKind": {
+ "type": "object",
+ "description": "Describes an Azure resource with kind",
+ "properties": {
+ "kind": {
+ "type": "string",
+ "description": "The kind of the external solution",
+ "enum": [
+ "CEF",
+ "ATA",
+ "AAD"
+ ],
+ "x-ms-enum": {
+ "name": "ExternalSecuritySolutionKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "CEF"
+ },
+ {
+ "value": "ATA"
+ },
+ {
+ "value": "AAD"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "ExternalSecuritySolutionProperties": {
+ "type": "object",
+ "description": "The solution properties (correspond to the solution kind)",
+ "additionalProperties": true,
+ "properties": {
+ "deviceVendor": {
+ "type": "string"
+ },
+ "deviceType": {
+ "type": "string"
+ },
+ "workspace": {
+ "$ref": "#/definitions/ConnectedWorkspace"
+ }
+ }
+ },
+ "ConnectedWorkspace": {
+ "type": "object",
+ "title": "Represents an OMS workspace to which the solution is connected",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Azure resource ID of the connected OMS workspace"
+ }
+ }
+ },
+ "AadConnectivityState": {
+ "type": "object",
+ "description": "Describes an Azure resource with kind",
+ "properties": {
+ "connectivityState": {
+ "type": "string",
+ "title": "The connectivity state of the external AAD solution ",
+ "enum": [
+ "Discovered",
+ "NotLicensed",
+ "Connected"
+ ],
+ "x-ms-enum": {
+ "name": "AadConnectivityState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Discovered"
+ },
+ {
+ "value": "NotLicensed"
+ },
+ {
+ "value": "Connected"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "AadSolutionProperties": {
+ "type": "object",
+ "title": "The external security solution properties for AAD solutions",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ExternalSecuritySolutionProperties"
+ },
+ {
+ "$ref": "#/definitions/AadConnectivityState"
+ }
+ ]
+ },
+ "CefSolutionProperties": {
+ "type": "object",
+ "title": "The external security solution properties for CEF solutions",
+ "properties": {
+ "hostname": {
+ "type": "string"
+ },
+ "agent": {
+ "type": "string"
+ },
+ "lastEventReceived": {
+ "type": "string"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ExternalSecuritySolutionProperties"
+ }
+ ]
+ },
+ "AtaSolutionProperties": {
+ "type": "object",
+ "title": "The external security solution properties for ATA solutions",
+ "properties": {
+ "lastEventReceived": {
+ "type": "string"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ExternalSecuritySolutionProperties"
+ }
+ ]
+ }
+ },
+ "parameters": {
+ "ExternalSecuritySolutionsName": {
+ "name": "externalSecuritySolutionsName",
+ "in": "path",
+ "description": "Name of an external security solution.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/security/resource-manager/common/v1/types.json b/specification/security/resource-manager/common/v1/types.json
index 5996220fe2bc..1dd01005fbcc 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": {
diff --git a/specification/security/resource-manager/readme.md b/specification/security/resource-manager/readme.md
index 701b7b442b90..b324ff734759 100644
--- a/specification/security/resource-manager/readme.md
+++ b/specification/security/resource-manager/readme.md
@@ -1,341 +1,362 @@
-# Security Center
-
-> see https://aka.ms/autorest
-
-This is the AutoRest configuration file for Security.
-
----
-
-## Getting Started
-
-To build the SDK for Security, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
-
-> `autorest`
-
-To see additional help and options, run:
-
-> `autorest --help`
-
----
-
-## Configuration
-
-## Suppression
-
-``` yaml
-directive:
- - suppress: ValidFormats
- from: securityContacts.json
- where: $.definitions.SecurityContactProperties.properties.email.format
- reason: email format is allowed
- - suppress: ValidFormats
- from: automations.json
- where: $.definitions.AutomationActionLogicApp.properties.uri.format
- reason: uri format is allowed
- - suppress: PageableOperation
- from: iotSecuritySolutionAnalytics.json
- where: '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}/analyticsModels"].get'
- reason: The list returns limited number of items
-```
-
-### Basic Information
-
-These are the global settings for the Security API.
-
-``` yaml
-title: SecurityCenter
-description: API spec for Microsoft.Security (Azure Security Center) resource provider
-openapi-type: arm
-tag: package-composite-v3
-```
-
-## Composite packages
-
-The following packages may be composed from multiple api-versions.
-
-### Tag: package-composite-v1
-
-These settings apply only when `--tag=package-composite-v1` is specified on the command line.
-
-``` yaml $(tag) == 'package-composite-v1'
-input-file:
-- Microsoft.Security/preview/2019-01-01-preview/automations.json
-- Microsoft.Security/preview/2019-01-01-preview/subAssessments.json
-- Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json
-- Microsoft.Security/preview/2017-08-01-preview/pricings.json
-- Microsoft.Security/preview/2017-08-01-preview/securityContacts.json
-- Microsoft.Security/preview/2017-08-01-preview/workspaceSettings.json
-- Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json
-- Microsoft.Security/preview/2017-08-01-preview/compliances.json
-- Microsoft.Security/preview/2017-08-01-preview/advancedThreatProtectionSettings.json
-- Microsoft.Security/preview/2017-08-01-preview/deviceSecurityGroups.json
-- Microsoft.Security/preview/2017-08-01-preview/settings.json
-- Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json
-- Microsoft.Security/preview/2015-06-01-preview/operations.json
-- Microsoft.Security/preview/2015-06-01-preview/locations.json
-- Microsoft.Security/preview/2015-06-01-preview/tasks.json
-- Microsoft.Security/preview/2015-06-01-preview/alerts.json
-- Microsoft.Security/preview/2015-06-01-preview/discoveredSecuritySolutions.json
-- Microsoft.Security/preview/2015-06-01-preview/jitNetworkAccessPolicies.json
-- Microsoft.Security/preview/2015-06-01-preview/applicationWhitelistings.json
-- Microsoft.Security/preview/2015-06-01-preview/externalSecuritySolutions.json
-- Microsoft.Security/preview/2015-06-01-preview/topologies.json
-- Microsoft.Security/preview/2015-06-01-preview/allowedConnections.json
-- Microsoft.Security/preview/2015-06-01-preview/adaptiveNetworkHardenings.json
-
-# Needed when there is more than one input file
-override-info:
- title: SecurityCenter
-```
-
-### Tag: package-composite-v2
-
-These settings apply only when `--tag=package-composite-v2` is specified on the command line.
-
-``` yaml $(tag) == 'package-composite-v2'
-input-file:
-- Microsoft.Security/preview/2019-01-01-preview/automations.json
-- Microsoft.Security/preview/2019-01-01-preview/subAssessments.json
-- Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json
-- Microsoft.Security/stable/2018-06-01/pricings.json
-- Microsoft.Security/preview/2017-08-01-preview/securityContacts.json
-- Microsoft.Security/preview/2017-08-01-preview/workspaceSettings.json
-- Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json
-- Microsoft.Security/preview/2017-08-01-preview/compliances.json
-- Microsoft.Security/preview/2017-08-01-preview/advancedThreatProtectionSettings.json
-- Microsoft.Security/preview/2017-08-01-preview/deviceSecurityGroups.json
-- Microsoft.Security/preview/2017-08-01-preview/settings.json
-- Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json
-- Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutions.json
-- Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutionAnalytics.json
-- Microsoft.Security/preview/2015-06-01-preview/operations.json
-- Microsoft.Security/preview/2015-06-01-preview/locations.json
-- Microsoft.Security/preview/2015-06-01-preview/tasks.json
-- Microsoft.Security/stable/2019-01-01/alerts.json
-- Microsoft.Security/preview/2015-06-01-preview/discoveredSecuritySolutions.json
-- Microsoft.Security/preview/2015-06-01-preview/jitNetworkAccessPolicies.json
-- Microsoft.Security/preview/2015-06-01-preview/applicationWhitelistings.json
-- Microsoft.Security/preview/2015-06-01-preview/externalSecuritySolutions.json
-- Microsoft.Security/preview/2015-06-01-preview/topologies.json
-- Microsoft.Security/preview/2015-06-01-preview/allowedConnections.json
-- Microsoft.Security/preview/2015-06-01-preview/adaptiveNetworkHardenings.json
-
-# Needed when there is more than one input file
-override-info:
- title: SecurityCenter
-```
-
-### Tag: package-composite-v3
-
-These settings apply only when `--tag=package-composite-v3` is specified on the command line.
-
-``` yaml $(tag) == 'package-composite-v3'
-input-file:
-- Microsoft.Security/stable/2017-08-01/complianceResults.json
-- Microsoft.Security/stable/2018-06-01/pricings.json
-- Microsoft.Security/stable/2019-01-01/alerts.json
-- Microsoft.Security/stable/2019-01-01/settings.json
-- Microsoft.Security/stable/2019-01-01/advancedThreatProtectionSettings.json
-- Microsoft.Security/stable/2019-08-01/deviceSecurityGroups.json
-- Microsoft.Security/stable/2019-08-01/iotSecuritySolutions.json
-- Microsoft.Security/stable/2019-08-01/iotSecuritySolutionAnalytics.json
-- Microsoft.Security/preview/2015-06-01-preview/discoveredSecuritySolutions.json
-- Microsoft.Security/preview/2015-06-01-preview/externalSecuritySolutions.json
-- Microsoft.Security/preview/2015-06-01-preview/locations.json
-- Microsoft.Security/preview/2015-06-01-preview/operations.json
-- Microsoft.Security/preview/2015-06-01-preview/tasks.json
-- Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json
-- Microsoft.Security/preview/2017-08-01-preview/compliances.json
-- Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json
-- 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/stable/2020-01-01/assessmentMetadata.json
-- Microsoft.Security/stable/2020-01-01/assessments.json
-- Microsoft.Security/stable/2020-01-01/applicationWhitelistings.json
-- Microsoft.Security/stable/2020-01-01/adaptiveNetworkHardenings.json
-- Microsoft.Security/stable/2020-01-01/allowedConnections.json
-- Microsoft.Security/stable/2020-01-01/topologies.json
-- Microsoft.Security/stable/2020-01-01/jitNetworkAccessPolicies.json
-
-# Needed when there is more than one input file
-override-info:
- title: SecurityCenter
-```
-
-### Tag: package-2015-06-preview-only
-
-These settings apply only when `--tag=package-2015-06-preview-only` is specified on the command line.
-
-``` yaml $(tag) == 'package-2015-06-preview-only'
-input-file:
-- Microsoft.Security/preview/2015-06-01-preview/adaptiveNetworkHardenings.json
-- Microsoft.Security/preview/2015-06-01-preview/alerts.json
-- Microsoft.Security/preview/2015-06-01-preview/allowedConnections.json
-- Microsoft.Security/preview/2015-06-01-preview/applicationWhitelistings.json
-- Microsoft.Security/preview/2015-06-01-preview/discoveredSecuritySolutions.json
-- Microsoft.Security/preview/2015-06-01-preview/externalSecuritySolutions.json
-- Microsoft.Security/preview/2015-06-01-preview/jitNetworkAccessPolicies.json
-- Microsoft.Security/preview/2015-06-01-preview/locations.json
-- Microsoft.Security/preview/2015-06-01-preview/operations.json
-- Microsoft.Security/preview/2015-06-01-preview/tasks.json
-- Microsoft.Security/preview/2015-06-01-preview/topologies.json
-
-# Needed when there is more than one input file
-override-info:
- title: SecurityCenter
-```
-
-### Tag: package-2017-08-preview-only
-
-These settings apply only when `--tag=package-2017-08-preview-only` is specified on the command line.
-
-``` yaml $(tag) == 'package-2017-08-preview-only'
-input-file:
-- Microsoft.Security/preview/2017-08-01-preview/advancedThreatProtectionSettings.json
-- Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json
-- Microsoft.Security/preview/2017-08-01-preview/compliances.json
-- Microsoft.Security/preview/2017-08-01-preview/deviceSecurityGroups.json
-- Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json
-- Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutionAnalytics.json
-- Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutions.json
-- Microsoft.Security/preview/2017-08-01-preview/pricings.json
-- Microsoft.Security/preview/2017-08-01-preview/securityContacts.json
-- Microsoft.Security/preview/2017-08-01-preview/settings.json
-- Microsoft.Security/preview/2017-08-01-preview/workspaceSettings.json
-
-# Needed when there is more than one input file
-override-info:
- title: SecurityCenter
-```
-
-### Tag: package-2019-01-preview-only
-
-These settings apply only when `--tag=package-2019-01-preview-only` is specified on the command line.
-
-``` 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/assessmentMetadata.json
-- Microsoft.Security/preview/2019-01-01-preview/assessments.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.
-
-``` yaml $(tag) == 'package-2017-08-only'
-input-file:
-- Microsoft.Security/stable/2017-08-01/complianceResults.json
-
-# Needed when there is more than one input file
-override-info:
- title: SecurityCenter
-```
-
-### Tag: package-2018-06-only
-
-These settings apply only when `--tag=package-2018-06-only` is specified on the command line.
-
-``` yaml $(tag) == 'package-2018-06-only'
-input-file:
-- Microsoft.Security/stable/2018-06-01/pricings.json
-
-# Needed when there is more than one input file
-override-info:
- title: SecurityCenter
-```
-
-### Tag: package-2019-01-only
-
-These settings apply only when `--tag=package-2019-01-only` is specified on the command line.
-
-``` yaml $(tag) == 'package-2019-01-only'
-input-file:
-- Microsoft.Security/stable/2019-01-01/alerts.json
-- Microsoft.Security/stable/2019-01-01/settings.json
-
-# Needed when there is more than one input file
-override-info:
- title: SecurityCenter
-```
-
-### Tag: package-2019-08-only
-
-These settings apply only when `--tag=package-2019-08-only` is specified on the command line.
-
-``` yaml $(tag) == 'package-2019-08-only'
-input-file:
-- Microsoft.Security/stable/2019-08-01/iotSecuritySolutionAnalytics.json
-- Microsoft.Security/stable/2019-08-01/iotSecuritySolutions.json
-
-# Needed when there is more than one input file
-override-info:
- title: SecurityCenter
-```
-
----
-
-# Code Generation
-
-## Swagger to SDK
-
-This section describes what SDK should be generated by the automatic system.
-This is not used by Autorest itself.
-
-``` yaml $(swagger-to-sdk)
-swagger-to-sdk:
- - repo: azure-sdk-for-net
- - repo: azure-sdk-for-go
- - repo: azure-sdk-for-python
- - repo: azure-sdk-for-js
- - repo: azure-sdk-for-node
-```
-
-## C#
-
-See configuration in [readme.csharp.md](./readme.csharp.md)
-
-## Go
-
-See configuration in [readme.go.md](./readme.go.md)
-
-## Python
-
-See configuration in [readme.python.md](./readme.python.md)
-
-## Node.js
-
-See configuration in [readme.nodejs.md](./readme.nodejs.md)
-
-## TypeScript
-
-See configuration in [readme.typescript.md](./readme.typescript.md)
-
-## Ruby
-
-See configuration in [readme.ruby.md](./readme.ruby.md)
-
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
-
+# Security Center
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Security.
+
+---
+
+## Getting Started
+
+To build the SDK for Security, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
+
+> `autorest`
+
+To see additional help and options, run:
+
+> `autorest --help`
+
+---
+
+## Configuration
+
+## Suppression
+
+``` yaml
+directive:
+ - suppress: ValidFormats
+ from: securityContacts.json
+ where: $.definitions.SecurityContactProperties.properties.email.format
+ reason: email format is allowed
+ - suppress: ValidFormats
+ from: automations.json
+ where: $.definitions.AutomationActionLogicApp.properties.uri.format
+ reason: uri format is allowed
+ - suppress: PageableOperation
+ from: iotSecuritySolutionAnalytics.json
+ where: '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}/analyticsModels"].get'
+ reason: The list returns limited number of items
+```
+
+### Basic Information
+
+These are the global settings for the Security API.
+
+``` yaml
+title: SecurityCenter
+description: API spec for Microsoft.Security (Azure Security Center) resource provider
+openapi-type: arm
+tag: package-composite-v3
+```
+
+## Composite packages
+
+The following packages may be composed from multiple api-versions.
+
+### Tag: package-composite-v1
+
+These settings apply only when `--tag=package-composite-v1` is specified on the command line.
+
+``` 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
+- Microsoft.Security/preview/2017-08-01-preview/pricings.json
+- Microsoft.Security/preview/2017-08-01-preview/securityContacts.json
+- Microsoft.Security/preview/2017-08-01-preview/workspaceSettings.json
+- Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json
+- Microsoft.Security/preview/2017-08-01-preview/compliances.json
+- Microsoft.Security/preview/2017-08-01-preview/advancedThreatProtectionSettings.json
+- Microsoft.Security/preview/2017-08-01-preview/deviceSecurityGroups.json
+- Microsoft.Security/preview/2017-08-01-preview/settings.json
+- Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json
+- Microsoft.Security/preview/2015-06-01-preview/operations.json
+- Microsoft.Security/preview/2015-06-01-preview/locations.json
+- Microsoft.Security/preview/2015-06-01-preview/tasks.json
+- Microsoft.Security/preview/2015-06-01-preview/alerts.json
+- Microsoft.Security/preview/2015-06-01-preview/discoveredSecuritySolutions.json
+- Microsoft.Security/preview/2015-06-01-preview/jitNetworkAccessPolicies.json
+- Microsoft.Security/preview/2015-06-01-preview/applicationWhitelistings.json
+- Microsoft.Security/preview/2015-06-01-preview/externalSecuritySolutions.json
+- Microsoft.Security/preview/2015-06-01-preview/topologies.json
+- Microsoft.Security/preview/2015-06-01-preview/allowedConnections.json
+- Microsoft.Security/preview/2015-06-01-preview/adaptiveNetworkHardenings.json
+- Microsoft.Security/preview/2019-01-01-preview/alertsSuppressionRules.json
+
+# Needed when there is more than one input file
+override-info:
+ title: SecurityCenter
+```
+
+### Tag: package-composite-v2
+
+These settings apply only when `--tag=package-composite-v2` is specified on the command line.
+
+``` 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
+- Microsoft.Security/stable/2018-06-01/pricings.json
+- Microsoft.Security/preview/2017-08-01-preview/securityContacts.json
+- Microsoft.Security/preview/2017-08-01-preview/workspaceSettings.json
+- Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json
+- Microsoft.Security/preview/2017-08-01-preview/compliances.json
+- Microsoft.Security/preview/2017-08-01-preview/advancedThreatProtectionSettings.json
+- Microsoft.Security/preview/2017-08-01-preview/deviceSecurityGroups.json
+- Microsoft.Security/preview/2017-08-01-preview/settings.json
+- Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json
+- Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutions.json
+- Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutionAnalytics.json
+- Microsoft.Security/preview/2015-06-01-preview/operations.json
+- Microsoft.Security/preview/2015-06-01-preview/locations.json
+- Microsoft.Security/preview/2015-06-01-preview/tasks.json
+- Microsoft.Security/stable/2019-01-01/alerts.json
+- Microsoft.Security/preview/2015-06-01-preview/discoveredSecuritySolutions.json
+- Microsoft.Security/preview/2015-06-01-preview/jitNetworkAccessPolicies.json
+- Microsoft.Security/preview/2015-06-01-preview/applicationWhitelistings.json
+- Microsoft.Security/preview/2015-06-01-preview/externalSecuritySolutions.json
+- Microsoft.Security/preview/2015-06-01-preview/topologies.json
+- Microsoft.Security/preview/2015-06-01-preview/allowedConnections.json
+- Microsoft.Security/preview/2015-06-01-preview/adaptiveNetworkHardenings.json
+- Microsoft.Security/preview/2019-01-01-preview/alertsSuppressionRules.json
+
+# Needed when there is more than one input file
+override-info:
+ title: SecurityCenter
+```
+
+### Tag: package-composite-v3
+
+These settings apply only when `--tag=package-composite-v3` is specified on the command line.
+
+``` yaml $(tag) == 'package-composite-v3'
+input-file:
+- Microsoft.Security/stable/2017-08-01/complianceResults.json
+- Microsoft.Security/stable/2018-06-01/pricings.json
+- Microsoft.Security/stable/2019-01-01/alerts.json
+- Microsoft.Security/stable/2019-01-01/settings.json
+- Microsoft.Security/stable/2019-01-01/advancedThreatProtectionSettings.json
+- Microsoft.Security/stable/2019-08-01/deviceSecurityGroups.json
+- Microsoft.Security/stable/2019-08-01/iotSecuritySolutions.json
+- Microsoft.Security/stable/2019-08-01/iotSecuritySolutionAnalytics.json
+- Microsoft.Security/preview/2015-06-01-preview/locations.json
+- Microsoft.Security/preview/2015-06-01-preview/operations.json
+- Microsoft.Security/preview/2015-06-01-preview/tasks.json
+- Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json
+- Microsoft.Security/preview/2017-08-01-preview/compliances.json
+- Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json
+- 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/assessmentMetadata.json
+- Microsoft.Security/stable/2020-01-01/assessments.json
+- Microsoft.Security/stable/2020-01-01/applicationWhitelistings.json
+- Microsoft.Security/stable/2020-01-01/adaptiveNetworkHardenings.json
+- Microsoft.Security/stable/2020-01-01/allowedConnections.json
+- Microsoft.Security/stable/2020-01-01/topologies.json
+- Microsoft.Security/stable/2020-01-01/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:
+ title: SecurityCenter
+```
+
+### Tag: package-2015-06-preview-only
+
+These settings apply only when `--tag=package-2015-06-preview-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2015-06-preview-only'
+input-file:
+- Microsoft.Security/preview/2015-06-01-preview/adaptiveNetworkHardenings.json
+- Microsoft.Security/preview/2015-06-01-preview/alerts.json
+- Microsoft.Security/preview/2015-06-01-preview/allowedConnections.json
+- Microsoft.Security/preview/2015-06-01-preview/applicationWhitelistings.json
+- Microsoft.Security/preview/2015-06-01-preview/discoveredSecuritySolutions.json
+- Microsoft.Security/preview/2015-06-01-preview/externalSecuritySolutions.json
+- Microsoft.Security/preview/2015-06-01-preview/jitNetworkAccessPolicies.json
+- Microsoft.Security/preview/2015-06-01-preview/locations.json
+- Microsoft.Security/preview/2015-06-01-preview/operations.json
+- Microsoft.Security/preview/2015-06-01-preview/tasks.json
+- Microsoft.Security/preview/2015-06-01-preview/topologies.json
+
+# Needed when there is more than one input file
+override-info:
+ title: SecurityCenter
+```
+
+### Tag: package-2017-08-preview-only
+
+These settings apply only when `--tag=package-2017-08-preview-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2017-08-preview-only'
+input-file:
+- Microsoft.Security/preview/2017-08-01-preview/advancedThreatProtectionSettings.json
+- Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json
+- Microsoft.Security/preview/2017-08-01-preview/compliances.json
+- Microsoft.Security/preview/2017-08-01-preview/deviceSecurityGroups.json
+- Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json
+- Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutionAnalytics.json
+- Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutions.json
+- Microsoft.Security/preview/2017-08-01-preview/pricings.json
+- Microsoft.Security/preview/2017-08-01-preview/securityContacts.json
+- Microsoft.Security/preview/2017-08-01-preview/settings.json
+- Microsoft.Security/preview/2017-08-01-preview/workspaceSettings.json
+
+# Needed when there is more than one input file
+override-info:
+ title: SecurityCenter
+```
+
+### Tag: package-2019-01-preview-only
+
+These settings apply only when `--tag=package-2019-01-preview-only` is specified on the command line.
+
+``` 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
+
+# Needed when there is more than one input file
+override-info:
+ title: SecurityCenter
+```
+
+### Tag: package-2020-01-preview-only
+
+These settings apply only when `--tag=package-2020-01-preview-only` is specified on the command line.
+
+``` 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.
+
+``` yaml $(tag) == 'package-2017-08-only'
+input-file:
+- Microsoft.Security/stable/2017-08-01/complianceResults.json
+
+# Needed when there is more than one input file
+override-info:
+ title: SecurityCenter
+```
+
+### Tag: package-2018-06-only
+
+These settings apply only when `--tag=package-2018-06-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-06-only'
+input-file:
+- Microsoft.Security/stable/2018-06-01/pricings.json
+
+# Needed when there is more than one input file
+override-info:
+ title: SecurityCenter
+```
+
+### Tag: package-2019-01-only
+
+These settings apply only when `--tag=package-2019-01-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-01-only'
+input-file:
+- Microsoft.Security/stable/2019-01-01/alerts.json
+- Microsoft.Security/stable/2019-01-01/settings.json
+
+# Needed when there is more than one input file
+override-info:
+ title: SecurityCenter
+```
+
+### Tag: package-2019-08-only
+
+These settings apply only when `--tag=package-2019-08-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-08-only'
+input-file:
+- Microsoft.Security/stable/2019-08-01/iotSecuritySolutionAnalytics.json
+- Microsoft.Security/stable/2019-08-01/iotSecuritySolutions.json
+
+# Needed when there is more than one input file
+override-info:
+ title: SecurityCenter
+```
+
+---
+
+# Code Generation
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+``` yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-sdk-for-net
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-js
+ - repo: azure-sdk-for-node
+```
+
+## C#
+
+See configuration in [readme.csharp.md](./readme.csharp.md)
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+## Node.js
+
+See configuration in [readme.nodejs.md](./readme.nodejs.md)
+
+## TypeScript
+
+See configuration in [readme.typescript.md](./readme.typescript.md)
+
+## Ruby
+
+See configuration in [readme.ruby.md](./readme.ruby.md)
+
+## Multi-API/Profile support for AutoRest v3 generators
+
+AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
+
+This block is updated by an automatic script. Edits may be lost!
+
``` yaml $(tag) == 'all-api-versions' /* autogenerated */
# include the azure profile definitions from the standard location
require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.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 +380,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
@@ -377,15 +399,17 @@ input-file:
- $(this-folder)/Microsoft.Security/stable/2020-01-01/allowedConnections.json
- $(this-folder)/Microsoft.Security/stable/2020-01-01/topologies.json
- $(this-folder)/Microsoft.Security/stable/2020-01-01/jitNetworkAccessPolicies.json
+ - $(this-folder)/Microsoft.Security/stable/2020-01-01/discoveredSecuritySolutions.json
+ - $(this-folder)/Microsoft.Security/stable/2020-01-01/externalSecuritySolutions.json
- $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/assessmentMetadata.json
- $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/assessments.json
-```
-
-If there are files that should not be in the `all-api-versions` set,
-uncomment the `exclude-file` section below and add the file paths.
-
-``` yaml $(tag) == 'all-api-versions'
-#exclude-file:
-# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
+```
+
+If there are files that should not be in the `all-api-versions` set,
+uncomment the `exclude-file` section below and add the file paths.
+
+``` yaml $(tag) == 'all-api-versions'
+#exclude-file:
+# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
\ No newline at end of file
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 fd280dc50ef5..895d9b5b05db 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
@@ -1427,7 +1427,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/BookmarkRelationList"
+ "$ref": "#/definitions/RelationList"
}
},
"default": {
@@ -1437,7 +1437,7 @@
}
}
},
- "x-ms-odata": "#/definitions/BookmarkRelation",
+ "x-ms-odata": "#/definitions/Relation",
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
@@ -1533,7 +1533,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/BookmarkRelation"
+ "$ref": "#/definitions/Relation"
}
},
"default": {
@@ -1578,20 +1578,20 @@
"$ref": "#/parameters/RelationName"
},
{
- "$ref": "#/parameters/RelationInputModel"
+ "$ref": "#/parameters/Relation"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/BookmarkRelation"
+ "$ref": "#/definitions/Relation"
}
},
"201": {
"description": "Created",
"schema": {
- "$ref": "#/definitions/BookmarkRelation"
+ "$ref": "#/definitions/Relation"
}
},
"default": {
@@ -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": [
{
@@ -4076,73 +4164,6 @@
"bookmarkId"
]
},
- "BookmarkRelationList": {
- "description": "List of bookmark relations.",
- "properties": {
- "nextLink": {
- "readOnly": true,
- "description": "URL to fetch the next set of relations.",
- "type": "string"
- },
- "value": {
- "description": "Array of relations.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/BookmarkRelation"
- }
- }
- },
- "required": [
- "value"
- ]
- },
- "BookmarkRelation": {
- "type": "object",
- "description": "Represents a bookmark relation",
- "allOf": [
- {
- "$ref": "#/definitions/RelationBase"
- }
- ],
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "description": "Bookmark relation properties",
- "$ref": "#/definitions/BookmarkRelationProperties"
- }
- }
- },
- "BookmarkRelationProperties": {
- "type": "object",
- "description": "Bookmark relation properties",
- "properties": {
- "relationName": {
- "type": "string",
- "description": "Name of relation"
- },
- "bookmarkId": {
- "type": "string",
- "description": "The case related bookmark id"
- },
- "caseIdentifier": {
- "type": "string",
- "description": "The case identifier"
- },
- "caseTitle": {
- "type": "string",
- "description": "The case title"
- },
- "caseSeverity": {
- "type": "string",
- "description": "The case severity"
- }
- },
- "required": [
- "relationName",
- "caseIdentifier",
- "bookmarkId"
- ]
- },
"RelationsModelInput": {
"type": "object",
"description": "Relation input model",
@@ -7142,6 +7163,7 @@
},
"relatedResourceName": {
"description": "The name of the related resource",
+ "readOnly": true,
"type": "string"
},
"relatedResourceType": {
@@ -7845,6 +7867,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": [
{
@@ -7856,10 +7893,7 @@
],
"description": "The Setting.",
"discriminator": "kind",
- "type": "object",
- "required": [
- "kind"
- ]
+ "type": "object"
},
"SettingsKind": {
"description": "Describes an Azure resource with kind.",
@@ -7867,8 +7901,7 @@
"kind": {
"description": "The kind of the setting",
"enum": [
- "UebaSettings",
- "ToggleSettings"
+ "EyesOn"
],
"type": "string",
"x-ms-enum": {
@@ -8090,7 +8123,7 @@
},
"type": "object"
},
- "ToggleSettings": {
+ "EyesOn": {
"allOf": [
{
"$ref": "#/definitions/Settings"
@@ -8099,73 +8132,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"
@@ -8675,7 +8656,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/actions/CreateActionOfAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/actions/CreateActionOfAlertRule.json
index b50eaeec2581..70983078afb8 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/actions/CreateActionOfAlertRule.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/actions/CreateActionOfAlertRule.json
@@ -8,9 +8,6 @@
"ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
"actionId": "912bec42-cb66-4c03-ac63-1761b6898c3e",
"action": {
- "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5/actions/912bec42-cb66-4c03-ac63-1761b6898c3e",
- "name": "912bec42-cb66-4c03-ac63-1761b6898c3e",
- "type": "Microsoft.SecurityInsights/alertRules/actions",
"etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
"properties": {
"triggerUri": "https://prod-31.northcentralus.logic.azure.com:443/workflows/cd3765391efd48549fd7681ded1d48d7/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=signature",
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/CreateFusionAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/CreateFusionAlertRule.json
index d3fc30ca7c5c..5e14cc180679 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/CreateFusionAlertRule.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/CreateFusionAlertRule.json
@@ -10,7 +10,7 @@
"kind": "Fusion",
"etag": "3d00c3ca-0000-0100-0000-5d42d5010000",
"properties": {
- "enabled": "true",
+ "enabled": true,
"alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8"
}
}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/bookmarks/CreateBookmark.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/bookmarks/CreateBookmark.json
index 13ff09f12a8f..af9c4dc03c91 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/bookmarks/CreateBookmark.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/bookmarks/CreateBookmark.json
@@ -7,21 +7,14 @@
"operationalInsightsResourceProvider": "Microsoft.OperationalInsights",
"bookmarkId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
"bookmark": {
- "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/73e01a99-5cd7-4139-a149-9f2736ff2ab5",
- "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
- "type": "Microsoft.SecurityInsights/bookmarks",
"etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
"properties": {
"displayName": "My bookmark",
"createdBy": {
- "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70",
- "email": "john@contoso.com",
- "name": "john doe"
+ "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70"
},
"updatedBy": {
- "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70",
- "email": "john@contoso.com",
- "name": "john doe"
+ "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70"
},
"updated": "2019-01-01T13:15:30Z",
"created": "2019-01-01T13:15:30Z",
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/bookmarks/relations/CreateBookmarkRelation.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/bookmarks/relations/CreateBookmarkRelation.json
index 7f15971e4f2b..9c539588f1f8 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/bookmarks/relations/CreateBookmarkRelation.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/bookmarks/relations/CreateBookmarkRelation.json
@@ -7,16 +7,9 @@
"operationalInsightsResourceProvider": "Microsoft.OperationalInsights",
"bookmarkId": "2216d0e1-91e3-4902-89fd-d2df8c535096",
"relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
- "relationInputModel": {
+ "relation": {
"properties": {
- "sourceRelationNode": {
- "relationNodeId": "afbd324f-6c48-459c-8710-8d1e1cd03812",
- "relationNodeKind": "Case"
- },
- "targetRelationNode": {
- "relationNodeId": "2216d0e1-91e3-4902-89fd-d2df8c535096",
- "relationNodeKind": "Bookmark"
- }
+ "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812"
}
}
},
@@ -26,14 +19,11 @@
"id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
"name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
"type": "Microsoft.SecurityInsights/bookmarks/relations",
- "kind": "CasesToBookmarks",
"etag": "190057d0-0000-0d00-0000-5c6f5adb0000",
"properties": {
- "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
- "bookmarkId": "2216d0e1-91e3-4902-89fd-d2df8c535096",
- "caseIdentifier": "afbd324f-6c48-459c-8710-8d1e1cd03812",
- "caseTitle": "Test case",
- "caseSeverity": "High"
+ "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812",
+ "relatedResourceName": "afbd324f-6c48-459c-8710-8d1e1cd03812",
+ "relatedResourceType": "Microsoft.SecurityInsights/incidents"
}
}
},
@@ -42,14 +32,11 @@
"id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
"name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
"type": "Microsoft.SecurityInsights/bookmarks/relations",
- "kind": "CasesToBookmarks",
"etag": "190057d0-0000-0d00-0000-5c6f5adb0000",
"properties": {
- "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
- "bookmarkId": "2216d0e1-91e3-4902-89fd-d2df8c535096",
- "caseIdentifier": "afbd324f-6c48-459c-8710-8d1e1cd03812",
- "caseTitle": "Test case",
- "caseSeverity": "High"
+ "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812",
+ "relatedResourceName": "afbd324f-6c48-459c-8710-8d1e1cd03812",
+ "relatedResourceType": "Microsoft.SecurityInsights/incidents"
}
}
}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/bookmarks/relations/GetAllBookmarkRelations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/bookmarks/relations/GetAllBookmarkRelations.json
index ebef2304130a..f9648d084a97 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/bookmarks/relations/GetAllBookmarkRelations.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/bookmarks/relations/GetAllBookmarkRelations.json
@@ -15,14 +15,11 @@
"id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
"name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
"type": "Microsoft.SecurityInsights/bookmarks/relations",
- "kind": "CasesToBookmarks",
"etag": "190057d0-0000-0d00-0000-5c6f5adb0000",
"properties": {
- "bookmarkId": "2216d0e1-91e3-4902-89fd-d2df8c535096",
- "caseIdentifier": "afbd324f-6c48-459c-8710-8d1e1cd03812",
- "caseTitle": "Test case",
- "caseSeverity": "High",
- "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014"
+ "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812",
+ "relatedResourceName": "afbd324f-6c48-459c-8710-8d1e1cd03812",
+ "relatedResourceType": "Microsoft.SecurityInsights/incidents"
}
}
]
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/bookmarks/relations/GetBookmarkRelationByName.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/bookmarks/relations/GetBookmarkRelationByName.json
index 2037ee51571e..f03b116a69f2 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/bookmarks/relations/GetBookmarkRelationByName.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/bookmarks/relations/GetBookmarkRelationByName.json
@@ -14,14 +14,11 @@
"id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
"name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
"type": "Microsoft.SecurityInsights/bookmarks/relations",
- "kind": "CasesToBookmarks",
"etag": "190057d0-0000-0d00-0000-5c6f5adb0000",
"properties": {
- "bookmarkId": "2216d0e1-91e3-4902-89fd-d2df8c535096",
- "caseIdentifier": "afbd324f-6c48-459c-8710-8d1e1cd03812",
- "caseTitle": "Test case",
- "caseSeverity": "High",
- "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014"
+ "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812",
+ "relatedResourceName": "afbd324f-6c48-459c-8710-8d1e1cd03812",
+ "relatedResourceType": "Microsoft.SecurityInsights/incidents"
}
}
}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/cases/relations/CreateCaseRelation.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/cases/relations/CreateCaseRelation.json
index 419bc9cee31f..ee9a7c92b6c6 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/cases/relations/CreateCaseRelation.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/cases/relations/CreateCaseRelation.json
@@ -10,12 +10,10 @@
"relationInputModel": {
"properties": {
"sourceRelationNode": {
- "relationNodeId": "afbd324f-6c48-459c-8710-8d1e1cd03812",
- "relationNodeKind": "Case"
+ "relationNodeId": "afbd324f-6c48-459c-8710-8d1e1cd03812"
},
"targetRelationNode": {
- "relationNodeId": "2216d0e1-91e3-4902-89fd-d2df8c535096",
- "relationNodeKind": "Bookmark"
+ "relationNodeId": "2216d0e1-91e3-4902-89fd-d2df8c535096"
}
}
}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CreateOfficeDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CreateOfficeDataConnetor.json
index efa14f9e4652..5a843a956be8 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CreateOfficeDataConnetor.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CreateOfficeDataConnetor.json
@@ -7,9 +7,6 @@
"operationalInsightsResourceProvider": "Microsoft.OperationalInsights",
"dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
"dataConnector": {
- "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5",
- "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
- "type": "Microsoft.SecurityInsights/dataConnectors",
"kind": "Office365",
"etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
"properties": {
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/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/UpdateEyesOnSetting.json
similarity index 51%
rename from specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/settings/GetUebaSettings.json
rename to specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/settings/UpdateEyesOnSetting.json
index 615415059d28..6da0f3ed95de 100644
--- 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/UpdateEyesOnSetting.json
@@ -4,21 +4,24 @@
"subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
"resourceGroupName": "myRg",
"workspaceName": "myWorkspace",
- "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
- "settingsName": "UEBA"
+ "operationalInsightsResourceProvider": "Microsoft.OperationalInsights",
+ "settingsName": "EyesOn",
+ "settings": {
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "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/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/UpdateUebaSettings.json
deleted file mode 100644
index 59b8b92e4892..000000000000
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/settings/UpdateUebaSettings.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-01-01-preview",
- "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
- "resourceGroupName": "myRg",
- "workspaceName": "myWorkspace",
- "operationalInsightsResourceProvider": "Microsoft.OperationalInsights",
- "settingsName": "UEBA",
- "settings": {
- "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"
- }
- }
- },
- "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/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/BackupPartition-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/BackupPartition-1.json
new file mode 100644
index 000000000000..2a7638588821
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/BackupPartition-1.json
@@ -0,0 +1,12 @@
+{
+ "operationId": "BackupPartition",
+ "description": "This example shows how to trigger backup of a partition now, which is already configured for periodic backups. The newly created backup will be saved at the same location where the periodic backups are being saved.",
+ "parameters": {
+ "api-version": "6.4",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "BackupPartitionDescription": {}
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/BackupPartition-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/BackupPartition-2.json
new file mode 100644
index 000000000000..9aa037a4d490
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/BackupPartition-2.json
@@ -0,0 +1,18 @@
+{
+ "operationId": "BackupPartition",
+ "description": "This example shows how to trigger backup of a partition now, and save the backup to a specific Azure blob storage account.",
+ "parameters": {
+ "api-version": "6.4",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "BackupPartitionDescription": {
+ "BackupStorage": {
+ "StorageKind": "AzureBlobStore",
+ "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=",
+ "ContainerName": "BackupContainer"
+ }
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/BackupPartition-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/BackupPartition-3.json
new file mode 100644
index 000000000000..3d9ef05b08e4
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/BackupPartition-3.json
@@ -0,0 +1,19 @@
+{
+ "operationId": "BackupPartition",
+ "description": "This example shows how to trigger backup of a partition now, and save the backup to a specific file share accessible from all cluster nodes.",
+ "parameters": {
+ "api-version": "6.4",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "BackupPartitionDescription": {
+ "BackupStorage": {
+ "StorageKind": "FileShare",
+ "Path": "\\\\myshare\\backupshare",
+ "PrimaryUserName": "mydomain\\backupaccount",
+ "PrimaryPassword": "abcd1234"
+ }
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/CreateApplication-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/CreateApplication-1.json
new file mode 100644
index 000000000000..815b59ce3e50
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/CreateApplication-1.json
@@ -0,0 +1,15 @@
+{
+ "operationId": "CreateApplication",
+ "description": "This example shows how to create a Service Fabric application without overriding any application parameter values.",
+ "parameters": {
+ "api-version": "6.0",
+ "ApplicationDescription": {
+ "Name": "fabric:/samples/CalcApp",
+ "TypeVersion": "1.0",
+ "TypeName": "CalculatorApp"
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/CreateBackupPolicy-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/CreateBackupPolicy-1.json
new file mode 100644
index 000000000000..a2bb056ee6d0
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/CreateBackupPolicy-1.json
@@ -0,0 +1,34 @@
+{
+ "operationId": "CreateBackupPolicy",
+ "description": "This example shows how to create a backup policy which takes backup twice everyday at 9 AM and 5 PM UTC which shall get deleted after 3 months, with Azure blob store as the backup location.",
+ "parameters": {
+ "api-version": "6.4",
+ "BackupPolicyDescription": {
+ "Name": "DailyAzureBackupPolicy",
+ "AutoRestoreOnDataLoss": false,
+ "MaxIncrementalBackups": 3,
+ "Schedule": {
+ "ScheduleKind": "TimeBased",
+ "ScheduleFrequencyType": "Daily",
+ "RunTimes": [
+ "0001-01-01T09:00:00Z",
+ "0001-01-01T17:00:00Z"
+ ]
+ },
+ "Storage": {
+ "StorageKind": "AzureBlobStore",
+ "FriendlyName": "Azure_storagesample",
+ "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=",
+ "ContainerName": "BackupContainer"
+ },
+ "RetentionPolicy": {
+ "RetentionPolicyType": "Basic",
+ "MinimumNumberOfBackups": 20,
+ "RetentionDuration": "P3M"
+ }
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/CreateBackupPolicy-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/CreateBackupPolicy-2.json
new file mode 100644
index 000000000000..f688def9e59e
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/CreateBackupPolicy-2.json
@@ -0,0 +1,31 @@
+{
+ "operationId": "CreateBackupPolicy",
+ "description": "This example shows how to create a backup policy which takes backup every 10 minutes which shall get deleted after 20 days, with file share as the backup location.",
+ "parameters": {
+ "api-version": "6.4",
+ "BackupPolicyDescription": {
+ "Name": "FileShare10MinBackupPolicy",
+ "AutoRestoreOnDataLoss": false,
+ "MaxIncrementalBackups": 3,
+ "Schedule": {
+ "ScheduleKind": "FrequencyBased",
+ "Interval": "PT10M"
+ },
+ "Storage": {
+ "StorageKind": "FileShare",
+ "FriendlyName": "FileShare_myshare",
+ "Path": "\\\\myshare\\backupshare",
+ "PrimaryUserName": "backupaccount",
+ "PrimaryPassword": "abcd1234"
+ },
+ "RetentionPolicy": {
+ "RetentionPolicyType": "Basic",
+ "MinimumNumberOfBackups": 20,
+ "RetentionDuration": "P20D"
+ }
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/CreateName-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/CreateName-1.json
new file mode 100644
index 000000000000..39588770e334
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/CreateName-1.json
@@ -0,0 +1,13 @@
+{
+ "operationId": "CreateName",
+ "description": "This example shows how to create a new Service Fabric name. The name can be created under an existing name that represents an appliction or a service or under a completely new name.",
+ "parameters": {
+ "api-version": "6.0",
+ "NameDescription": {
+ "Name": "fabric:/samples/CalculatorApp/CalculatorService/Name-1"
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/CreateService-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/CreateService-1.json
new file mode 100644
index 000000000000..a969c12cd8a9
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/CreateService-1.json
@@ -0,0 +1,21 @@
+{
+ "operationId": "CreateService",
+ "description": "This example shows how to create a basic stateless Service Fabric service.",
+ "parameters": {
+ "applicationId": "test",
+ "api-version": "6.0",
+ "ServiceDescription": {
+ "ServiceKind": "Stateless",
+ "ApplicationName": "fabric:/test",
+ "ServiceName": "fabric:/test/test1",
+ "ServiceTypeName": "StatelessFrontendService",
+ "PartitionDescription": {
+ "PartitionScheme": "Singleton"
+ },
+ "InstanceCount": 4
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/CreateService-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/CreateService-2.json
new file mode 100644
index 000000000000..bc7ada6bb8be
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/CreateService-2.json
@@ -0,0 +1,23 @@
+{
+ "operationId": "CreateService",
+ "description": "This example shows how to create a basic stateful Service Fabric service.",
+ "parameters": {
+ "applicationId": "test",
+ "api-version": "6.0",
+ "ServiceDescription": {
+ "ServiceKind": "Stateful",
+ "ApplicationName": "fabric:/test",
+ "ServiceName": "fabric:/test/test2",
+ "ServiceTypeName": "StatefulBackendService",
+ "PartitionDescription": {
+ "PartitionScheme": "Singleton"
+ },
+ "TargetReplicaSetSize": 3,
+ "MinReplicaSetSize": 2,
+ "HasPersistedState": false
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/CreateService-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/CreateService-3.json
new file mode 100644
index 000000000000..75eaaea023df
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/CreateService-3.json
@@ -0,0 +1,47 @@
+{
+ "operationId": "CreateService",
+ "description": "This example shows how to create a stateless Service Fabric service with a dns name definied and auto scaling based on cpu usage.",
+ "parameters": {
+ "applicationId": "test",
+ "api-version": "6.0",
+ "ServiceDescription": {
+ "ServiceKind": "Stateless",
+ "ApplicationName": "fabric:/test",
+ "ServiceName": "fabric:/test/test1",
+ "ServiceTypeName": "StatelessFrontendService",
+ "InitializationData": [],
+ "PartitionDescription": {
+ "PartitionScheme": "Singleton"
+ },
+ "InstanceCount": 2,
+ "PlacementConstraints": "Color==Blue",
+ "CorrelationScheme": [],
+ "ServiceLoadMetrics": [],
+ "ServicePlacementPolicies": [],
+ "DefaultMoveCost": "Low",
+ "IsDefaultMoveCostSpecified": true,
+ "ServicePackageActivationMode": "ExclusiveProcess",
+ "ServiceDnsName": "test1.test",
+ "ScalingPolicies": [
+ {
+ "ScalingTrigger": {
+ "Kind": "AveragePartitionLoad",
+ "MetricName": "servicefabric:/_CpuCores",
+ "LowerLoadThreshold": "0.300000",
+ "UpperLoadThreshold": "0.800000",
+ "ScaleIntervalInSeconds": 600
+ },
+ "ScalingMechanism": {
+ "Kind": "PartitionInstanceCount",
+ "MinInstanceCount": 1,
+ "MaxInstanceCount": 6,
+ "ScaleIncrement": 2
+ }
+ }
+ ]
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/CreateService-4.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/CreateService-4.json
new file mode 100644
index 000000000000..2211ae300e4b
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/CreateService-4.json
@@ -0,0 +1,46 @@
+{
+ "operationId": "CreateService",
+ "description": "This example shows how to create a stateful Service Fabric service with named partitions and scaling enabled based on memory usage.",
+ "parameters": {
+ "applicationId": "test",
+ "api-version": "6.0",
+ "ServiceDescription": {
+ "ServiceKind": "Stateful",
+ "ApplicationName": "fabric:/test",
+ "ServiceName": "fabric:/test/test2",
+ "ServiceTypeName": "StatefulBackendService",
+ "InitializationData": [],
+ "PartitionDescription": {
+ "PartitionScheme": "Named",
+ "Count": 1,
+ "Names": [
+ "0"
+ ]
+ },
+ "TargetReplicaSetSize": 3,
+ "MinReplicaSetSize": 2,
+ "HasPersistedState": true,
+ "ServicePackageActivationMode": "ExclusiveProcess",
+ "ScalingPolicies": [
+ {
+ "ScalingTrigger": {
+ "Kind": "AverageServiceLoad",
+ "MetricName": "servicefabric:/_MemoryInMB",
+ "LowerLoadThreshold": "500",
+ "UpperLoadThreshold": "900",
+ "ScaleIntervalInSeconds": 600
+ },
+ "ScalingMechanism": {
+ "Kind": "AddRemoveIncrementalNamedPartition",
+ "MinPartitionCount": 1,
+ "MaxPartitionCount": 3,
+ "ScaleIncrement": 1
+ }
+ }
+ ]
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/DeleteBackupPolicy.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/DeleteBackupPolicy.json
new file mode 100644
index 000000000000..d4796b5ede08
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/DeleteBackupPolicy.json
@@ -0,0 +1,11 @@
+{
+ "operationId": "DeleteBackupPolicy",
+ "description": "This example shows how to delete an existing backup policy which is currently not associated with any backup entity.",
+ "parameters": {
+ "api-version": "6.4",
+ "backupPolicyName": "SampleBackupPolicy"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/DisableApplicationBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/DisableApplicationBackup.json
new file mode 100644
index 000000000000..964fdaa8c3f3
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/DisableApplicationBackup.json
@@ -0,0 +1,14 @@
+{
+ "operationId": "DisableApplicationBackup",
+ "description": "This example shows how to disable periodic backup for a stateful application which was previously enabled.",
+ "parameters": {
+ "api-version": "6.4",
+ "applicationId": "CalcApp",
+ "DisableBackupDescription": {
+ "CleanBackup": true
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/DisablePartitionBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/DisablePartitionBackup.json
new file mode 100644
index 000000000000..1f6cc6b32ed3
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/DisablePartitionBackup.json
@@ -0,0 +1,14 @@
+{
+ "operationId": "DisablePartitionBackup",
+ "description": "This example shows how to disable periodic backup for a stateful partition which was previously enabled.",
+ "parameters": {
+ "api-version": "6.4",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "DisableBackupDescription": {
+ "CleanBackup": false
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/DisableServiceBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/DisableServiceBackup.json
new file mode 100644
index 000000000000..14ca9acf4e25
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/DisableServiceBackup.json
@@ -0,0 +1,14 @@
+{
+ "operationId": "DisableServiceBackup",
+ "description": "This example shows how to disable periodic backup for a stateful service which was previously enabled.",
+ "parameters": {
+ "api-version": "6.4",
+ "serviceId": "CalcApp/CalcService",
+ "DisableBackupDescription": {
+ "CleanBackup": true
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/EnableApplicationBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/EnableApplicationBackup.json
new file mode 100644
index 000000000000..b0e24cd35f67
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/EnableApplicationBackup.json
@@ -0,0 +1,14 @@
+{
+ "operationId": "EnableApplicationBackup",
+ "description": "This example shows how to enable periodic backup for a stateful application.",
+ "parameters": {
+ "api-version": "6.4",
+ "applicationId": "CalcApp",
+ "EnableBackupDescription": {
+ "BackupPolicyName": "DailyAzureBackupPolicy"
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/EnablePartitionBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/EnablePartitionBackup.json
new file mode 100644
index 000000000000..739bd06ce60e
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/EnablePartitionBackup.json
@@ -0,0 +1,14 @@
+{
+ "operationId": "EnablePartitionBackup",
+ "description": "This example shows how to enable periodic backup for a stateful partition.",
+ "parameters": {
+ "api-version": "6.4",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "EnableBackupDescription": {
+ "BackupPolicyName": "DailyAzureBackupPolicy"
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/EnableServiceBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/EnableServiceBackup.json
new file mode 100644
index 000000000000..0fe38fd714bc
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/EnableServiceBackup.json
@@ -0,0 +1,14 @@
+{
+ "operationId": "EnableServiceBackup",
+ "description": "This example shows how to enable periodic backup for a stateful service.",
+ "parameters": {
+ "api-version": "6.4",
+ "serviceId": "CalcApp/CalcService",
+ "EnableBackupDescription": {
+ "BackupPolicyName": "DailyAzureBackupPolicy"
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetAllEntitiesBackedUpByPolicy-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetAllEntitiesBackedUpByPolicy-1.json
new file mode 100644
index 000000000000..9f4e37d7fdf9
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetAllEntitiesBackedUpByPolicy-1.json
@@ -0,0 +1,27 @@
+{
+ "operationId": "GetAllEntitiesBackedUpByPolicy",
+ "description": "This example shows how to get list of backup entities that are currently associated with a backup policy. The number of results in a page are limited to maximum of two using the MaxResult parameter.",
+ "parameters": {
+ "api-version": "6.4",
+ "backupPolicyName": "DailyAzureBackupPolicy",
+ "MaxResults": 2
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "fabric:/DemoApp",
+ "Items": [
+ {
+ "EntityKind": "Application",
+ "ApplicationName": "fabric:/CalcApp"
+ },
+ {
+ "EntityKind": "Application",
+ "ApplicationName": "fabric:/DemoApp"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetAllEntitiesBackedUpByPolicy-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetAllEntitiesBackedUpByPolicy-2.json
new file mode 100644
index 000000000000..18f3467fc9ed
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetAllEntitiesBackedUpByPolicy-2.json
@@ -0,0 +1,24 @@
+{
+ "operationId": "GetAllEntitiesBackedUpByPolicy",
+ "description": "This example shows how to get list of backup entities that are currently associated with a backup policy. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.",
+ "parameters": {
+ "api-version": "6.4",
+ "backupPolicyName": "DailyAzureBackupPolicy",
+ "MaxResults": 2,
+ "ContinuationToken": "fabric:/DemoApp"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "EntityKind": "Service",
+ "ServiceName": "fabric:/VotingApp/VotingActorService"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationBackupConfigurationInfo-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationBackupConfigurationInfo-1.json
new file mode 100644
index 000000000000..3d396dbf082d
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationBackupConfigurationInfo-1.json
@@ -0,0 +1,39 @@
+{
+ "operationId": "GetApplicationBackupConfigurationInfo",
+ "description": "This example shows how to get list of backup configuration for this application and entities (services and partitions) under this application. The number of results in a page are limited to maximum of two using the MaxResult parameter.",
+ "parameters": {
+ "api-version": "6.4",
+ "applicationId": "CalcApp",
+ "MaxResults": 2
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "fabric:/CalcApp/CalcService",
+ "Items": [
+ {
+ "Kind": "Application",
+ "PolicyName": "BackupPolicy1",
+ "PolicyInheritedFrom": "Application",
+ "ApplicationName": "fabric:/CalcApp",
+ "SuspensionInfo": {
+ "IsSuspended": false,
+ "SuspensionInheritedFrom": "Invalid"
+ }
+ },
+ {
+ "Kind": "Service",
+ "PolicyName": "BackupPolicy2",
+ "PolicyInheritedFrom": "Service",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "SuspensionInfo": {
+ "IsSuspended": false,
+ "SuspensionInheritedFrom": "Invalid"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationBackupConfigurationInfo-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationBackupConfigurationInfo-2.json
new file mode 100644
index 000000000000..1ca86bee1983
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationBackupConfigurationInfo-2.json
@@ -0,0 +1,31 @@
+{
+ "operationId": "GetApplicationBackupConfigurationInfo",
+ "description": "This example shows how to get list of backup configuration for this application and entities (services and partitions) under this application. The number of results in a page are limited to maximum of two using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.",
+ "parameters": {
+ "api-version": "6.4",
+ "applicationId": "CalcApp",
+ "MaxResults": 2,
+ "ContinuationToken": "fabric:/CalcApp/CalcService"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "Kind": "Partition",
+ "PolicyName": "BackupPolicy2",
+ "PolicyInheritedFrom": "Service",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "SuspensionInfo": {
+ "IsSuspended": true,
+ "SuspensionInheritedFrom": "Partition"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationBackupList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationBackupList-1.json
new file mode 100644
index 000000000000..bc89f402c6bd
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationBackupList-1.json
@@ -0,0 +1,108 @@
+{
+ "operationId": "GetApplicationBackupList",
+ "description": "This example shows how to get list of application backups within a time range.",
+ "parameters": {
+ "api-version": "6.4",
+ "applicationId": "CalcApp",
+ "StartDateTimeFilter": "2018-01-01T00:00:00Z",
+ "EndDateTimeFilter": "2018-01-01T23:59:59Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip",
+ "BackupType": "Full",
+ "ServiceManifestVersion": "1.0.0",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "261",
+ "CreationTimeUtc": "2018-01-01T09:00:55Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "446",
+ "CreationTimeUtc": "2018-01-01T17:01:02Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "ServiceManifestVersion": "1.0.0",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "81645ec7-d260-4c59-9533-8f129bde8e83"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 09.01.02.zip",
+ "BackupType": "Full",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "161",
+ "CreationTimeUtc": "2018-01-01T09:01:02Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc",
+ "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "ServiceManifestVersion": "1.0.0",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "81645ec7-d260-4c59-9533-8f129bde8e83"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "246",
+ "CreationTimeUtc": "2018-01-01T17:00:34Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationBackupList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationBackupList-2.json
new file mode 100644
index 000000000000..adb11bc306b8
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationBackupList-2.json
@@ -0,0 +1,63 @@
+{
+ "operationId": "GetApplicationBackupList",
+ "description": "This example shows how to get the latest backup for each partition within an application.",
+ "parameters": {
+ "api-version": "6.4",
+ "applicationId": "CalcApp",
+ "Latest": true
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "ServiceManifestVersion": "1.0.0",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "446",
+ "CreationTimeUtc": "2018-01-01T17:01:02Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc",
+ "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "81645ec7-d260-4c59-9533-8f129bde8e83"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "246",
+ "CreationTimeUtc": "2018-01-01T17:00:34Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationBackupList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationBackupList-3.json
new file mode 100644
index 000000000000..189ba7d18cbf
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationBackupList-3.json
@@ -0,0 +1,63 @@
+{
+ "operationId": "GetApplicationBackupList",
+ "description": "This example shows how to get list of application backups. The number of results in a page are limited to maximum of two using the MaxResult parameter.",
+ "parameters": {
+ "api-version": "6.4",
+ "applicationId": "CalcApp",
+ "MaxResults": 2
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd",
+ "Items": [
+ {
+ "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip",
+ "BackupType": "Full",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "261",
+ "CreationTimeUtc": "2018-01-01T09:00:55Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "446",
+ "CreationTimeUtc": "2018-01-01T17:01:02Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationBackupList-4.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationBackupList-4.json
new file mode 100644
index 000000000000..537af235a0e2
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationBackupList-4.json
@@ -0,0 +1,64 @@
+{
+ "operationId": "GetApplicationBackupList",
+ "description": "This example shows how to get list of application backups. The number of results in a page are limited to maximum of two using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.",
+ "parameters": {
+ "api-version": "6.4",
+ "applicationId": "CalcApp",
+ "MaxResults": 2,
+ "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "BackupId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "81645ec7-d260-4c59-9533-8f129bde8e83"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 09.01.02.zip",
+ "BackupType": "Full",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "161",
+ "CreationTimeUtc": "2018-01-01T09:01:02Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc",
+ "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "81645ec7-d260-4c59-9533-8f129bde8e83"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "246",
+ "CreationTimeUtc": "2018-01-01T17:00:34Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationEventList.json
new file mode 100644
index 000000000000..32bca288ae42
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationEventList.json
@@ -0,0 +1,27 @@
+{
+ "operationId": "GetApplicationEventList",
+ "description": "This example shows how to get all application-related events during a certain time window.",
+ "parameters": {
+ "applicationId": "app1",
+ "api-version": "6.4",
+ "StartTimeUtc": "2018-04-03T18:00:00Z",
+ "EndTimeUtc": "2018-04-04T18:00:00Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "Kind": "ApplicationCreated",
+ "ApplicationTypeName": "App1Type",
+ "ApplicationTypeVersion": "1.0.1",
+ "ApplicationDefinitionKind": "ServiceFabricApplicationDescription",
+ "ApplicationId": "app1",
+ "EventInstanceId": "8a7a0c42-67ca-4cd3-9160-edcdb822db10",
+ "TimeStamp": "2018-04-03T20:21:23.5774199Z",
+ "HasCorrelatedEvents": false
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationInfoByName-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationInfoByName-1.json
new file mode 100644
index 000000000000..6d9746679571
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationInfoByName-1.json
@@ -0,0 +1,24 @@
+{
+ "operationId": "GetApplicationInfo",
+ "description": "This example shows how to get information about an application using it's identifier. If the application is found, information about it is returned with 200 status code. If the application is not found, empty content is returned with 204 status code.",
+ "parameters": {
+ "api-version": "6.0",
+ "applicationId": "samples~CalculatorApp"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "Id": "samples~CalculatorApp",
+ "Name": "fabric:/samples/CalculatorApp",
+ "TypeName": "CalculatorApp",
+ "TypeVersion": "1.0",
+ "Status": "Ready",
+ "Parameters": [],
+ "HealthState": "Ok",
+ "ApplicationDefinitionKind": "ServiceFabricApplicationDescription"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationInfoList-1.json
new file mode 100644
index 000000000000..2ca46b64e3a4
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationInfoList-1.json
@@ -0,0 +1,38 @@
+{
+ "operationId": "GetApplicationInfoList",
+ "description": "This example shows how to get information about applications on the cluster. The number of results in a page are limited to maximum of two using the MaxResult parameter.",
+ "parameters": {
+ "api-version": "6.1",
+ "MaxResults": 2
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "fabric:/samples/PQueueApp1",
+ "Items": [
+ {
+ "Id": "samples~CalculatorApp",
+ "Name": "fabric:/samples/CalculatorApp",
+ "TypeName": "CalculatorApp",
+ "TypeVersion": "1.0",
+ "Status": "Ready",
+ "Parameters": [],
+ "HealthState": "Ok",
+ "ApplicationDefinitionKind": "ServiceFabricApplicationDescription"
+ },
+ {
+ "Id": "samples~PQueueApp1",
+ "Name": "fabric:/samples/PQueueApp1",
+ "TypeName": "PersistentQueueApp",
+ "TypeVersion": "1.0",
+ "Status": "Ready",
+ "Parameters": [],
+ "HealthState": "Ok",
+ "ApplicationDefinitionKind": "ServiceFabricApplicationDescription"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationInfoList-2.json
new file mode 100644
index 000000000000..c0755d26e14b
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationInfoList-2.json
@@ -0,0 +1,29 @@
+{
+ "operationId": "GetApplicationInfoList",
+ "description": "This example shows how to page through the information about applications on the cluster using the ContinuationToken parameter. The value of this parameter is provided from the previous query, in this case the example shown above. The response contains the remaining one result and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.",
+ "parameters": {
+ "api-version": "6.1",
+ "MaxResults": 2,
+ "ContinuationToken": "fabric:/samples/PQueueApp1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "Id": "samples~VQueueApp1",
+ "Name": "fabric:/samples/VQueueApp1",
+ "TypeName": "VolatileQueueApp",
+ "TypeVersion": "1.0",
+ "Status": "Ready",
+ "Parameters": [],
+ "HealthState": "Ok",
+ "ApplicationDefinitionKind": "ServiceFabricApplicationDescription"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationTypeInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationTypeInfoList-1.json
new file mode 100644
index 000000000000..bcb6a4e5e3b7
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationTypeInfoList-1.json
@@ -0,0 +1,85 @@
+{
+ "operationId": "GetApplicationTypeInfoList",
+ "description": "This example shows how to get information about application types that are provisioned or being provisioned in the cluster. The number of results in a page are limited to maximum of five using MaxResult parameter.",
+ "parameters": {
+ "api-version": "6.0",
+ "MaxResults": 5
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "PersistentQueueApp+2.0",
+ "Items": [
+ {
+ "Name": "CalculatorApp",
+ "Version": "1.0",
+ "DefaultParameterList": [
+ {
+ "Key": "ServiceInstanceCount",
+ "Value": "3"
+ }
+ ],
+ "Status": "Available"
+ },
+ {
+ "Name": "CalculatorApp",
+ "Version": "2.0",
+ "DefaultParameterList": [
+ {
+ "Key": "ServiceInstanceCount",
+ "Value": "3"
+ }
+ ],
+ "Status": "Available"
+ },
+ {
+ "Name": "GatewayApp",
+ "Version": "1.0",
+ "DefaultParameterList": [
+ {
+ "Key": "GatewayPort",
+ "Value": "8505"
+ },
+ {
+ "Key": "ServiceInstanceCount",
+ "Value": "1000"
+ }
+ ],
+ "Status": "Available"
+ },
+ {
+ "Name": "PersistentQueueApp",
+ "Version": "1.0",
+ "DefaultParameterList": [
+ {
+ "Key": "MinReplicaSetSize",
+ "Value": "2"
+ },
+ {
+ "Key": "TargetReplicaSetSize",
+ "Value": "3"
+ }
+ ],
+ "Status": "Available"
+ },
+ {
+ "Name": "PersistentQueueApp",
+ "Version": "2.0",
+ "DefaultParameterList": [
+ {
+ "Key": "MinReplicaSetSize",
+ "Value": "2"
+ },
+ {
+ "Key": "TargetReplicaSetSize",
+ "Value": "3"
+ }
+ ],
+ "Status": "Available"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationTypeInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationTypeInfoList-2.json
new file mode 100644
index 000000000000..a7c38cdedbe7
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationTypeInfoList-2.json
@@ -0,0 +1,49 @@
+{
+ "operationId": "GetApplicationTypeInfoList",
+ "description": "This example shows how to page through the information about application types that are provisioned or being provisioned in the cluster using ContinuationToken parameter. The value of this parameter is provided from the previous query, in this case the example shown above. The response contains the remaining two results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.",
+ "parameters": {
+ "api-version": "6.0",
+ "MaxResults": 5,
+ "ContinuationToken": "PersistentQueueApp+2.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "Name": "VolatileQueueApp",
+ "Version": "1.0",
+ "DefaultParameterList": [
+ {
+ "Key": "MinReplicaSetSize",
+ "Value": "2"
+ },
+ {
+ "Key": "TargetReplicaSetSize",
+ "Value": "3"
+ }
+ ],
+ "Status": "Available"
+ },
+ {
+ "Name": "VolatileQueueApp",
+ "Version": "2.0",
+ "DefaultParameterList": [
+ {
+ "Key": "MinReplicaSetSize",
+ "Value": "2"
+ },
+ {
+ "Key": "TargetReplicaSetSize",
+ "Value": "3"
+ }
+ ],
+ "Status": "Available"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationTypeInfoList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationTypeInfoList-3.json
new file mode 100644
index 000000000000..473565e56c6d
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationTypeInfoList-3.json
@@ -0,0 +1,60 @@
+{
+ "operationId": "GetApplicationTypeInfoList",
+ "description": "This example shows how to exclude application parameter in the result when getting the information about application types that are provisioned or being provisioned in the cluster.",
+ "parameters": {
+ "api-version": "6.0",
+ "ExcludeApplicationParameters": true
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "Name": "CalculatorApp",
+ "Version": "1.0",
+ "DefaultParameterList": [],
+ "Status": "Available"
+ },
+ {
+ "Name": "CalculatorApp",
+ "Version": "2.0",
+ "DefaultParameterList": [],
+ "Status": "Available"
+ },
+ {
+ "Name": "GatewayApp",
+ "Version": "1.0",
+ "DefaultParameterList": [],
+ "Status": "Available"
+ },
+ {
+ "Name": "PersistentQueueApp",
+ "Version": "1.0",
+ "DefaultParameterList": [],
+ "Status": "Available"
+ },
+ {
+ "Name": "PersistentQueueApp",
+ "Version": "2.0",
+ "DefaultParameterList": [],
+ "Status": "Available"
+ },
+ {
+ "Name": "VolatileQueueApp",
+ "Version": "1.0",
+ "DefaultParameterList": [],
+ "Status": "Available"
+ },
+ {
+ "Name": "VolatileQueueApp",
+ "Version": "2.0",
+ "DefaultParameterList": [],
+ "Status": "Available"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationsEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationsEventList.json
new file mode 100644
index 000000000000..fa65ec159120
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetApplicationsEventList.json
@@ -0,0 +1,36 @@
+{
+ "operationId": "GetApplicationsEventList",
+ "description": "This example shows how to get all applications-related events during a certain time window.",
+ "parameters": {
+ "api-version": "6.4",
+ "StartTimeUtc": "2018-04-03T18:00:00Z",
+ "EndTimeUtc": "2018-04-04T18:00:00Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "Kind": "ApplicationCreated",
+ "ApplicationTypeName": "App1Type",
+ "ApplicationTypeVersion": "1.0.1",
+ "ApplicationDefinitionKind": "ServiceFabricApplicationDescription",
+ "ApplicationId": "app1",
+ "EventInstanceId": "8a7a0c42-67ca-4cd3-9160-edcdb822db10",
+ "TimeStamp": "2018-04-03T20:21:23.5774199Z",
+ "HasCorrelatedEvents": false
+ },
+ {
+ "Kind": "ApplicationCreated",
+ "ApplicationTypeName": "App2Type",
+ "ApplicationTypeVersion": "4.0.1",
+ "ApplicationDefinitionKind": "ServiceFabricApplicationDescription",
+ "ApplicationId": "app2",
+ "EventInstanceId": "d50574bc-6a31-4945-8275-7639bec7a0b3",
+ "TimeStamp": "2018-04-03T20:21:59.74842Z",
+ "HasCorrelatedEvents": false
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetBackupPolicyByName.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetBackupPolicyByName.json
new file mode 100644
index 000000000000..411b836109b2
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetBackupPolicyByName.json
@@ -0,0 +1,36 @@
+{
+ "operationId": "GetBackupPolicyByName",
+ "description": "This example shows how to query a backup policy by name.",
+ "parameters": {
+ "api-version": "6.4",
+ "backupPolicyName": "DailyAzureBackupPolicy"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "Name": "DailyAzureBackupPolicy",
+ "AutoRestoreOnDataLoss": false,
+ "MaxIncrementalBackups": 3,
+ "Schedule": {
+ "ScheduleKind": "TimeBased",
+ "ScheduleFrequencyType": "Daily",
+ "RunTimes": [
+ "0001-01-01T09:00:00Z",
+ "0001-01-01T17:00:00Z"
+ ]
+ },
+ "Storage": {
+ "StorageKind": "AzureBlobStore",
+ "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=",
+ "ContainerName": "BackupContainer"
+ },
+ "RetentionPolicy": {
+ "RetentionPolicyType": "Basic",
+ "MinimumNumberOfBackups": 20,
+ "RetentionDuration": "P20D"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetBackupPolicyList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetBackupPolicyList-1.json
new file mode 100644
index 000000000000..d4ac30f0658a
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetBackupPolicyList-1.json
@@ -0,0 +1,63 @@
+{
+ "operationId": "GetBackupPolicyList",
+ "description": "This example shows how to get list of backup policies. The number of results in a page are limited to maximum of two using the MaxResult parameter.",
+ "parameters": {
+ "api-version": "6.4",
+ "MaxResults": 2
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "FileShare10MinBackupPolicy",
+ "Items": [
+ {
+ "Name": "DailyAzureBackupPolicy",
+ "AutoRestoreOnDataLoss": false,
+ "MaxIncrementalBackups": 3,
+ "Schedule": {
+ "ScheduleKind": "TimeBased",
+ "ScheduleFrequencyType": "Daily",
+ "RunTimes": [
+ "0001-01-01T09:00:00Z",
+ "0001-01-01T17:00:00Z"
+ ]
+ },
+ "Storage": {
+ "StorageKind": "AzureBlobStore",
+ "FriendlyName": "Azure_storagesample",
+ "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=",
+ "ContainerName": "BackupContainer"
+ },
+ "RetentionPolicy": {
+ "RetentionPolicyType": "Basic",
+ "MinimumNumberOfBackups": 30,
+ "RetentionDuration": "P29D"
+ }
+ },
+ {
+ "Name": "FileShare10MinBackupPolicy",
+ "AutoRestoreOnDataLoss": false,
+ "MaxIncrementalBackups": 3,
+ "Schedule": {
+ "ScheduleKind": "FrequencyBased",
+ "Interval": "PT10M"
+ },
+ "Storage": {
+ "StorageKind": "FileShare",
+ "FriendlyName": "FileShare_myshare",
+ "Path": "\\\\myshare\\backupshare",
+ "PrimaryUserName": "backupaccount",
+ "PrimaryPassword": "****"
+ },
+ "RetentionPolicy": {
+ "RetentionPolicyType": "Basic",
+ "MinimumNumberOfBackups": 20,
+ "RetentionDuration": "P20D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetBackupPolicyList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetBackupPolicyList-2.json
new file mode 100644
index 000000000000..ad0e9a860ae4
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetBackupPolicyList-2.json
@@ -0,0 +1,42 @@
+{
+ "operationId": "GetBackupPolicyList",
+ "description": "This example shows how to get list of backup policies. The number of results in a page are limited to maximum of two using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.",
+ "parameters": {
+ "api-version": "6.4",
+ "MaxResults": 2,
+ "ContinuationToken": "FileShare10MinBackupPolicy"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "AutoRestoreOnDataLoss": false,
+ "Name": "SampleBackupPolicy",
+ "MaxIncrementalBackups": 5,
+ "Schedule": {
+ "ScheduleKind": "FrequencyBased",
+ "Interval": "PT4H5M"
+ },
+ "Storage": {
+ "Path": "\\\\myshare\\BackupStore",
+ "PrimaryUserName": "myuser1",
+ "PrimaryPassword": "****",
+ "SecondaryUserName": "myuser2",
+ "SecondaryPassword": "****",
+ "StorageKind": "FileShare",
+ "FriendlyName": ""
+ },
+ "RetentionPolicy": {
+ "RetentionPolicyType": "Basic",
+ "MinimumNumberOfBackups": 0,
+ "RetentionDuration": "P20D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetBackupsFromBackupLocation-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetBackupsFromBackupLocation-1.json
new file mode 100644
index 000000000000..6925de02aeb5
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetBackupsFromBackupLocation-1.json
@@ -0,0 +1,73 @@
+{
+ "operationId": "GetBackupsFromBackupLocation",
+ "description": "This example shows how to get list of application backups from a specified backup location. The number of results in a page are limited to maximum of two using the MaxResult parameter.",
+ "parameters": {
+ "api-version": "6.4",
+ "MaxResults": 2,
+ "GetBackupByStorageQueryDescription": {
+ "Storage": {
+ "StorageKind": "AzureBlobStore",
+ "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=",
+ "ContainerName": "BackupContainer"
+ },
+ "BackupEntity": {
+ "EntityKind": "Application",
+ "ApplicationName": "fabric:/CalcApp"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd",
+ "Items": [
+ {
+ "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip",
+ "BackupType": "Full",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "261",
+ "CreationTimeUtc": "2018-01-01T09:00:55Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "446",
+ "CreationTimeUtc": "2018-01-01T17:01:02Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetBackupsFromBackupLocation-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetBackupsFromBackupLocation-2.json
new file mode 100644
index 000000000000..190f318797ab
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetBackupsFromBackupLocation-2.json
@@ -0,0 +1,74 @@
+{
+ "operationId": "GetBackupsFromBackupLocation",
+ "description": "This example shows how to get list of application backups. The number of results in a page are limited to maximum of two using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.",
+ "parameters": {
+ "api-version": "6.4",
+ "MaxResults": 2,
+ "GetBackupByStorageQueryDescription": {
+ "Storage": {
+ "StorageKind": "AzureBlobStore",
+ "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=",
+ "ContainerName": "BackupContainer"
+ },
+ "BackupEntity": {
+ "EntityKind": "Application",
+ "ApplicationName": "fabric:/CalcApp"
+ }
+ },
+ "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "BackupId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "81645ec7-d260-4c59-9533-8f129bde8e83"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 09.01.02.zip",
+ "BackupType": "Full",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "161",
+ "CreationTimeUtc": "2018-01-01T09:01:02Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc",
+ "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "81645ec7-d260-4c59-9533-8f129bde8e83"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "246",
+ "CreationTimeUtc": "2018-01-01T17:00:34Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetChaosEvents.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetChaosEvents.json
new file mode 100644
index 000000000000..4e5d7bb0b4e3
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetChaosEvents.json
@@ -0,0 +1,62 @@
+{
+ "operationId": "GetChaosEvents",
+ "description": "This example shows how to get Chaos events in a single response message without the need for paging through ContinuationToken parameter.",
+ "parameters": {
+ "api-version": "6.2",
+ "StartTimeUtc": "0",
+ "EndTimeUtc": "3155378975999999999"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "History": [
+ {
+ "ChaosEvent": {
+ "Kind": "Started",
+ "TimeStampUtc": "2017-04-14T04:27:19.049Z",
+ "ChaosParameters": {
+ "MaxClusterStabilizationTimeoutInSeconds": 30,
+ "MaxConcurrentFaults": 3,
+ "WaitTimeBetweenIterationsInSeconds": 10,
+ "WaitTimeBetweenFaultsInSeconds": 1,
+ "TimeToRunInSeconds": "3600",
+ "EnableMoveReplicaFaults": true,
+ "ClusterHealthPolicy": {
+ "ConsiderWarningAsError": true,
+ "MaxPercentUnhealthyNodes": 0,
+ "MaxPercentUnhealthyApplications": 10,
+ "ApplicationTypeHealthPolicyMap": [
+ {
+ "Key": "myapp",
+ "Value": 3
+ }
+ ]
+ },
+ "Context": {
+ "Map": {
+ "k1": "v1",
+ "k2": "v2",
+ "k3": "v5"
+ }
+ }
+ }
+ }
+ },
+ {
+ "ChaosEvent": {
+ "Kind": "ExecutingFaults",
+ "TimeStampUtc": "2017-04-14T04:27:20.667Z",
+ "Faults": [
+ "ActionType: RestartReplica, ServiceUri: fabric:/TestApp1/PersistServ_6R_1, PartitionId: 6a91b09a-bd76-45da-afaa-ed0fd9bfe7d2, ReplicaId: 131366172775684622",
+ "ActionType: CodePackageRestart, NodeName: N0050, ApplicationName: fabric:/TestApp1, ServiceManifestName: SP1, ServiceManifestName: , CodePackageName: CP1.",
+ "ActionType: RestartReplica, ServiceUri: fabric:/TestApp1/PersistServ_6R_3, PartitionId: baa3a51e-5c42-435e-89d3-6e97b2164661, ReplicaId: 131366172988968762"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetClusterEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetClusterEventList.json
new file mode 100644
index 000000000000..3a122bb8aec0
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetClusterEventList.json
@@ -0,0 +1,55 @@
+{
+ "operationId": "GetClusterEventList",
+ "description": "This example shows how to get all cluster-related events during a certain time window.",
+ "parameters": {
+ "api-version": "6.4",
+ "StartTimeUtc": "2018-04-03T18:00:00Z",
+ "EndTimeUtc": "2018-04-04T18:00:00Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "Kind": "ClusterUpgradeStarted",
+ "CurrentClusterVersion": "0.0.0.0:",
+ "TargetClusterVersion": "6.2:1.0",
+ "UpgradeType": "Rolling",
+ "RollingUpgradeMode": "UnmonitoredAuto",
+ "FailureAction": "Manual",
+ "EventInstanceId": "090add3c-8f56-4d35-8d57-a855745b6064",
+ "TimeStamp": "2018-04-03T20:18:59.4313064Z",
+ "HasCorrelatedEvents": false
+ },
+ {
+ "Kind": "ClusterUpgradeDomainCompleted",
+ "TargetClusterVersion": "6.2:1.0",
+ "UpgradeState": "RollingForward",
+ "UpgradeDomains": "(0 1 2)",
+ "UpgradeDomainElapsedTimeInMs": 78.5288,
+ "EventInstanceId": "090add3c-8f56-4d35-8d57-a855745b6064",
+ "TimeStamp": "2018-04-03T20:19:59.5729953Z",
+ "HasCorrelatedEvents": false
+ },
+ {
+ "Kind": "ClusterUpgradeDomainCompleted",
+ "TargetClusterVersion": "6.2:1.0",
+ "UpgradeState": "RollingForward",
+ "UpgradeDomains": "(3 4)",
+ "UpgradeDomainElapsedTimeInMs": 0.0,
+ "EventInstanceId": "090add3c-8f56-4d35-8d57-a855745b6064",
+ "TimeStamp": "2018-04-03T20:20:59.6271949Z",
+ "HasCorrelatedEvents": false
+ },
+ {
+ "Kind": "ClusterUpgradeCompleted",
+ "TargetClusterVersion": "6.2:1.0",
+ "OverallUpgradeElapsedTimeInMs": 120196.5212,
+ "EventInstanceId": "090add3c-8f56-4d35-8d57-a855745b6064",
+ "TimeStamp": "2018-04-03T20:20:59.8134457Z",
+ "HasCorrelatedEvents": false
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetClusterVersion-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetClusterVersion-1.json
new file mode 100644
index 000000000000..fd3b6fbf55b8
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetClusterVersion-1.json
@@ -0,0 +1,15 @@
+{
+ "operationId": "GetClusterVersion",
+ "description": "This example retrieves the current (or lowest version during upgrade) cluster version.",
+ "parameters": {
+ "api-version": "6.4"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "Version": "6.4.514.9494"
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetContainerLogsDeployedOnNode-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetContainerLogsDeployedOnNode-1.json
new file mode 100644
index 000000000000..1be29fb8e6ef
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetContainerLogsDeployedOnNode-1.json
@@ -0,0 +1,19 @@
+{
+ "operationId": "GetContainerLogsDeployedOnNode",
+ "description": "This example shows how to get container logs for container deployed on a Service Fabric node for the given code package.",
+ "parameters": {
+ "api-version": "6.2",
+ "nodeName": "_Node_0",
+ "applicationId": "SimpleHttpServerApp",
+ "ServiceManifestName": "SimpleHttpServerSvcPkg",
+ "CodePackageName": "Code"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "Content": "HTTP Server started listening on port 8080\r\n"
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetContainerLogsDeployedOnNode-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetContainerLogsDeployedOnNode-2.json
new file mode 100644
index 000000000000..9f1025363561
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetContainerLogsDeployedOnNode-2.json
@@ -0,0 +1,20 @@
+{
+ "operationId": "GetContainerLogsDeployedOnNode",
+ "description": "This example shows how to get last 10 lines of container logs for container deployed on a Service Fabric node for the given code package.",
+ "parameters": {
+ "api-version": "6.2",
+ "nodeName": "_Node_0",
+ "applicationId": "SimpleHttpServerApp",
+ "ServiceManifestName": "SimpleHttpServerSvcPkg",
+ "CodePackageName": "Code",
+ "Tail": "10"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "Content": "UTC Time Now: 04/02/2018 22:06:31\r\nUTC Time Now: 04/02/2018 22:06:32\r\nUTC Time Now: 04/02/2018 22:06:33\r\nUTC Time Now: 04/02/2018 22:06:344\r\nUTC Time Now: 04/02/2018 22:06:35\r\nUTC Time Now: 04/02/2018 22:06:36\r\nUTC Time Now: 04/02/2018 22:06:37\r\nUTC Time Now: 04/02/2018 22:06:38\r\nUTC Time Now: 04/02/2018 22:06:39\r\nUTC Time Now: 04/02/2018 22:06:40\r\n"
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetContainerLogsDeployedOnNode-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetContainerLogsDeployedOnNode-3.json
new file mode 100644
index 000000000000..2ca6cad4f774
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetContainerLogsDeployedOnNode-3.json
@@ -0,0 +1,20 @@
+{
+ "operationId": "GetContainerLogsDeployedOnNode",
+ "description": "This example shows how to get container logs of previous dead container on a Service Fabric node for the given code package.",
+ "parameters": {
+ "api-version": "6.2",
+ "nodeName": "_Node_0",
+ "applicationId": "SimpleHttpServerApp",
+ "ServiceManifestName": "SimpleHttpServerSvcPkg",
+ "CodePackageName": "Code",
+ "Previous": true
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "Content": "Exception encountered: System.Net.Http.HttpRequestException: Response status code does not indicate success: 500 (Internal Server Error).\r\n\tat System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()\r\n"
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetCorrelatedEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetCorrelatedEventList.json
new file mode 100644
index 000000000000..7e271b230d90
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetCorrelatedEventList.json
@@ -0,0 +1,31 @@
+{
+ "operationId": "GetCorrelatedEventList",
+ "description": "This example shows how to get all correlated events for a given eventInstanceId.",
+ "parameters": {
+ "eventInstanceId": "e00fa5b7-f747-40dd-9e09-f5a031e96de4",
+ "api-version": "6.4"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "Kind": "PartitionPrimaryMoveAnalysis",
+ "WhenMoveCompleted": "2018-04-03T20:06:55.966073Z",
+ "PreviousNode": "node3(b9d52c016a15a8f57673d3b8041e2d35)",
+ "CurrentNode": "node1(cf68563e16a44f808e86197a9cf83de5)",
+ "MoveReason": "ApplicationHostDown",
+ "RelevantTraces": "",
+ "PartitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89",
+ "EventInstanceId": "59dde2bc-a833-412e-a56d-8f6ada0c7963",
+ "TimeStamp": "2018-04-03T20:07:55.966073Z",
+ "HasCorrelatedEvents": true,
+ "Metadata": {
+ "Delay": "00:00:20",
+ "Duration": "00:01:59"
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetDataLossProgress-Running.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetDataLossProgress-Running.json
new file mode 100644
index 000000000000..90590fff4f2f
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetDataLossProgress-Running.json
@@ -0,0 +1,18 @@
+{
+ "operationId": "GetDataLossProgress",
+ "description": "This shows an example of output when a data loss operation is in a Running State. If the State has a value of Running, only the State field will have a value.",
+ "parameters": {
+ "serviceId": "fabric:/myapp/myservice",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "OperationId": "7216486c-1ee9-4b00-99b2-92b26fcb07f5",
+ "api-version": "6.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "State": "Running"
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetDataLossProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetDataLossProgress.json
new file mode 100644
index 000000000000..89d341f05c26
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetDataLossProgress.json
@@ -0,0 +1,25 @@
+{
+ "operationId": "GetDataLossProgress",
+ "description": "This shows an example of possible output when GetDataLossProgress has reached a State of Completed. If the State has a value of Running, only the State field will have a value.",
+ "parameters": {
+ "serviceId": "fabric:/myapp/myservice",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "OperationId": "7216486c-1ee9-4b00-99b2-92b26fcb07f5",
+ "api-version": "6.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "State": "Completed",
+ "InvokeDataLossResult": {
+ "ErrorCode": 0,
+ "SelectedPartition": {
+ "ServiceName": "fabric:/myapp/myservice",
+ "PartitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetDeployedApplicationInfoByName-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetDeployedApplicationInfoByName-1.json
new file mode 100644
index 000000000000..8552057cbe2f
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetDeployedApplicationInfoByName-1.json
@@ -0,0 +1,26 @@
+{
+ "operationId": "GetDeployedApplicationInfoList",
+ "description": "This example shows how to get information about an application deployed on a specified node by using an application identifier. If the application is found it's information is returned with 200 status code. An empty response with status code 204 is returned, if the specified application is not deployed on the node.",
+ "parameters": {
+ "api-version": "6.1",
+ "nodeName": "_Node_0",
+ "applicationId": "samples~CalculatorApp",
+ "IncludeHealthState": true
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "Id": "samples~CalculatorApp",
+ "Name": "fabric:/samples/CalculatorApp",
+ "TypeName": "CalculatorApp",
+ "Status": "Active",
+ "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_1\\CalculatorApp_App0\\work",
+ "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_1\\CalculatorApp_App0\\log",
+ "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_1\\CalculatorApp_App0\\temp",
+ "HealthState": "Ok"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetDeployedApplicationInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetDeployedApplicationInfoList-1.json
new file mode 100644
index 000000000000..c19d4e2a841c
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetDeployedApplicationInfoList-1.json
@@ -0,0 +1,39 @@
+{
+ "operationId": "GetDeployedApplicationInfoList",
+ "description": "This example shows how to specify the number of applications returned by the query when getting information about applications deployed on a specific node. The number of results in a page are limited to maximum of 2 using the MaxResult parameter. Health state is not requested in this example, so the returned health state will be Unknown.",
+ "parameters": {
+ "api-version": "6.1",
+ "nodeName": "_Node_0",
+ "MaxResults": 2
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "fabric:/samples/PQueueApp1",
+ "Items": [
+ {
+ "Id": "samples~CalculatorApp",
+ "Name": "fabric:/samples/CalculatorApp",
+ "TypeName": "CalculatorApp",
+ "Status": "Active",
+ "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\work",
+ "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\log",
+ "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\temp",
+ "HealthState": "Unknown"
+ },
+ {
+ "Id": "samples~PQueueApp1",
+ "Name": "fabric:/samples/PQueueApp1",
+ "TypeName": "PersistentQueueApp",
+ "Status": "Active",
+ "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\work",
+ "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\log",
+ "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\temp",
+ "HealthState": "Unknown"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetDeployedApplicationInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetDeployedApplicationInfoList-2.json
new file mode 100644
index 000000000000..7f6320e69e6d
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetDeployedApplicationInfoList-2.json
@@ -0,0 +1,29 @@
+{
+ "operationId": "GetDeployedApplicationInfoListByName",
+ "description": "This example demonstrates the paging functionality available when getting information about applications deployed on a specific node. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.",
+ "parameters": {
+ "api-version": "6.1",
+ "nodeName": "_Node_0",
+ "ContinuationToken": "fabric:/samples/PQueueApp1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "Id": "samples~VQueueApp1",
+ "Name": "fabric:/samples/VQueueApp1",
+ "TypeName": "VolatileQueueApp",
+ "Status": "Active",
+ "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\work",
+ "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\log",
+ "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\temp",
+ "HealthState": "Unknown"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetDeployedApplicationInfoList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetDeployedApplicationInfoList-3.json
new file mode 100644
index 000000000000..01cad866d3c1
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetDeployedApplicationInfoList-3.json
@@ -0,0 +1,49 @@
+{
+ "operationId": "GetDeployedApplicationInfoList",
+ "description": "This example shows how to include the health state of each deployed application when getting information about applications deployed on a specific node.",
+ "parameters": {
+ "api-version": "6.1",
+ "nodeName": "_Node_0",
+ "IncludeHealthState": true
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "Id": "samples~CalculatorApp",
+ "Name": "fabric:/samples/CalculatorApp",
+ "TypeName": "CalculatorApp",
+ "Status": "Active",
+ "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\work",
+ "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\log",
+ "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\temp",
+ "HealthState": "Ok"
+ },
+ {
+ "Id": "samples~PQueueApp1",
+ "Name": "fabric:/samples/PQueueApp1",
+ "TypeName": "PersistentQueueApp",
+ "Status": "Active",
+ "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\work",
+ "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\log",
+ "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\temp",
+ "HealthState": "Ok"
+ },
+ {
+ "Id": "samples~VQueueApp1",
+ "Name": "fabric:/samples/VQueueApp1",
+ "TypeName": "VolatileQueueApp",
+ "Status": "Active",
+ "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\work",
+ "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\log",
+ "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\temp",
+ "HealthState": "Ok"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetFaultOperationList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetFaultOperationList.json
new file mode 100644
index 000000000000..c7194dad614a
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetFaultOperationList.json
@@ -0,0 +1,51 @@
+{
+ "operationId": "GetFaultOperationList",
+ "description": "This shows an example of possible output for GetFaultOperationList",
+ "parameters": {
+ "TypeFilter": "0xFF",
+ "StateFilter": "0xFF",
+ "api-version": "6.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "OperationId": "00000000-0000-0000-0000-000000000010",
+ "State": "Completed",
+ "Type": "PartitionDataLoss"
+ },
+ {
+ "OperationId": "00000000-0000-0000-0000-000000000020",
+ "State": "Completed",
+ "Type": "PartitionQuorumLoss"
+ },
+ {
+ "OperationId": "00000000-0000-0000-0000-000000000030",
+ "State": "Completed",
+ "Type": "PartitionRestart"
+ },
+ {
+ "OperationId": "00000000-0000-0000-0000-000000000500",
+ "State": "Faulted",
+ "Type": "NodeTransition"
+ },
+ {
+ "OperationId": "00000000-0000-0000-0000-000000000700",
+ "State": "Completed",
+ "Type": "NodeTransition"
+ },
+ {
+ "OperationId": "00000000-0000-0000-0000-000000000710",
+ "State": "Completed",
+ "Type": "NodeTransition"
+ },
+ {
+ "OperationId": "88ef90f9-0b94-46b0-b817-a6ea20c07f8a",
+ "State": "Completed",
+ "Type": "PartitionRestart"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetImageStoreContent.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetImageStoreContent.json
new file mode 100644
index 000000000000..7e912c407a79
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetImageStoreContent.json
@@ -0,0 +1,91 @@
+{
+ "operationId": "GetImageStoreContent",
+ "description": "This example shows how to get image store content under the given relative path.",
+ "parameters": {
+ "api-version": "6.2",
+ "contentPath": "Store\\CalcServiceApp"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "StoreFiles": [
+ {
+ "StoreRelativePath": "Store\\CalcServiceApp\\ApplicationManifest.2.0.xml",
+ "FileVersion": {
+ "EpochDataLossNumber": "131510254310497004",
+ "VersionNumber": "23",
+ "EpochConfigurationNumber": "25769803776"
+ },
+ "FileSize": "897",
+ "ModifiedDate": "2017-09-28T17:44:22.609Z"
+ },
+ {
+ "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Code.2.0.checksum",
+ "FileVersion": {
+ "EpochDataLossNumber": "131510254310497004",
+ "VersionNumber": "25",
+ "EpochConfigurationNumber": "25769803776"
+ },
+ "FileSize": "66",
+ "ModifiedDate": "2017-09-28T17:44:22.468Z"
+ },
+ {
+ "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Config.1.0.checksum",
+ "FileVersion": {
+ "EpochDataLossNumber": "131510254310497004",
+ "VersionNumber": "26",
+ "EpochConfigurationNumber": "25769803776"
+ },
+ "FileSize": "66",
+ "ModifiedDate": "2017-09-28T17:44:22.468Z"
+ },
+ {
+ "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Data.2.0.checksum",
+ "FileVersion": {
+ "EpochDataLossNumber": "131510254310497004",
+ "VersionNumber": "27",
+ "EpochConfigurationNumber": "25769803776"
+ },
+ "FileSize": "66",
+ "ModifiedDate": "2017-09-28T17:44:22.468Z"
+ },
+ {
+ "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Manifest.2.0.xml",
+ "FileVersion": {
+ "EpochDataLossNumber": "131510254310497004",
+ "VersionNumber": "19",
+ "EpochConfigurationNumber": "25769803776"
+ },
+ "FileSize": "744",
+ "ModifiedDate": "2017-09-28T17:44:22.578Z"
+ },
+ {
+ "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Manifest.2.0.xml.checksum",
+ "FileVersion": {
+ "EpochDataLossNumber": "131510254310497004",
+ "VersionNumber": "24",
+ "EpochConfigurationNumber": "25769803776"
+ },
+ "FileSize": "66",
+ "ModifiedDate": "2017-09-28T17:44:22.484Z"
+ }
+ ],
+ "StoreFolders": [
+ {
+ "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Code.2.0",
+ "FileCount": "2"
+ },
+ {
+ "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Config.1.0",
+ "FileCount": "2"
+ },
+ {
+ "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Data.2.0",
+ "FileCount": "2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetImageStoreInfo.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetImageStoreInfo.json
new file mode 100644
index 000000000000..e4360622b5fd
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetImageStoreInfo.json
@@ -0,0 +1,36 @@
+{
+ "operationId": "GetImageStoreInfo",
+ "description": "This example shows how to get ImageStore information.",
+ "parameters": {
+ "api-version": "6.5"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "DiskInfo": {
+ "Capacity": "500090007552",
+ "AvailableSpace": "228851900416"
+ },
+ "UsedByMetadata": {
+ "UsedSpace": "23093248",
+ "FileCount": 6
+ },
+ "UsedByStaging": {
+ "UsedSpace": "6291456",
+ "FileCount": 9
+ },
+ "UsedByCopy": {
+ "UsedSpace": "4194304",
+ "FileCount": 2
+ },
+ "UsedByRegister": {
+ "UsedSpace": "4194304",
+ "FileCount": 3
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetNodeEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetNodeEventList.json
new file mode 100644
index 000000000000..4368ae718d58
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetNodeEventList.json
@@ -0,0 +1,32 @@
+{
+ "operationId": "GetNodeEventList",
+ "description": "This example shows how to get all node-related events during a certain time window.",
+ "parameters": {
+ "nodeName": "node1",
+ "api-version": "6.4",
+ "StartTimeUtc": "2018-04-03T18:00:00Z",
+ "EndTimeUtc": "2018-04-04T18:00:00Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "Kind": "NodeOpenSucceeded",
+ "NodeInstance": 131672596159209215,
+ "NodeId": "ba001a8bb353543e646be031afb10f1e",
+ "UpgradeDomain": "0",
+ "FaultDomain": "fd:/0",
+ "IpAddressOrFQDN": "100.78.240.56",
+ "Hostname": "RD0003FF5089AA",
+ "IsSeedNode": false,
+ "NodeVersion": "6.2:1.0",
+ "NodeName": "node1",
+ "EventInstanceId": "ecbce04a-a42b-4b70-a800-dfc6bc4f9b89",
+ "TimeStamp": "2018-04-03T20:06:55.966073Z",
+ "HasCorrelatedEvents": false
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetNodeInfo-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetNodeInfo-1.json
new file mode 100644
index 000000000000..24b8cfac97f7
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetNodeInfo-1.json
@@ -0,0 +1,41 @@
+{
+ "operationId": "GetNodeInfo",
+ "description": "This example shows how to get information about an node using it's identifier. If the node is found, information about it is returned with 200 status code. If the node is not found, empty content is returned with 204 status code.",
+ "parameters": {
+ "api-version": "6.0",
+ "nodeName": "_Node_1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "Name": "_testnode_0",
+ "IpAddressOrFQDN": "10.0.0.4",
+ "Type": "testnode",
+ "CodeVersion": "6.3.139.9494",
+ "ConfigVersion": "5",
+ "NodeStatus": "Up",
+ "NodeUpTimeInSeconds": "18688",
+ "HealthState": "Ok",
+ "IsSeedNode": true,
+ "UpgradeDomain": "0",
+ "FaultDomain": "fd:/0",
+ "Id": {
+ "Id": "2acb9f55540659b1c95f27cc128ab326"
+ },
+ "InstanceId": "131738240209152398",
+ "NodeDeactivationInfo": {
+ "NodeDeactivationIntent": "Invalid",
+ "NodeDeactivationStatus": "None",
+ "NodeDeactivationTask": [],
+ "PendingSafetyChecks": []
+ },
+ "IsStopped": false,
+ "NodeDownTimeInSeconds": "0",
+ "NodeUpAt": "2018-06-18T19:33:52.944Z",
+ "NodeDownAt": "2018-06-18T19:33:39.514Z"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetNodeInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetNodeInfoList-1.json
new file mode 100644
index 000000000000..c494bff622c5
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetNodeInfoList-1.json
@@ -0,0 +1,72 @@
+{
+ "operationId": "GetNodeInfoList",
+ "description": "This example shows how to get information about the nodes in the cluster when the number of results returned is limited by the MaxResults parameter.",
+ "parameters": {
+ "api-version": "6.3",
+ "MaxResults": 2
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "2acb9f55540659b1c95f27cc128ab326",
+ "Items": [
+ {
+ "Name": "_testnode_1",
+ "IpAddressOrFQDN": "10.0.0.5",
+ "Type": "testnode",
+ "CodeVersion": "6.3.139.9494",
+ "ConfigVersion": "5",
+ "NodeStatus": "Up",
+ "NodeUpTimeInSeconds": "102016",
+ "HealthState": "Ok",
+ "IsSeedNode": true,
+ "UpgradeDomain": "1",
+ "FaultDomain": "fd:/1",
+ "Id": {
+ "Id": "ebd986a1134b3643a8117fb41b259bf"
+ },
+ "InstanceId": "131738274982501335",
+ "NodeDeactivationInfo": {
+ "NodeDeactivationIntent": "Invalid",
+ "NodeDeactivationStatus": "None",
+ "NodeDeactivationTask": [],
+ "PendingSafetyChecks": []
+ },
+ "IsStopped": false,
+ "NodeDownTimeInSeconds": "0",
+ "NodeUpAt": "2018-06-18T20:31:39.842Z",
+ "NodeDownAt": "2018-06-18T20:31:37.374Z"
+ },
+ {
+ "Name": "_testnode_0",
+ "IpAddressOrFQDN": "10.0.0.4",
+ "Type": "testnode",
+ "CodeVersion": "6.3.139.9494",
+ "ConfigVersion": "5",
+ "NodeStatus": "Up",
+ "NodeUpTimeInSeconds": "105483",
+ "HealthState": "Ok",
+ "IsSeedNode": true,
+ "UpgradeDomain": "0",
+ "FaultDomain": "fd:/0",
+ "Id": {
+ "Id": "2acb9f55540659b1c95f27cc128ab326"
+ },
+ "InstanceId": "131738240209152398",
+ "NodeDeactivationInfo": {
+ "NodeDeactivationIntent": "Invalid",
+ "NodeDeactivationStatus": "None",
+ "NodeDeactivationTask": [],
+ "PendingSafetyChecks": []
+ },
+ "IsStopped": false,
+ "NodeDownTimeInSeconds": "0",
+ "NodeUpAt": "2018-06-18T19:33:52.944Z",
+ "NodeDownAt": "2018-06-18T19:33:39.514Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetNodeInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetNodeInfoList-2.json
new file mode 100644
index 000000000000..79bbd1bf1af7
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetNodeInfoList-2.json
@@ -0,0 +1,99 @@
+{
+ "operationId": "GetNodeInfoList",
+ "description": "This example shows how to get information about nodes in the cluster which appear on a sequential page, by using the ContinuationToken parameter.",
+ "parameters": {
+ "api-version": "6.3",
+ "ContinuationToken": "2acb9f55540659b1c95f27cc128ab326"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "Name": "_Node_4",
+ "IpAddressOrFQDN": "10.0.0.8",
+ "Type": "testnode",
+ "CodeVersion": "6.3.139.9494",
+ "ConfigVersion": "5",
+ "NodeStatus": "Up",
+ "NodeUpTimeInSeconds": "101547",
+ "HealthState": "Ok",
+ "IsSeedNode": true,
+ "UpgradeDomain": "4",
+ "FaultDomain": "fd:/4",
+ "Id": {
+ "Id": "ba9383d728221add7fa996bf67b757fb"
+ },
+ "InstanceId": "131737415865259763",
+ "NodeDeactivationInfo": {
+ "NodeDeactivationIntent": "Invalid",
+ "NodeDeactivationStatus": "None",
+ "NodeDeactivationTask": [],
+ "PendingSafetyChecks": []
+ },
+ "IsStopped": false,
+ "NodeDownTimeInSeconds": "0",
+ "NodeUpAt": "2018-06-17T20:40:07.378Z",
+ "NodeDownAt": "2018-06-17T20:33:11.877Z"
+ },
+ {
+ "Name": "_Node_3",
+ "IpAddressOrFQDN": "10.0.0.7",
+ "Type": "testnode",
+ "CodeVersion": "6.3.139.9494",
+ "ConfigVersion": "5",
+ "NodeStatus": "Up",
+ "NodeUpTimeInSeconds": "15615",
+ "HealthState": "Ok",
+ "IsSeedNode": true,
+ "UpgradeDomain": "3",
+ "FaultDomain": "fd:/3",
+ "Id": {
+ "Id": "d6a18a0935a3e39aeae2a049eb97255d"
+ },
+ "InstanceId": "131738275300526952",
+ "NodeDeactivationInfo": {
+ "NodeDeactivationIntent": "Invalid",
+ "NodeDeactivationStatus": "None",
+ "NodeDeactivationTask": [],
+ "PendingSafetyChecks": []
+ },
+ "IsStopped": false,
+ "NodeDownTimeInSeconds": "0",
+ "NodeUpAt": "2018-06-18T20:32:18.884Z",
+ "NodeDownAt": "2018-06-18T20:31:59.128Z"
+ },
+ {
+ "Name": "_Node_2",
+ "IpAddressOrFQDN": "10.0.0.6",
+ "Type": "testnode",
+ "CodeVersion": "6.3.139.9494",
+ "ConfigVersion": "5",
+ "NodeStatus": "Up",
+ "NodeUpTimeInSeconds": "19819",
+ "HealthState": "Ok",
+ "IsSeedNode": true,
+ "UpgradeDomain": "2",
+ "FaultDomain": "fd:/2",
+ "Id": {
+ "Id": "f2af91e5e9c8254dedb75b1424a9e3fc"
+ },
+ "InstanceId": "131738233282843485",
+ "NodeDeactivationInfo": {
+ "NodeDeactivationIntent": "Invalid",
+ "NodeDeactivationStatus": "None",
+ "NodeDeactivationTask": [],
+ "PendingSafetyChecks": []
+ },
+ "IsStopped": false,
+ "NodeDownTimeInSeconds": "0",
+ "NodeUpAt": "2018-06-18T19:22:15.272Z",
+ "NodeDownAt": "2018-06-18T19:22:02.740Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetNodeInfoList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetNodeInfoList.json
new file mode 100644
index 000000000000..d38a618440a9
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetNodeInfoList.json
@@ -0,0 +1,152 @@
+{
+ "operationId": "GetNodeInfoList",
+ "description": "This example shows how to get information about all the nodes in the cluster when the information fits in a single response message without the need for paging through ContinuationToken parameter.",
+ "parameters": {
+ "api-version": "6.3"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "Name": "_Node_1",
+ "IpAddressOrFQDN": "10.0.0.5",
+ "Type": "testnode",
+ "CodeVersion": "6.3.139.9494",
+ "ConfigVersion": "5",
+ "NodeStatus": "Up",
+ "NodeUpTimeInSeconds": "15275",
+ "HealthState": "Ok",
+ "IsSeedNode": true,
+ "UpgradeDomain": "1",
+ "FaultDomain": "fd:/1",
+ "Id": {
+ "Id": "ebd986a1134b3643a8117fb41b259bf"
+ },
+ "InstanceId": "131738274982501335",
+ "NodeDeactivationInfo": {
+ "NodeDeactivationIntent": "Invalid",
+ "NodeDeactivationStatus": "None",
+ "NodeDeactivationTask": [],
+ "PendingSafetyChecks": []
+ },
+ "IsStopped": false,
+ "NodeDownTimeInSeconds": "0",
+ "NodeUpAt": "2018-06-18T20:31:39.842Z",
+ "NodeDownAt": "2018-06-18T20:31:37.374Z"
+ },
+ {
+ "Name": "_Node_0",
+ "IpAddressOrFQDN": "10.0.0.4",
+ "Type": "testnode",
+ "CodeVersion": "6.3.139.9494",
+ "ConfigVersion": "5",
+ "NodeStatus": "Up",
+ "NodeUpTimeInSeconds": "18742",
+ "HealthState": "Ok",
+ "IsSeedNode": true,
+ "UpgradeDomain": "0",
+ "FaultDomain": "fd:/0",
+ "Id": {
+ "Id": "2acb9f55540659b1c95f27cc128ab326"
+ },
+ "InstanceId": "131738240209152398",
+ "NodeDeactivationInfo": {
+ "NodeDeactivationIntent": "Invalid",
+ "NodeDeactivationStatus": "None",
+ "NodeDeactivationTask": [],
+ "PendingSafetyChecks": []
+ },
+ "IsStopped": false,
+ "NodeDownTimeInSeconds": "0",
+ "NodeUpAt": "2018-06-18T19:33:52.944Z",
+ "NodeDownAt": "2018-06-18T19:33:39.514Z"
+ },
+ {
+ "Name": "_Node_4",
+ "IpAddressOrFQDN": "10.0.0.8",
+ "Type": "testnode",
+ "CodeVersion": "6.3.139.9494",
+ "ConfigVersion": "5",
+ "NodeStatus": "Up",
+ "NodeUpTimeInSeconds": "101168",
+ "HealthState": "Ok",
+ "IsSeedNode": true,
+ "UpgradeDomain": "4",
+ "FaultDomain": "fd:/4",
+ "Id": {
+ "Id": "ba9383d728221add7fa996bf67b757fb"
+ },
+ "InstanceId": "131737415865259763",
+ "NodeDeactivationInfo": {
+ "NodeDeactivationIntent": "Invalid",
+ "NodeDeactivationStatus": "None",
+ "NodeDeactivationTask": [],
+ "PendingSafetyChecks": []
+ },
+ "IsStopped": false,
+ "NodeDownTimeInSeconds": "0",
+ "NodeUpAt": "2018-06-17T20:40:07.378Z",
+ "NodeDownAt": "2018-06-17T20:33:11.877Z"
+ },
+ {
+ "Name": "_Node_3",
+ "IpAddressOrFQDN": "10.0.0.7",
+ "Type": "testnode",
+ "CodeVersion": "6.3.139.9494",
+ "ConfigVersion": "5",
+ "NodeStatus": "Up",
+ "NodeUpTimeInSeconds": "15236",
+ "HealthState": "Ok",
+ "IsSeedNode": true,
+ "UpgradeDomain": "3",
+ "FaultDomain": "fd:/3",
+ "Id": {
+ "Id": "d6a18a0935a3e39aeae2a049eb97255d"
+ },
+ "InstanceId": "131738275300526952",
+ "NodeDeactivationInfo": {
+ "NodeDeactivationIntent": "Invalid",
+ "NodeDeactivationStatus": "None",
+ "NodeDeactivationTask": [],
+ "PendingSafetyChecks": []
+ },
+ "IsStopped": false,
+ "NodeDownTimeInSeconds": "0",
+ "NodeUpAt": "2018-06-18T20:32:18.884Z",
+ "NodeDownAt": "2018-06-18T20:31:59.128Z"
+ },
+ {
+ "Name": "_Node_2",
+ "IpAddressOrFQDN": "10.0.0.6",
+ "Type": "testnode",
+ "CodeVersion": "6.3.139.9494",
+ "ConfigVersion": "5",
+ "NodeStatus": "Up",
+ "NodeUpTimeInSeconds": "19440",
+ "HealthState": "Ok",
+ "IsSeedNode": true,
+ "UpgradeDomain": "2",
+ "FaultDomain": "fd:/2",
+ "Id": {
+ "Id": "f2af91e5e9c8254dedb75b1424a9e3fc"
+ },
+ "InstanceId": "131738233282843485",
+ "NodeDeactivationInfo": {
+ "NodeDeactivationIntent": "Invalid",
+ "NodeDeactivationStatus": "None",
+ "NodeDeactivationTask": [],
+ "PendingSafetyChecks": []
+ },
+ "IsStopped": false,
+ "NodeDownTimeInSeconds": "0",
+ "NodeUpAt": "2018-06-18T19:22:15.272Z",
+ "NodeDownAt": "2018-06-18T19:22:02.740Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetNodeTransitionProgress-Running.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetNodeTransitionProgress-Running.json
new file mode 100644
index 000000000000..62ad5c37ec58
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetNodeTransitionProgress-Running.json
@@ -0,0 +1,17 @@
+{
+ "operationId": "GetNodeTransitionProgress",
+ "description": "This shows an example of output when GetTransitionProgress has a State of Running.",
+ "parameters": {
+ "nodeName": "N0060",
+ "OperationId": "ed903556-acf1-489c-9f33-b484c31f9087",
+ "api-version": "6.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "State": "Running"
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetNodeTransitionProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetNodeTransitionProgress.json
new file mode 100644
index 000000000000..474ab826b8df
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetNodeTransitionProgress.json
@@ -0,0 +1,24 @@
+{
+ "operationId": "GetNodeTransitionProgress",
+ "description": "This shows an example of possible output when GetTransitionProgress has reached a State of Completed. If the State has a value of Running, only the State field will have a value.",
+ "parameters": {
+ "nodeName": "N0060",
+ "OperationId": "a9c24269-88e9-4812-b4ad-a0bf2b724ad4",
+ "api-version": "6.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "State": "Completed",
+ "NodeTransitionResult": {
+ "ErrorCode": 0,
+ "NodeResult": {
+ "NodeName": "N0060",
+ "NodeInstanceId": "131366982707950527"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetNodesEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetNodesEventList.json
new file mode 100644
index 000000000000..7aed70b97f31
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetNodesEventList.json
@@ -0,0 +1,46 @@
+{
+ "operationId": "GetNodesEventList",
+ "description": "This example shows how to get all nodes-related events during a certain time window.",
+ "parameters": {
+ "api-version": "6.4",
+ "StartTimeUtc": "2018-04-03T18:00:00Z",
+ "EndTimeUtc": "2018-04-04T18:00:00Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "Kind": "NodeOpenSucceeded",
+ "NodeInstance": 131672596159209215,
+ "NodeId": "ba001a8bb353543e646be031afb10f1e",
+ "UpgradeDomain": "0",
+ "FaultDomain": "fd:/0",
+ "IpAddressOrFQDN": "100.78.240.56",
+ "Hostname": "RD0003FF5089AA",
+ "IsSeedNode": false,
+ "NodeVersion": "6.2:1.0",
+ "NodeName": "node1",
+ "EventInstanceId": "ecbce04a-a42b-4b70-a800-dfc6bc4f9b89",
+ "TimeStamp": "2018-04-03T20:06:55.966073Z",
+ "HasCorrelatedEvents": false
+ },
+ {
+ "Kind": "NodeOpenSucceeded",
+ "NodeInstance": 131672596186027906,
+ "NodeId": "ba03ef91259835c54d674889849a7cee",
+ "UpgradeDomain": "3",
+ "FaultDomain": "fd:/3",
+ "IpAddressOrFQDN": "100.72.76.122",
+ "Hostname": "RD0003FF6047A8",
+ "IsSeedNode": false,
+ "NodeVersion": "6.2:1.0",
+ "NodeName": "node2",
+ "EventInstanceId": "67730c48-752c-4209-bf28-3c121555a4c0",
+ "TimeStamp": "2018-04-03T20:06:58.6357365Z",
+ "HasCorrelatedEvents": false
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionBackupConfigurationInfo.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionBackupConfigurationInfo.json
new file mode 100644
index 000000000000..dd97740de85f
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionBackupConfigurationInfo.json
@@ -0,0 +1,24 @@
+{
+ "operationId": "GetPartitionBackupConfigurationInfo",
+ "description": "This example shows how to get backup configuration for a partition.",
+ "parameters": {
+ "api-version": "6.4",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "Kind": "Partition",
+ "PolicyName": "BackupPolicy2",
+ "PolicyInheritedFrom": "Service",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "SuspensionInfo": {
+ "IsSuspended": true,
+ "SuspensionInheritedFrom": "Partition"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionBackupList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionBackupList-1.json
new file mode 100644
index 000000000000..2c5fb63a2bc3
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionBackupList-1.json
@@ -0,0 +1,64 @@
+{
+ "operationId": "GetPartitionBackupList",
+ "description": "This example shows how to get list of partition backups within a time range.",
+ "parameters": {
+ "api-version": "6.4",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "StartDateTimeFilter": "2018-01-01T00:00:00Z",
+ "EndDateTimeFilter": "2018-01-01T23:59:59Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip",
+ "BackupType": "Full",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "261",
+ "CreationTimeUtc": "2018-01-01T09:00:55Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "446",
+ "CreationTimeUtc": "2018-01-01T17:01:02Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionBackupList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionBackupList-2.json
new file mode 100644
index 000000000000..cc627b382457
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionBackupList-2.json
@@ -0,0 +1,41 @@
+{
+ "operationId": "GetPartitionBackupList",
+ "description": "This example shows how to get the latest backup for the specified partition.",
+ "parameters": {
+ "api-version": "6.4",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "Latest": true
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "BackupId": "be06a49c-be67-4eb1-a602-b983605be862",
+ "BackupChainId": "be06a49c-be67-4eb1-a602-b983605be862",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-02 08.59.53.zip",
+ "BackupType": "Full",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "639",
+ "CreationTimeUtc": "2018-01-02T08:59:53Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionBackupList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionBackupList-3.json
new file mode 100644
index 000000000000..2cddad80321f
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionBackupList-3.json
@@ -0,0 +1,63 @@
+{
+ "operationId": "GetPartitionBackupList",
+ "description": "This example shows how to get list of partition backups. The number of results in a page are limited to maximum of two using the MaxResult parameter.",
+ "parameters": {
+ "api-version": "6.4",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "MaxResults": 2
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd",
+ "Items": [
+ {
+ "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip",
+ "BackupType": "Full",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "261",
+ "CreationTimeUtc": "2018-01-01T09:00:55Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "446",
+ "CreationTimeUtc": "2018-01-01T17:01:02Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionBackupList-4.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionBackupList-4.json
new file mode 100644
index 000000000000..c73aaece09c8
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionBackupList-4.json
@@ -0,0 +1,42 @@
+{
+ "operationId": "GetPartitionBackupList",
+ "description": "This example shows how to get list of partition backups. The number of results in a page are limited to maximum of two using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.",
+ "parameters": {
+ "api-version": "6.4",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "MaxResults": 2,
+ "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "BackupId": "be06a49c-be67-4eb1-a602-b983605be862",
+ "BackupChainId": "be06a49c-be67-4eb1-a602-b983605be862",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-02 08.59.53.zip",
+ "BackupType": "Full",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "639",
+ "CreationTimeUtc": "2018-01-02T08:59:53Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionBackupProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionBackupProgress.json
new file mode 100644
index 000000000000..9d0df23312a6
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionBackupProgress.json
@@ -0,0 +1,25 @@
+{
+ "operationId": "GetPartitionBackupProgress",
+ "description": "This shows an example of possible output when GetPartitionBackupProgress has reached a BackupState of Success. If the BackupState has a value of BackupInProgress, only the BackupState field will have a value.",
+ "parameters": {
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "api-version": "6.4"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "BackupState": "Success",
+ "TimeStampUtc": "2018-01-01T09:00:55Z",
+ "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "261",
+ "FailureError": null
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionEventList.json
new file mode 100644
index 000000000000..bbfca06712e9
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionEventList.json
@@ -0,0 +1,37 @@
+{
+ "operationId": "GetPartitionEventList",
+ "description": "This example shows how to get all partition-related events during a certain time window.",
+ "parameters": {
+ "partitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89",
+ "api-version": "6.4",
+ "StartTimeUtc": "2018-04-03T18:00:00Z",
+ "EndTimeUtc": "2018-04-04T18:00:00Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "Kind": "PartitionReconfigured",
+ "NodeName": "node1",
+ "NodeInstanceId": "ba001a8bb353543e646be031afb10f1e",
+ "ServiceType": "Svc1Type",
+ "CcEpochDataLossVersion": 131672604833413107,
+ "CcEpochConfigVersion": 8589934595,
+ "ReconfigType": "Other",
+ "Result": "Completed",
+ "Phase0DurationMs": 0.0,
+ "Phase1DurationMs": 0.0,
+ "Phase2DurationMs": 203.1935,
+ "Phase3DurationMs": 0.0262,
+ "Phase4DurationMs": 628.8527,
+ "TotalDurationMs": 832.0724,
+ "PartitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89",
+ "EventInstanceId": "e00fa5b7-f747-40dd-9e09-f5a031e96de4",
+ "TimeStamp": "2018-04-03T20:21:47.3778996Z",
+ "HasCorrelatedEvents": true
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionRestartProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionRestartProgress.json
new file mode 100644
index 000000000000..074289b470a2
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionRestartProgress.json
@@ -0,0 +1,25 @@
+{
+ "operationId": "GetPartitionRestartProgress",
+ "description": "This shows an example of possible output when GetPartitionRestartProgress has reached a State of Completed. If the State has a value of Running, only the State field will have a value.",
+ "parameters": {
+ "serviceId": "fabric:/myapp/myservice",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "OperationId": "6eb7f0d3-49ca-4cb1-81b7-ac2d56b5c5d1",
+ "api-version": "6.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "State": "Completed",
+ "RestartPartitionResult": {
+ "ErrorCode": 0,
+ "SelectedPartition": {
+ "ServiceName": "fabric:/myapp/myservice",
+ "PartitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionRestoreProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionRestoreProgress.json
new file mode 100644
index 000000000000..da52d1a100b9
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionRestoreProgress.json
@@ -0,0 +1,23 @@
+{
+ "operationId": "GetPartitionRestoreProgress",
+ "description": "This shows an example of possible output when GetPartitionRestoreProgress has reached a RestoreState of Success. If the RestoreState has a value of RestoreInProgress, only the RestoreState field will have a value.",
+ "parameters": {
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "api-version": "6.4"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "RestoreState": "Success",
+ "TimeStampUtc": "2018-01-01T09:00:55Z",
+ "RestoredEpoch": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "RestoredLsn": "261",
+ "FailureError": null
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionsEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionsEventList.json
new file mode 100644
index 000000000000..e49c5e402b00
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPartitionsEventList.json
@@ -0,0 +1,56 @@
+{
+ "operationId": "GetPartitionsEventList",
+ "description": "This example shows how to get all partitions-related events during a certain time window.",
+ "parameters": {
+ "api-version": "6.4",
+ "StartTimeUtc": "2018-04-03T18:00:00Z",
+ "EndTimeUtc": "2018-04-04T18:00:00Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "Kind": "PartitionReconfigured",
+ "NodeName": "node1",
+ "NodeInstanceId": "ba001a8bb353543e646be031afb10f1e",
+ "ServiceType": "Svc1Type",
+ "CcEpochDataLossVersion": 131672604833413107,
+ "CcEpochConfigVersion": 8589934595,
+ "ReconfigType": "Other",
+ "Result": "Completed",
+ "Phase0DurationMs": 0.0,
+ "Phase1DurationMs": 0.0,
+ "Phase2DurationMs": 203.1935,
+ "Phase3DurationMs": 0.0262,
+ "Phase4DurationMs": 628.8527,
+ "TotalDurationMs": 832.0724,
+ "PartitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89",
+ "EventInstanceId": "e00fa5b7-f747-40dd-9e09-f5a031e96de4",
+ "TimeStamp": "2018-04-03T20:21:47.3778996Z",
+ "HasCorrelatedEvents": true
+ },
+ {
+ "Kind": "PartitionReconfigured",
+ "NodeName": "node2",
+ "NodeInstanceId": "ba0459d257b028296deba8bd5add33cb",
+ "ServiceType": "Svc1Type",
+ "CcEpochDataLossVersion": 131672604833413107,
+ "CcEpochConfigVersion": 8589934596,
+ "ReconfigType": "Other",
+ "Result": "Completed",
+ "Phase0DurationMs": 0.0,
+ "Phase1DurationMs": 0.0,
+ "Phase2DurationMs": 205.667,
+ "Phase3DurationMs": 407.7781,
+ "Phase4DurationMs": 630.0935,
+ "TotalDurationMs": 1243.5386,
+ "PartitionId": "e12acfb3-2a43-4a1a-a252-aa5388ef1aec",
+ "EventInstanceId": "9aeb234a-16ef-4e8a-974e-26c60d6f2b86",
+ "TimeStamp": "2018-04-03T20:21:49.5155104Z",
+ "HasCorrelatedEvents": false
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPropertyInfo-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPropertyInfo-1.json
new file mode 100644
index 000000000000..ca5def4be2fb
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPropertyInfo-1.json
@@ -0,0 +1,29 @@
+{
+ "operationId": "GetPropertyInfo",
+ "description": "This example shows how to get a Service Fabric property under a given name.",
+ "parameters": {
+ "api-version": "6.0",
+ "nameId": "samples/apps",
+ "PropertyName": "AppData"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "Name": "CalculatorAppData",
+ "Value": {
+ "Kind": "String",
+ "Data": "1+2=3"
+ },
+ "Metadata": {
+ "TypeId": "String",
+ "CustomTypeId": "EquationType",
+ "Parent": "fabric:/samples/apps",
+ "SizeInBytes": 12,
+ "LastModifiedUtcTimestamp": "2017-07-17T04:27:19.049Z",
+ "SequenceNumber": "12"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPropertyInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPropertyInfoList-1.json
new file mode 100644
index 000000000000..5729c6a4e4a2
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPropertyInfoList-1.json
@@ -0,0 +1,41 @@
+{
+ "operationId": "GetPropertyInfoList",
+ "description": "This example shows how to get all Service Fabric properties under a given name.",
+ "parameters": {
+ "api-version": "6.0",
+ "nameId": "samples/apps"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "PersistentQueueAppData$131439231986491349",
+ "IsConsistent": true,
+ "Properties": [
+ {
+ "Name": "CalculatorAppData",
+ "Metadata": {
+ "TypeId": "Int64",
+ "CustomTypeId": "",
+ "Parent": "fabric:/samples/apps",
+ "SizeInBytes": 5,
+ "LastModifiedUtcTimestamp": "2017-07-17T04:27:19.049Z",
+ "SequenceNumber": "10"
+ }
+ },
+ {
+ "Name": "PersistentQueueAppData",
+ "Metadata": {
+ "TypeId": "Binary",
+ "CustomTypeId": "InitializationDataType",
+ "Parent": "fabric:/samples/apps",
+ "SizeInBytes": 5,
+ "LastModifiedUtcTimestamp": "2017-07-17T04:36:19.049Z",
+ "SequenceNumber": "12"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPropertyInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPropertyInfoList-2.json
new file mode 100644
index 000000000000..6a172f23f09a
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPropertyInfoList-2.json
@@ -0,0 +1,56 @@
+{
+ "operationId": "GetPropertyInfoList",
+ "description": "This example shows how to get all Service Fabric properties and their values under a given name.",
+ "parameters": {
+ "api-version": "6.0",
+ "nameId": "samples/apps",
+ "IncludeValues": true
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "PersistentQueueAppData$131439231986491349",
+ "IsConsistent": true,
+ "Properties": [
+ {
+ "Name": "CalculatorAppData",
+ "Value": {
+ "Kind": "Int64",
+ "Data": "4534"
+ },
+ "Metadata": {
+ "TypeId": "Int64",
+ "CustomTypeId": "",
+ "Parent": "fabric:/samples/apps",
+ "SizeInBytes": 8,
+ "LastModifiedUtcTimestamp": "2017-07-17T04:27:19.049Z",
+ "SequenceNumber": "10"
+ }
+ },
+ {
+ "Name": "PersistentQueueAppData",
+ "Value": {
+ "Kind": "Binary",
+ "Data": [
+ 6,
+ 7,
+ 8,
+ 9,
+ 10
+ ]
+ },
+ "Metadata": {
+ "TypeId": "Binary",
+ "CustomTypeId": "InitializationDataType",
+ "Parent": "fabric:/samples/apps",
+ "SizeInBytes": 5,
+ "LastModifiedUtcTimestamp": "2017-07-17T04:36:19.049Z",
+ "SequenceNumber": "12"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPropertyInfoList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPropertyInfoList-3.json
new file mode 100644
index 000000000000..ce12465b6ce6
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetPropertyInfoList-3.json
@@ -0,0 +1,36 @@
+{
+ "operationId": "GetPropertyInfoList",
+ "description": "This example shows how to page through the information about properties under a given Service Fabric name using ContinuationToken parameter. The value of this parameter is provided from the previous query, in this case the example shown above. The response contains the remaining two results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.",
+ "parameters": {
+ "api-version": "6.0",
+ "nameId": "samples/apps",
+ "IncludeValues": true,
+ "ContinuationToken": "PersistentQueueAppData$131439231986491349"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "IsConsistent": true,
+ "Properties": [
+ {
+ "Name": "VolatileQueueAppData",
+ "Value": {
+ "Kind": "Double",
+ "Data": 67.89
+ },
+ "Metadata": {
+ "TypeId": "Double",
+ "CustomTypeId": "",
+ "Parent": "fabric:/samples/apps",
+ "SizeInBytes": 8,
+ "LastModifiedUtcTimestamp": "2017-07-17T04:01:19.049Z",
+ "SequenceNumber": "8"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetQuorumLossProgress-Running.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetQuorumLossProgress-Running.json
new file mode 100644
index 000000000000..203fb157db03
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetQuorumLossProgress-Running.json
@@ -0,0 +1,18 @@
+{
+ "operationId": "GetQuorumLossProgress",
+ "description": "This shows an example of possible output when GetQuorumLossProgress has a State of Running. If the State has a value of Running, only the State field will have a value.",
+ "parameters": {
+ "serviceId": "fabric:/myapp/myservice",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "OperationId": "81fbaee7-4f49-44bb-a350-4cb2b51dbf26",
+ "api-version": "6.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "State": "Running"
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetQuorumLossProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetQuorumLossProgress.json
new file mode 100644
index 000000000000..c86fd0d2b31d
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetQuorumLossProgress.json
@@ -0,0 +1,25 @@
+{
+ "operationId": "GetQuorumLossProgress",
+ "description": "This shows an example of possible output when GetQuorumLossProgress has reached a State of Completed. If the State has a value of Running, only the State field will have a value.",
+ "parameters": {
+ "serviceId": "fabric:/myapp/myservice",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "OperationId": "81fbaee7-4f49-44bb-a350-4cb2b51dbf26",
+ "api-version": "6.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "State": "Completed",
+ "InvokeQuorumLossResult": {
+ "ErrorCode": 0,
+ "SelectedPartition": {
+ "ServiceName": "fabric:/myapp/myservice",
+ "PartitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetReplicaEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetReplicaEventList.json
new file mode 100644
index 000000000000..a3b517117bac
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetReplicaEventList.json
@@ -0,0 +1,35 @@
+{
+ "operationId": "GetPartitionReplicaEventList",
+ "description": "This example shows how to get all replica-related events during a certain time window.",
+ "parameters": {
+ "partitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89",
+ "replicaId": 131672608994209130,
+ "api-version": "6.4",
+ "StartTimeUtc": "2018-04-03T18:00:00Z",
+ "EndTimeUtc": "2018-04-04T18:00:00Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "Kind": "StatefulReplicaNewHealthReport",
+ "ReplicaInstanceId": 131672608994209130,
+ "SourceId": "TestSource",
+ "Property": "",
+ "HealthState": "Error",
+ "TimeToLiveMs": 922337203685477,
+ "SequenceNumber": 131672654189677787,
+ "Description": "",
+ "RemoveWhenExpired": false,
+ "SourceUtcTimestamp": "2018-04-03T21:43:38Z",
+ "PartitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89",
+ "ReplicaId": 131672608994209130,
+ "EventInstanceId": "b2684da3-df81-4add-8baa-201f73e9195d",
+ "TimeStamp": "2018-04-03T21:43:38.8904013Z",
+ "HasCorrelatedEvents": false
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetReplicasEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetReplicasEventList.json
new file mode 100644
index 000000000000..1d2e9212dfcc
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetReplicasEventList.json
@@ -0,0 +1,51 @@
+{
+ "operationId": "GetPartitionReplicasEventList",
+ "description": "This example shows how to get all replicas-related events during a certain time window.",
+ "parameters": {
+ "partitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89",
+ "api-version": "6.4",
+ "StartTimeUtc": "2018-04-03T18:00:00Z",
+ "EndTimeUtc": "2018-04-04T18:00:00Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "Kind": "StatefulReplicaNewHealthReport",
+ "ReplicaInstanceId": 131672608994209130,
+ "SourceId": "TestSource",
+ "Property": "",
+ "HealthState": "Error",
+ "TimeToLiveMs": 922337203685477,
+ "SequenceNumber": 131672654189677787,
+ "Description": "",
+ "RemoveWhenExpired": false,
+ "SourceUtcTimestamp": "2018-04-03T21:43:38Z",
+ "PartitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89",
+ "ReplicaId": 131672608994209130,
+ "EventInstanceId": "b2684da3-df81-4add-8baa-201f73e9195d",
+ "TimeStamp": "2018-04-03T21:43:38.8904013Z",
+ "HasCorrelatedEvents": false
+ },
+ {
+ "Kind": "StatefulReplicaNewHealthReport",
+ "ReplicaInstanceId": 177872608994339550,
+ "SourceId": "TestSource",
+ "Property": "",
+ "HealthState": "Error",
+ "TimeToLiveMs": 922337203685477,
+ "SequenceNumber": 131672654189677788,
+ "Description": "",
+ "RemoveWhenExpired": false,
+ "SourceUtcTimestamp": "2018-04-03T21:44:38Z",
+ "PartitionId": "f549f3b3-08c2-4ec4-adb4-415e024cb0ef",
+ "ReplicaId": 177872608994339550,
+ "EventInstanceId": "4a8851d8-35a3-4618-b4ac-03ffa191c350",
+ "TimeStamp": "2018-04-03T21:44:38.8904013Z",
+ "HasCorrelatedEvents": false
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServiceBackupConfigurationInfo-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServiceBackupConfigurationInfo-1.json
new file mode 100644
index 000000000000..ab37c65b803f
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServiceBackupConfigurationInfo-1.json
@@ -0,0 +1,40 @@
+{
+ "operationId": "GetServiceBackupConfigurationInfo",
+ "description": "This example shows how to get list of backup configuration for this service and partitions under this service. The number of results in a page are limited to maximum of two using the MaxResult parameter.",
+ "parameters": {
+ "api-version": "6.4",
+ "serviceId": "CalcApp/CalcService",
+ "MaxResults": 2
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "Items": [
+ {
+ "Kind": "Service",
+ "PolicyName": "BackupPolicy1",
+ "PolicyInheritedFrom": "Application",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "SuspensionInfo": {
+ "IsSuspended": false,
+ "SuspensionInheritedFrom": "Invalid"
+ }
+ },
+ {
+ "Kind": "Partition",
+ "PolicyName": "BackupPolicy2",
+ "PolicyInheritedFrom": "Partition",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "SuspensionInfo": {
+ "IsSuspended": false,
+ "SuspensionInheritedFrom": "Invalid"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServiceBackupConfigurationInfo-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServiceBackupConfigurationInfo-2.json
new file mode 100644
index 000000000000..76e7e948550d
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServiceBackupConfigurationInfo-2.json
@@ -0,0 +1,31 @@
+{
+ "operationId": "GetServiceBackupConfigurationInfo",
+ "description": "This example shows how to get list of backup configuration for this service and partitions under this service. The number of results in a page are limited to maximum of two using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.",
+ "parameters": {
+ "api-version": "6.4",
+ "serviceId": "CalcApp/CalcService",
+ "MaxResults": 2,
+ "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "Kind": "Partition",
+ "PolicyName": "BackupPolicy1",
+ "PolicyInheritedFrom": "Application",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionId": "7216486c-1ee9-4b00-99b2-92b26fcb07f6",
+ "SuspensionInfo": {
+ "IsSuspended": true,
+ "SuspensionInheritedFrom": "Partition"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServiceBackupList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServiceBackupList-1.json
new file mode 100644
index 000000000000..b561b1b20f84
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServiceBackupList-1.json
@@ -0,0 +1,108 @@
+{
+ "operationId": "GetServiceBackupList",
+ "description": "This example shows how to get list of service backups within a time range.",
+ "parameters": {
+ "api-version": "6.4",
+ "serviceId": "CalcApp/CalcService",
+ "StartDateTimeFilter": "2018-01-01T00:00:00Z",
+ "EndDateTimeFilter": "2018-01-01T23:59:59Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip",
+ "BackupType": "Full",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "261",
+ "CreationTimeUtc": "2018-01-01T09:00:55Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "446",
+ "CreationTimeUtc": "2018-01-01T17:01:02Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "81645ec7-d260-4c59-9533-8f129bde8e83"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 09.01.02.zip",
+ "BackupType": "Full",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "161",
+ "CreationTimeUtc": "2018-01-01T09:01:02Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc",
+ "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "81645ec7-d260-4c59-9533-8f129bde8e83"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "246",
+ "CreationTimeUtc": "2018-01-01T17:00:34Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServiceBackupList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServiceBackupList-2.json
new file mode 100644
index 000000000000..df570db76649
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServiceBackupList-2.json
@@ -0,0 +1,63 @@
+{
+ "operationId": "GetServiceBackupList",
+ "description": "This example shows how to get the latest backup for each partition within a service.",
+ "parameters": {
+ "api-version": "6.4",
+ "serviceId": "CalcApp/CalcService",
+ "Latest": true
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "446",
+ "CreationTimeUtc": "2018-01-01T17:01:02Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc",
+ "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "81645ec7-d260-4c59-9533-8f129bde8e83"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "246",
+ "CreationTimeUtc": "2018-01-01T17:00:34Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServiceBackupList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServiceBackupList-3.json
new file mode 100644
index 000000000000..5b162231a889
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServiceBackupList-3.json
@@ -0,0 +1,63 @@
+{
+ "operationId": "GetServiceBackupList",
+ "description": "This example shows how to get list of service backups. The number of results in a page are limited to maximum of two using the MaxResult parameter.",
+ "parameters": {
+ "api-version": "6.4",
+ "serviceId": "CalcApp/CalcService",
+ "MaxResults": 2
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd",
+ "Items": [
+ {
+ "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip",
+ "BackupType": "Full",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "261",
+ "CreationTimeUtc": "2018-01-01T09:00:55Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "446",
+ "CreationTimeUtc": "2018-01-01T17:01:02Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServiceBackupList-4.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServiceBackupList-4.json
new file mode 100644
index 000000000000..7420d61aca49
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServiceBackupList-4.json
@@ -0,0 +1,64 @@
+{
+ "operationId": "GetServiceBackupList",
+ "description": "This example shows how to get list of service backups. The number of results in a page are limited to maximum of two using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.",
+ "parameters": {
+ "api-version": "6.4",
+ "serviceId": "CalcApp/CalcService",
+ "MaxResults": 2,
+ "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "BackupId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "81645ec7-d260-4c59-9533-8f129bde8e83"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 09.01.02.zip",
+ "BackupType": "Full",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "161",
+ "CreationTimeUtc": "2018-01-01T09:01:02Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc",
+ "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "81645ec7-d260-4c59-9533-8f129bde8e83"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "246",
+ "CreationTimeUtc": "2018-01-01T17:00:34Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServiceEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServiceEventList.json
new file mode 100644
index 000000000000..fdaa115873cd
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServiceEventList.json
@@ -0,0 +1,34 @@
+{
+ "operationId": "GetServiceEventList",
+ "description": "This example shows how to get all service-related events during a certain time window.",
+ "parameters": {
+ "serviceId": "app1~svc1",
+ "api-version": "6.4",
+ "StartTimeUtc": "2018-04-03T18:00:00Z",
+ "EndTimeUtc": "2018-04-04T18:00:00Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "Kind": "ServiceCreated",
+ "ServiceTypeName": "Svc1Type",
+ "ApplicationName": "fabric:/app1",
+ "ApplicationTypeName": "App1Type",
+ "ServiceInstance": 131672605579916062,
+ "IsStateful": true,
+ "PartitionCount": 2,
+ "TargetReplicaSetSize": 3,
+ "MinReplicaSetSize": 2,
+ "ServicePackageVersion": "1.0:1.0",
+ "PartitionId": "bd936249-183d-4e29-94ab-2e198e4e2e87",
+ "ServiceId": "app1/svc1",
+ "EventInstanceId": "8ba26506-4a93-4b8c-ae14-29a2841b3003",
+ "TimeStamp": "2018-04-03T20:22:38.0560496Z",
+ "HasCorrelatedEvents": false
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServiceTypeInfoByName-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServiceTypeInfoByName-1.json
new file mode 100644
index 000000000000..4340954856fe
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServiceTypeInfoByName-1.json
@@ -0,0 +1,36 @@
+{
+ "operationId": "GetServiceTypeInfoByName",
+ "description": "This example shows how to get information about a specific service type. A 204 response is returned if the specified service type is not found in the cluster.",
+ "parameters": {
+ "api-version": "6.0",
+ "applicationTypeName": "Application2Type",
+ "ApplicationTypeVersion": "1.0.0",
+ "serviceTypeName": "Actor1ActorServiceType"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ServiceTypeDescription": {
+ "IsStateful": true,
+ "ServiceTypeName": "Actor1ActorServiceType",
+ "PlacementConstraints": "",
+ "HasPersistedState": true,
+ "Kind": "Stateful",
+ "Extensions": [
+ {
+ "Key": "__GeneratedServiceType__",
+ "Value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n "
+ }
+ ],
+ "LoadMetrics": [],
+ "ServicePlacementPolicies": []
+ },
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceManifestName": "Actor1Pkg",
+ "IsServiceGroup": false
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServiceTypeInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServiceTypeInfoList-1.json
new file mode 100644
index 000000000000..a4481bfa08c0
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServiceTypeInfoList-1.json
@@ -0,0 +1,36 @@
+{
+ "operationId": "GetServiceTypeInfoList",
+ "description": "This example shows how to get information about service types that are supported by a provisioned application type in a Service Fabric cluster.",
+ "parameters": {
+ "api-version": "6.0",
+ "applicationTypeName": "Application2Type",
+ "ApplicationTypeVersion": "1.0.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "ServiceTypeDescription": {
+ "IsStateful": true,
+ "ServiceTypeName": "Actor1ActorServiceType",
+ "PlacementConstraints": "",
+ "HasPersistedState": true,
+ "Kind": "Stateful",
+ "Extensions": [
+ {
+ "Key": "__GeneratedServiceType__",
+ "Value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n "
+ }
+ ],
+ "LoadMetrics": [],
+ "ServicePlacementPolicies": []
+ },
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceManifestName": "Actor1Pkg",
+ "IsServiceGroup": false
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServicesEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServicesEventList.json
new file mode 100644
index 000000000000..2d5863180a5a
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetServicesEventList.json
@@ -0,0 +1,50 @@
+{
+ "operationId": "GetServicesEventList",
+ "description": "This example shows how to get all services-related events during a certain time window.",
+ "parameters": {
+ "api-version": "6.4",
+ "StartTimeUtc": "2018-04-03T18:00:00Z",
+ "EndTimeUtc": "2018-04-04T18:00:00Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "Kind": "ServiceCreated",
+ "ServiceTypeName": "Svc1Type",
+ "ApplicationName": "fabric:/app1",
+ "ApplicationTypeName": "App1Type",
+ "ServiceInstance": 131672605579916062,
+ "IsStateful": true,
+ "PartitionCount": 2,
+ "TargetReplicaSetSize": 3,
+ "MinReplicaSetSize": 2,
+ "ServicePackageVersion": "1.0:1.0",
+ "PartitionId": "bd936249-183d-4e29-94ab-2e198e4e2e87",
+ "ServiceId": "app1/svc1",
+ "EventInstanceId": "8ba26506-4a93-4b8c-ae14-29a2841b3003",
+ "TimeStamp": "2018-04-03T20:22:38.0560496Z",
+ "HasCorrelatedEvents": false
+ },
+ {
+ "Kind": "ServiceCreated",
+ "ServiceTypeName": "Svc2Type",
+ "ApplicationName": "fabric:/app1",
+ "ApplicationTypeName": "App1Type",
+ "ServiceInstance": 131672605579916062,
+ "IsStateful": true,
+ "PartitionCount": 2,
+ "TargetReplicaSetSize": 3,
+ "MinReplicaSetSize": 2,
+ "ServicePackageVersion": "1.0:1.0",
+ "PartitionId": "87413d64-0134-4b23-a439-c2692c4e3ec3",
+ "ServiceId": "app1/svc2",
+ "EventInstanceId": "03246d3b-77f5-4ca2-b065-7b8671711318",
+ "TimeStamp": "2018-04-03T20:22:38.056197Z",
+ "HasCorrelatedEvents": false
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetSubNameInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetSubNameInfoList-1.json
new file mode 100644
index 000000000000..282319140d86
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetSubNameInfoList-1.json
@@ -0,0 +1,21 @@
+{
+ "operationId": "GetSubNameInfoList",
+ "description": "This example shows how to get information about all sub names of a given Service Fabric name.",
+ "parameters": {
+ "api-version": "6.0",
+ "nameId": "samples"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "IsConsistent": true,
+ "SubNames": [
+ "fabric:/samples/CalculatorApp",
+ "fabric:/samples/mynames"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetSubNameInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetSubNameInfoList-2.json
new file mode 100644
index 000000000000..15391854f370
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetSubNameInfoList-2.json
@@ -0,0 +1,27 @@
+{
+ "operationId": "GetSubNameInfoList",
+ "description": "This example shows how to recursively get information about all child sub names of a given Service Fabric name.",
+ "parameters": {
+ "api-version": "6.0",
+ "nameId": "samples",
+ "Recursive": true
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "IsConsistent": true,
+ "SubNames": [
+ "fabric:/samples/apps",
+ "fabric:/samples/data",
+ "fabric:/samples/CalculatorApp",
+ "fabric:/samples/CalculatorApp/CalculatorService",
+ "fabric:/samples/CalculatorApp/CalculatorService/Name-1",
+ "fabric:/samples/CalculatorApp/CalculatorService/Name-2",
+ "fabric:/samples/mynames/name-1"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetSubNameInfoList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetSubNameInfoList-3.json
new file mode 100644
index 000000000000..bf07c9c58bc4
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetSubNameInfoList-3.json
@@ -0,0 +1,23 @@
+{
+ "operationId": "GetSubNameInfoList",
+ "description": "This example shows how to page through the information about sub names under a given Service Fabric name using ContinuationToken parameter. The value of this parameter is provided from the previous query, in this case the example shown above. The response contains the remaining two results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.",
+ "parameters": {
+ "api-version": "6.0",
+ "nameId": "samples",
+ "Recursive": true,
+ "ContinuationToken": "fabric:/samples/apps/PersistentQueueApp$131439231986491349"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "IsConsistent": true,
+ "SubNames": [
+ "fabric:/samples/apps/VolatileQueueApp",
+ "fabric:/samples/apps/NotepadApp"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetUploadSessionById.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetUploadSessionById.json
new file mode 100644
index 000000000000..c565a13cfcbc
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetUploadSessionById.json
@@ -0,0 +1,33 @@
+{
+ "operationId": "GetImageStoreUploadSessionById",
+ "description": "This example shows how to get image store upload session by a given ID.",
+ "parameters": {
+ "api-version": "6.0",
+ "session-id": "4a2340e8-d8d8-497c-95fe-cdaa1052f33b"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "UploadSessions": [
+ {
+ "StoreRelativePath": "SwaggerTest\\Common.dll",
+ "SessionId": "4a2340e8-d8d8-497c-95fe-cdaa1052f33b",
+ "FileSize": "2097152",
+ "ModifiedDate": "2017-09-28T17:06:37.260Z",
+ "ExpectedRanges": [
+ {
+ "StartPosition": "0",
+ "EndPosition": "402128"
+ },
+ {
+ "StartPosition": "730105",
+ "EndPosition": "2097151"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetUploadSessionByPath.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetUploadSessionByPath.json
new file mode 100644
index 000000000000..8dc66b6d107d
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/GetUploadSessionByPath.json
@@ -0,0 +1,49 @@
+{
+ "operationId": "GetImageStoreUploadSessionByPath",
+ "description": "This example shows how to get image store upload session by a given relative path.",
+ "parameters": {
+ "api-version": "6.0",
+ "contentPath": "SwaggerTest\\Common.dll"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "UploadSessions": [
+ {
+ "StoreRelativePath": "SwaggerTest\\Common.dll",
+ "SessionId": "2032ac6c-a348-4594-86da-dab0f2bb1ae1",
+ "FileSize": "2097152",
+ "ModifiedDate": "2017-09-28T17:28:11.627Z",
+ "ExpectedRanges": [
+ {
+ "StartPosition": "0",
+ "EndPosition": "207615"
+ },
+ {
+ "StartPosition": "626977",
+ "EndPosition": "2097151"
+ }
+ ]
+ },
+ {
+ "StoreRelativePath": "SwaggerTest\\Common.dll",
+ "SessionId": "fb2da2b2-7cb4-45d2-a2e6-c4888d205bc5",
+ "FileSize": "2097152",
+ "ModifiedDate": "2017-09-28T17:28:11.643Z",
+ "ExpectedRanges": [
+ {
+ "StartPosition": "0",
+ "EndPosition": "616947"
+ },
+ {
+ "StartPosition": "1087529",
+ "EndPosition": "2097151"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/InvokeContainerApi.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/InvokeContainerApi.json
new file mode 100644
index 000000000000..bfe285758eec
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/InvokeContainerApi.json
@@ -0,0 +1,27 @@
+{
+ "operationId": "InvokeContainerApi",
+ "description": "This example shows how to call container API with HTTP GET for a code package deployed on a node.",
+ "parameters": {
+ "api-version": "6.2",
+ "nodeName": "Node01",
+ "applicationId": "samples/winnodejs",
+ "ServiceManifestName": "NodeServicePackage",
+ "CodePackageName": "NodeService.Code",
+ "CodePackageInstanceId": "131668159770315380",
+ "ContainerApiRequestBody": {
+ "UriPath": "/containers/{id}/logs?stdout=true&stderr=true"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContainerApiResult": {
+ "Status": 200,
+ "Content-Type": "text/plain; charset=utf-8",
+ "Body": "vEthernet (Container NIC ec5c19b2) 172.17.201.44\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/InvokeContainerApi_Post.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/InvokeContainerApi_Post.json
new file mode 100644
index 000000000000..0042fd341de0
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/InvokeContainerApi_Post.json
@@ -0,0 +1,29 @@
+{
+ "operationId": "InvokeContainerApi",
+ "description": "This example shows how to call container API with HTTP POST for a code package deployed on a node.",
+ "parameters": {
+ "api-version": "6.2",
+ "nodeName": "N0020",
+ "applicationId": "samples/nodejs1",
+ "ServiceManifestName": "NodeOnSF",
+ "CodePackageName": "Code",
+ "CodePackageInstanceId": "131673596679688285",
+ "ContainerApiRequestBody": {
+ "HttpVerb": "POST",
+ "UriPath": "/containers/{id}/update",
+ "Body": "{ \"CpuShares\": 512}"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContainerApiResult": {
+ "Status": 200,
+ "Content-Type": "application/json",
+ "Body": "{\"Warnings\":null}\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/PutProperty-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/PutProperty-1.json
new file mode 100644
index 000000000000..8eee209e7c7b
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/PutProperty-1.json
@@ -0,0 +1,25 @@
+{
+ "operationId": "PutProperty",
+ "description": "This example shows how to create or update a Service Fabric property under a given name.",
+ "parameters": {
+ "api-version": "6.0",
+ "nameId": "samples/apps/CalculatorApp",
+ "PropertyDescription": {
+ "PropertyName": "AppData",
+ "Value": {
+ "Kind": "Binary",
+ "Data": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/PutProperty-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/PutProperty-2.json
new file mode 100644
index 000000000000..5db6a9ad77f7
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/PutProperty-2.json
@@ -0,0 +1,19 @@
+{
+ "operationId": "PutProperty",
+ "description": "This example shows how to create or update a Service Fabric property under a given name with a custom type.",
+ "parameters": {
+ "api-version": "6.0",
+ "nameId": "samples/apps/CalculatorApp",
+ "PropertyDescription": {
+ "PropertyName": "AppData",
+ "Value": {
+ "Kind": "String",
+ "Data": "1+2=3"
+ },
+ "CustomTypeId": "EquationType"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/Services/Replicas/CodePackages/get_logs.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/Services/Replicas/CodePackages/get_logs.json
new file mode 100644
index 000000000000..5f17ef376d9d
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/Services/Replicas/CodePackages/get_logs.json
@@ -0,0 +1,18 @@
+{
+ "operationId": "MeshCodePackage_GetContainerLogs",
+ "description": "This example shows how to get logs from the container of service replica. If the container exists, the logs are returned with an OK (200) status code, otherwise an error is returned with an appropriate status code.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "applicationResourceName": "sbzDocApp",
+ "serviceResourceName": "sbzDocService",
+ "replicaName": "0",
+ "codePackageName": "sbzDocCode"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "Content": " * Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)\n * Downloading style https://assets-cdn.github.com/assets/frameworks-8f281eb0a8d2308ceb36e714ba3c3aec.css\n * Downloading style https://assets-cdn.github.com/assets/github-a698da0d53574b056d3c79ac732d4a70.css\n * Downloading style https://assets-cdn.github.com/assets/site-83dc1f7ebc9c7461fe1eab799b56c4c4.css\n * Cached all downloads in /root/.grip/cache-4.5.2\n167.220.0.83 - - [06/Apr/2018 07:16:02] \"GET / HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:02] \"GET /__/grip/asset/frameworks-8f281eb0a8d2308ceb36e714ba3c3aec.css HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:02] \"GET /__/grip/asset/site-83dc1f7ebc9c7461fe1eab799b56c4c4.css HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:02] \"GET /__/grip/asset/github-a698da0d53574b056d3c79ac732d4a70.css HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:02] \"GET /__/grip/static/octicons/octicons.css HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:03] \"GET /__/grip/static/octicons/octicons.woff2?ef21c39f0ca9b1b5116e5eb7ac5eabe6 HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:03] \"GET /__/grip/static/favicon.ico HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:05] \"GET /seabreeze-index.md HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:09] \"GET /seabreeze-api-application_get.md HTTP/1.1\" 200 -\n"
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/Services/Replicas/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/Services/Replicas/get.json
new file mode 100644
index 000000000000..bb373e90c328
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/Services/Replicas/get.json
@@ -0,0 +1,57 @@
+{
+ "operationId": "MeshServiceReplica_Get",
+ "description": "This example shows how to get information about given replica of a service. If the replica exists, its description is returned along with an OK (200) status code. If the replica does not exist, an error is returned with an appropriate status code.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "applicationResourceName": "sampleApplication",
+ "serviceResourceName": "helloWorldService",
+ "replicaName": "0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "osType": "Linux",
+ "codePackages": [
+ {
+ "name": "helloWorldCode",
+ "image": "seabreeze/sbz-helloworld:1.0-alpine",
+ "endpoints": [
+ {
+ "name": "helloWorldListener",
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "memoryInGB": 1,
+ "cpu": 1
+ }
+ },
+ "instanceView": {
+ "restartCount": 1,
+ "currentState": {
+ "state": "Running",
+ "exitCode": "0"
+ },
+ "previousState": {
+ "state": "NotSpecified",
+ "exitCode": "0"
+ }
+ }
+ }
+ ],
+ "networkRefs": [
+ {
+ "name": "sampleNetwork",
+ "endpointRefs": [
+ {
+ "name": "helloWorldListener"
+ }
+ ]
+ }
+ ],
+ "replicaName": "0"
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/Services/Replicas/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/Services/Replicas/list.json
new file mode 100644
index 000000000000..1fe9b30fb836
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/Services/Replicas/list.json
@@ -0,0 +1,105 @@
+{
+ "operationId": "MeshServiceReplica_List",
+ "description": "This example shows how to list replicas of a service resources for a given application.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "applicationResourceName": "sampleApplication",
+ "serviceResourceName": "helloWorldService"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "osType": "Linux",
+ "codePackages": [
+ {
+ "name": "helloWorldCode",
+ "image": "seabreeze/sbz-helloworld:1.0-alpine",
+ "endpoints": [
+ {
+ "name": "helloWorldListener",
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "memoryInGB": 1,
+ "cpu": 1
+ }
+ },
+ "instanceView": {
+ "restartCount": 1,
+ "currentState": {
+ "state": "Running",
+ "exitCode": "0"
+ },
+ "previousState": {
+ "state": "NotSpecified",
+ "exitCode": "0"
+ }
+ }
+ }
+ ],
+ "networkRefs": [
+ {
+ "name": "sampleNetwork",
+ "endpointRefs": [
+ {
+ "name": "helloWorldListener"
+ }
+ ]
+ }
+ ],
+ "replicaName": "0"
+ },
+ {
+ "osType": "Linux",
+ "codePackages": [
+ {
+ "name": "helloWorldCode",
+ "image": "seabreeze/sbz-helloworld:1.0-alpine",
+ "endpoints": [
+ {
+ "name": "helloWorldListener",
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "memoryInGB": 1,
+ "cpu": 1
+ }
+ },
+ "instanceView": {
+ "restartCount": 1,
+ "currentState": {
+ "state": "Running",
+ "exitCode": "0"
+ },
+ "previousState": {
+ "state": "NotSpecified",
+ "exitCode": "0"
+ }
+ }
+ }
+ ],
+ "networkRefs": [
+ {
+ "name": "sampleNetwork",
+ "endpointRefs": [
+ {
+ "name": "helloWorldListener"
+ }
+ ]
+ }
+ ],
+ "replicaName": "1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/Services/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/Services/get.json
new file mode 100644
index 000000000000..45224d3a66f8
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/Services/get.json
@@ -0,0 +1,51 @@
+{
+ "operationId": "MeshService_Get",
+ "description": "This example shows how to get a service resource for a given application. If the service resource exists, its description is returned along with an OK (200) status code. If the service resource does not exist, an error is returned with an appropriate status code.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "applicationResourceName": "sampleApplication",
+ "serviceResourceName": "helloWorldService"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "helloWorldService",
+ "properties": {
+ "osType": "Linux",
+ "codePackages": [
+ {
+ "name": "helloWorldCode",
+ "image": "seabreeze/sbz-helloworld:1.0-alpine",
+ "endpoints": [
+ {
+ "name": "helloWorldListener",
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "memoryInGB": 1,
+ "cpu": 1
+ }
+ }
+ }
+ ],
+ "networkRefs": [
+ {
+ "name": "sampleNetwork",
+ "endpointRefs": [
+ {
+ "name": "helloWorldListener"
+ }
+ ]
+ }
+ ],
+ "description": "SeaBreeze Hello World Service.",
+ "replicaCount": 1,
+ "healthState": "Ok",
+ "status": "Ready"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/Services/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/Services/list.json
new file mode 100644
index 000000000000..3df5e396c764
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/Services/list.json
@@ -0,0 +1,56 @@
+{
+ "operationId": "MeshService_List",
+ "description": "This example shows how to list all service resources for a given application.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "applicationResourceName": "sampleApplication"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "name": "helloWorldService",
+ "properties": {
+ "osType": "Linux",
+ "codePackages": [
+ {
+ "name": "helloWorldCode",
+ "image": "seabreeze/sbz-helloworld:1.0-alpine",
+ "endpoints": [
+ {
+ "name": "helloWorldListener",
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "memoryInGB": 1,
+ "cpu": 1
+ }
+ }
+ }
+ ],
+ "networkRefs": [
+ {
+ "name": "sampleNetwork",
+ "endpointRefs": [
+ {
+ "name": "helloWorldListener"
+ }
+ ]
+ }
+ ],
+ "description": "SeaBreeze Hello World Service.",
+ "replicaCount": 1,
+ "healthState": "Ok",
+ "status": "Ready"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/create_update.autoscale.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/create_update.autoscale.json
new file mode 100644
index 000000000000..16b621f6a572
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/create_update.autoscale.json
@@ -0,0 +1,102 @@
+{
+ "operationId": "MeshApplication_CreateOrUpdate",
+ "description": "This example shows how to create or update a application resource with services that autoscale based on the policies.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "applicationResourceName": "sampleApplication",
+ "applicationResourceDescription": {
+ "name": "sampleApplication",
+ "properties": {
+ "description": "Service Fabric Mesh sample application.",
+ "services": [
+ {
+ "name": "helloWorldService",
+ "properties": {
+ "description": "SeaBreeze Hello World Service.",
+ "osType": "Linux",
+ "codePackages": [
+ {
+ "name": "helloWorldCode",
+ "image": "seabreeze/sbz-helloworld:1.0-alpine",
+ "endpoints": [
+ {
+ "name": "helloWorldListener",
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "memoryInGB": 1,
+ "cpu": 1
+ }
+ }
+ }
+ ],
+ "replicaCount": 1,
+ "autoScalingPolicies": [
+ {
+ "name": "MyAutoScaleRule",
+ "trigger": {
+ "kind": "AverageLoad",
+ "metric": {
+ "kind": "Resource",
+ "name": "cpu"
+ },
+ "lowerLoadThreshold": 0.3,
+ "upperLoadThreshold": 0.8,
+ "scaleIntervalInSeconds": 3600
+ },
+ "mechanism": {
+ "kind": "AddRemoveReplica",
+ "minCount": 1,
+ "maxCount": 4,
+ "scaleIncrement": 1
+ }
+ }
+ ],
+ "networkRefs": [
+ {
+ "name": "sampleNetwork",
+ "endpointRefs": [
+ {
+ "name": "helloWorldListener"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sampleApplication",
+ "properties": {
+ "description": "Service Fabric Mesh sample application.",
+ "serviceNames": [
+ "helloWorldService"
+ ],
+ "healthState": "Ok",
+ "status": "Ready"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "sampleApplication",
+ "properties": {
+ "description": "Service Fabric Mesh sample application.",
+ "serviceNames": [
+ "helloWorldService"
+ ],
+ "healthState": "Unknown",
+ "status": "Creating"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/create_update.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/create_update.json
new file mode 100644
index 000000000000..8066c046fd00
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/create_update.json
@@ -0,0 +1,139 @@
+{
+ "operationId": "MeshApplication_CreateOrUpdate",
+ "description": "This example shows how to create or update a application resource.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "applicationResourceName": "sampleApplication",
+ "applicationResourceDescription": {
+ "name": "sampleApplication",
+ "properties": {
+ "description": "Service Fabric Mesh sample application.",
+ "services": [
+ {
+ "name": "helloWorldService",
+ "properties": {
+ "description": "SeaBreeze Hello World Service.",
+ "identityRefs": [
+ {
+ "name": "ServiceIdentity1",
+ "identityRef": "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity1"
+ },
+ {
+ "name": "ServiceIdentity2",
+ "identityRef": "SystemAssigned"
+ }
+ ],
+ "osType": "Linux",
+ "codePackages": [
+ {
+ "name": "helloWorldCode",
+ "image": "seabreeze/sbz-helloworld:1.0-alpine",
+ "endpoints": [
+ {
+ "name": "helloWorldListener",
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "memoryInGB": 1,
+ "cpu": 1
+ }
+ }
+ }
+ ],
+ "replicaCount": 1,
+ "networkRefs": [
+ {
+ "name": "sampleNetwork",
+ "endpointRefs": [
+ {
+ "name": "helloWorldListener"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "tokenServiceEndpoint": "http://tokenservice",
+ "tenantId": "D47A6CD5-E870-4ADF-8C00-1C0B758BC567",
+ "principalId": "84DFA616-1F44-4D63-BC08-43B5F758D16C",
+ "userAssignedIdentities": {
+ "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity1": {
+ "clientId": "5287A675-78D2-4E49-BF09-D3BFE02493D4",
+ "principalId": "7D6F0B1C-AF9F-4E21-9B3C-AE22F4D926F8"
+ },
+ "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity2": {
+ "clientId": "AF1509EC-9B5F-43CC-8A6F-FA7CC84AEBE1",
+ "principalId": "31144ACF-46F4-4639-A711-A257229EE0C0"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sampleApplication",
+ "properties": {
+ "description": "Service Fabric Mesh sample application.",
+ "serviceNames": [
+ "helloWorldService"
+ ],
+ "healthState": "Ok",
+ "status": "Ready"
+ },
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "tokenServiceEndpoint": "http://tokenservice",
+ "tenantId": "D47A6CD5-E870-4ADF-8C00-1C0B758BC567",
+ "principalId": "84DFA616-1F44-4D63-BC08-43B5F758D16C",
+ "userAssignedIdentities": {
+ "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity1": {
+ "clientId": "5287A675-78D2-4E49-BF09-D3BFE02493D4",
+ "principalId": "7D6F0B1C-AF9F-4E21-9B3C-AE22F4D926F8"
+ },
+ "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity2": {
+ "clientId": "AF1509EC-9B5F-43CC-8A6F-FA7CC84AEBE1",
+ "principalId": "31144ACF-46F4-4639-A711-A257229EE0C0"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "sampleApplication",
+ "properties": {
+ "description": "Service Fabric Mesh sample application.",
+ "serviceNames": [
+ "helloWorldService"
+ ],
+ "healthState": "Unknown",
+ "status": "Creating"
+ },
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "tokenServiceEndpoint": "http://tokenservice",
+ "tenantId": "D47A6CD5-E870-4ADF-8C00-1C0B758BC567",
+ "principalId": "84DFA616-1F44-4D63-BC08-43B5F758D16C",
+ "userAssignedIdentities": {
+ "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity1": {
+ "clientId": "5287A675-78D2-4E49-BF09-D3BFE02493D4",
+ "principalId": "7D6F0B1C-AF9F-4E21-9B3C-AE22F4D926F8"
+ },
+ "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity2": {
+ "clientId": "AF1509EC-9B5F-43CC-8A6F-FA7CC84AEBE1",
+ "principalId": "31144ACF-46F4-4639-A711-A257229EE0C0"
+ }
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/delete.json
new file mode 100644
index 000000000000..b51511b0865d
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/delete.json
@@ -0,0 +1,13 @@
+{
+ "operationId": "MeshApplication_Delete",
+ "description": "This example shows how to delete an existing application resource. If the application resource exists and is deleted successfully, an empty response with 200 status code is returned. If the application resource does not exist, an empty response with 204 status code is returned.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "applicationResourceName": "sampleApplication"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/get.json
new file mode 100644
index 000000000000..208ccd280bbd
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/get.json
@@ -0,0 +1,39 @@
+{
+ "operationId": "MeshApplication_Get",
+ "description": "This example shows how to get a application resource. If the application resource exists, its description is returned along with an OK (200) status code. If the application resource does not exist, an error is returned with an appropriate status code.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "applicationResourceName": "sampleApplication"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sampleApplication",
+ "properties": {
+ "description": "Service Fabric Mesh sample application.",
+ "serviceNames": [
+ "helloWorldService"
+ ],
+ "healthState": "Ok",
+ "status": "Ready"
+ },
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "tokenServiceEndpoint": "http://tokenservice",
+ "tenantId": "D47A6CD5-E870-4ADF-8C00-1C0B758BC567",
+ "principalId": "84DFA616-1F44-4D63-BC08-43B5F758D16C",
+ "userAssignedIdentities": {
+ "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity1": {
+ "clientId": "5287A675-78D2-4E49-BF09-D3BFE02493D4",
+ "principalId": "7D6F0B1C-AF9F-4E21-9B3C-AE22F4D926F8"
+ },
+ "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity2": {
+ "clientId": "AF1509EC-9B5F-43CC-8A6F-FA7CC84AEBE1",
+ "principalId": "31144ACF-46F4-4639-A711-A257229EE0C0"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/get_upgrade.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/get_upgrade.json
new file mode 100644
index 000000000000..61be95fa11b7
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/get_upgrade.json
@@ -0,0 +1,30 @@
+{
+ "operationId": "MeshApplication_GetUpgradeProgress",
+ "description": "This example shows how to get a application resource upgrade. If the application resource exists, its description is returned along with an OK (200) status code. If the application resource does not exist, an error is returned with an appropriate status code.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "applicationResourceName": "sampleApplication"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "Name": "sampleApplication",
+ "TargetApplicationTypeVersion": "v1",
+ "StartTimestampUtc": "0001-01-01T00:00:00.000Z",
+ "UpgradeState": "RollingForward",
+ "PercentCompleted": "0",
+ "ServiceUpgradeProgress": [
+ {
+ "ServiceName": "helloWorldService",
+ "CompletedReplicaCount": "0",
+ "PendingReplicaCount": "3"
+ }
+ ],
+ "RollingUpgradeMode": "Monitored",
+ "UpgradeDuration": "PT0H0M2.31669S",
+ "ApplicationUpgradeStatusDetails": "Deployment upgrading from version: v0 to version: v1.",
+ "UpgradeReplicaSetCheckTimeoutInSeconds": 4294967295
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/list.json
new file mode 100644
index 000000000000..2f34f40e3488
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Applications/list.json
@@ -0,0 +1,44 @@
+{
+ "operationId": "MeshApplication_List",
+ "description": "This example shows how to list all application resources.",
+ "parameters": {
+ "api-version": "6.4-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "name": "sampleApplication",
+ "properties": {
+ "description": "Service Fabric Mesh sample application.",
+ "serviceNames": [
+ "helloWorldService"
+ ],
+ "healthState": "Ok",
+ "status": "Ready"
+ },
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "tokenServiceEndpoint": "http://tokenservice",
+ "tenantId": "D47A6CD5-E870-4ADF-8C00-1C0B758BC567",
+ "principalId": "84DFA616-1F44-4D63-BC08-43B5F758D16C",
+ "userAssignedIdentities": {
+ "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity1": {
+ "clientId": "5287A675-78D2-4E49-BF09-D3BFE02493D4",
+ "principalId": "7D6F0B1C-AF9F-4E21-9B3C-AE22F4D926F8"
+ },
+ "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity2": {
+ "clientId": "AF1509EC-9B5F-43CC-8A6F-FA7CC84AEBE1",
+ "principalId": "31144ACF-46F4-4639-A711-A257229EE0C0"
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Gateways/create_update.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Gateways/create_update.json
new file mode 100644
index 000000000000..2ded194ec7cc
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Gateways/create_update.json
@@ -0,0 +1,193 @@
+{
+ "operationId": "MeshGateway_CreateOrUpdate",
+ "description": "This example shows how to create or update a gateway resource.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "gatewayResourceName": "sampleGateway",
+ "gatewayResourceDescription": {
+ "name": "sampleGateway",
+ "properties": {
+ "description": "Service Fabric Mesh sample gateway.",
+ "sourceNetwork": {
+ "name": "Open"
+ },
+ "destinationNetwork": {
+ "name": "helloWorldNetwork"
+ },
+ "tcp": [
+ {
+ "name": "web",
+ "port": 80,
+ "destination": {
+ "applicationName": "helloWorldApp",
+ "serviceName": "helloWorldService",
+ "endpointName": "helloWorldListener"
+ }
+ }
+ ],
+ "http": [
+ {
+ "name": "contosoWebsite",
+ "port": 8081,
+ "hosts": [
+ {
+ "name": "contoso.com",
+ "routes": [
+ {
+ "name": "index",
+ "match": {
+ "path": {
+ "value": "/index",
+ "rewrite": "/",
+ "type": "prefix"
+ },
+ "headers": [
+ {
+ "name": "accept",
+ "value": "application/json",
+ "type": "exact"
+ }
+ ]
+ },
+ "destination": {
+ "applicationName": "httpHelloWorldApp",
+ "serviceName": "indexService",
+ "endpointName": "indexHttpEndpoint"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sampleGateway",
+ "properties": {
+ "description": "Service Fabric Mesh sample gateway.",
+ "sourceNetwork": {
+ "name": "Open"
+ },
+ "destinationNetwork": {
+ "name": "helloWorldNetwork"
+ },
+ "tcp": [
+ {
+ "name": "web",
+ "port": 80,
+ "destination": {
+ "applicationName": "helloWorldApp",
+ "serviceName": "helloWorldService",
+ "endpointName": "helloWorldListener"
+ }
+ }
+ ],
+ "http": [
+ {
+ "name": "contosoWebsite",
+ "port": 8081,
+ "hosts": [
+ {
+ "name": "contoso.com",
+ "routes": [
+ {
+ "name": "index",
+ "match": {
+ "path": {
+ "value": "/index",
+ "rewrite": "/",
+ "type": "prefix"
+ },
+ "headers": [
+ {
+ "name": "accept",
+ "value": "application/json",
+ "type": "exact"
+ }
+ ]
+ },
+ "destination": {
+ "applicationName": "httpHelloWorldApp",
+ "serviceName": "indexService",
+ "endpointName": "indexHttpEndpoint"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "status": "Ready",
+ "ipAddress": "192.168.1.1"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "sampleGateway",
+ "properties": {
+ "description": "Service Fabric Mesh Hello World sample gateway.",
+ "sourceNetwork": {
+ "name": "Open"
+ },
+ "destinationNetwork": {
+ "name": "helloWorldNetwork"
+ },
+ "tcp": [
+ {
+ "name": "web",
+ "port": 80,
+ "destination": {
+ "applicationName": "helloWorldApp",
+ "serviceName": "helloWorldService",
+ "endpointName": "helloWorldListener"
+ }
+ }
+ ],
+ "http": [
+ {
+ "name": "contosoWebsite",
+ "port": 8081,
+ "hosts": [
+ {
+ "name": "contoso.com",
+ "routes": [
+ {
+ "name": "index",
+ "match": {
+ "path": {
+ "value": "/index",
+ "rewrite": "/",
+ "type": "prefix"
+ },
+ "headers": [
+ {
+ "name": "accept",
+ "value": "application/json",
+ "type": "exact"
+ }
+ ]
+ },
+ "destination": {
+ "applicationName": "httpHelloWorldApp",
+ "serviceName": "indexService",
+ "endpointName": "indexHttpEndpoint"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "status": "Creating",
+ "ipAddress": ""
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Gateways/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Gateways/delete.json
new file mode 100644
index 000000000000..63ed69926752
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Gateways/delete.json
@@ -0,0 +1,13 @@
+{
+ "operationId": "MeshGateway_Delete",
+ "description": "This example shows how to delete an existing gateway resource. If the gateway resource exists and is deleted successfully, an empty response with 200 status code is returned. If the gateway resource does not exist, an empty response with 204 status code is returned.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "gatewayResourceName": "sampleGateway"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Gateways/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Gateways/get.json
new file mode 100644
index 000000000000..c85b652cbc45
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Gateways/get.json
@@ -0,0 +1,72 @@
+{
+ "operationId": "MeshGateway_Get",
+ "description": "This example shows how to get a gateway resource. If the gateway resource exists, its description is returned along with an OK (200) status code. If the gateway resource does not exist, an error is returned with an appropriate status code.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "gatewayResourceName": "sampleGateway"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sampleGateway",
+ "properties": {
+ "description": "Service Fabric Mesh sample gateway.",
+ "sourceNetwork": {
+ "name": "Open"
+ },
+ "destinationNetwork": {
+ "name": "helloWorldNetwork"
+ },
+ "tcp": [
+ {
+ "name": "web",
+ "port": 80,
+ "destination": {
+ "applicationName": "helloWorldApp",
+ "serviceName": "helloWorldService",
+ "endpointName": "helloWorldListener"
+ }
+ }
+ ],
+ "http": [
+ {
+ "name": "contosoWebsite",
+ "port": 8081,
+ "hosts": [
+ {
+ "name": "contoso.com",
+ "routes": [
+ {
+ "name": "index",
+ "match": {
+ "path": {
+ "value": "/index",
+ "rewrite": "/",
+ "type": "prefix"
+ },
+ "headers": [
+ {
+ "name": "accept",
+ "value": "application/json",
+ "type": "exact"
+ }
+ ]
+ },
+ "destination": {
+ "applicationName": "httpHelloWorldApp",
+ "serviceName": "indexService",
+ "endpointName": "indexHttpEndpoint"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "status": "Ready",
+ "ipAddress": "192.168.1.1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Gateways/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Gateways/list.json
new file mode 100644
index 000000000000..5ad53b7d580f
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Gateways/list.json
@@ -0,0 +1,77 @@
+{
+ "operationId": "MeshGateway_List",
+ "description": "This example shows how to list all gateway resources.",
+ "parameters": {
+ "api-version": "6.4-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "name": "sampleGateway",
+ "properties": {
+ "description": "Service Fabric Mesh sample gateway.",
+ "sourceNetwork": {
+ "name": "Open"
+ },
+ "destinationNetwork": {
+ "name": "helloWorldNetwork"
+ },
+ "tcp": [
+ {
+ "name": "web",
+ "port": 80,
+ "destination": {
+ "applicationName": "helloWorldApp",
+ "serviceName": "helloWorldService",
+ "endpointName": "helloWorldListener"
+ }
+ }
+ ],
+ "http": [
+ {
+ "name": "contosoWebsite",
+ "port": 8081,
+ "hosts": [
+ {
+ "name": "contoso.com",
+ "routes": [
+ {
+ "name": "index",
+ "match": {
+ "path": {
+ "value": "/index",
+ "rewrite": "/",
+ "type": "prefix"
+ },
+ "headers": [
+ {
+ "name": "accept",
+ "value": "application/json",
+ "type": "exact"
+ }
+ ]
+ },
+ "destination": {
+ "applicationName": "httpHelloWorldApp",
+ "serviceName": "indexService",
+ "endpointName": "indexHttpEndpoint"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "status": "Ready",
+ "ipAddress": "192.168.1.1"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Networks/create_update.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Networks/create_update.json
new file mode 100644
index 000000000000..faf2a3960b48
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Networks/create_update.json
@@ -0,0 +1,41 @@
+{
+ "operationId": "MeshNetwork_CreateOrUpdate",
+ "description": "This example shows how to create or update a network resource.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "networkResourceName": "sampleNetwork",
+ "networkResourceDescription": {
+ "name": "sampleNetwork",
+ "properties": {
+ "kind": "Local",
+ "description": "Service Fabric Mesh sample network.",
+ "networkAddressPrefix": "2.0.0.0/16"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sampleNetwork",
+ "properties": {
+ "kind": "Local",
+ "description": "Service Fabric Mesh sample network.",
+ "networkAddressPrefix": "2.0.0.0/16",
+ "status": "Ready"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "sampleNetwork",
+ "properties": {
+ "kind": "Local",
+ "description": "Service Fabric Mesh sample network.",
+ "networkAddressPrefix": "2.0.0.0/16",
+ "status": "Creating"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Networks/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Networks/delete.json
new file mode 100644
index 000000000000..aea2170b7316
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Networks/delete.json
@@ -0,0 +1,13 @@
+{
+ "operationId": "MeshGateway_Delete",
+ "description": "This example shows how to delete an existing network resource. If the network resource exists and is deleted successfully, an empty response with 200 status code is returned. If the network resource does not exist, an empty response with 204 status code is returned.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "networkResourceName": "sampleNetwork"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Networks/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Networks/get.json
new file mode 100644
index 000000000000..1afaee298e7d
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Networks/get.json
@@ -0,0 +1,21 @@
+{
+ "operationId": "MeshGateway_Get",
+ "description": "This example shows how to get a network resource. If the network resource exists, its description is returned along with an OK (200) status code. If the network resource does not exist, an error is returned with an appropriate status code.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "networkResourceName": "sampleNetwork"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sampleNetwork",
+ "properties": {
+ "kind": "Local",
+ "description": "Service Fabric Mesh sample network.",
+ "networkAddressPrefix": "2.0.0.0/16",
+ "status": "Ready"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Networks/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Networks/list.json
new file mode 100644
index 000000000000..6cf521d8582c
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Networks/list.json
@@ -0,0 +1,26 @@
+{
+ "operationId": "MeshGateway_List",
+ "description": "This example shows how to list all network resources.",
+ "parameters": {
+ "api-version": "6.4-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "name": "sampleNetwork",
+ "properties": {
+ "kind": "Local",
+ "description": "Service Fabric Mesh sample network.",
+ "networkAddressPrefix": "2.0.0.0/16",
+ "status": "Ready"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Secrets/create_update.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Secrets/create_update.json
new file mode 100644
index 000000000000..aab0125db5a5
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Secrets/create_update.json
@@ -0,0 +1,41 @@
+{
+ "operationId": "MeshSecret_CreateOrUpdate",
+ "description": "This example shows how to create or update a secret resource.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "secretResourceName": "dbConnectionString",
+ "secretResourceDescription": {
+ "name": "dbConnectionString",
+ "properties": {
+ "kind": "inlinedValue",
+ "contentType": "text/plain",
+ "description": "Mongo DB connection string for backend database!"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "dbConnectionString",
+ "properties": {
+ "kind": "inlinedValue",
+ "contentType": "text/plain",
+ "description": "Mongo DB connection string for backend database!",
+ "status": "Ready"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "dbConnectionString",
+ "properties": {
+ "kind": "inlinedValue",
+ "contentType": "text/plain",
+ "description": "Mongo DB connection string for backend database!",
+ "status": "Creating"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Secrets/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Secrets/delete.json
new file mode 100644
index 000000000000..ffe68fd3ddc7
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Secrets/delete.json
@@ -0,0 +1,13 @@
+{
+ "operationId": "MeshSecret_Delete",
+ "description": "This example shows how to delete an existing secret resource. If the secret resource exists and is deleted successfully, an empty response with 200 status code is returned. If the secret resource does not exist, an empty response with 204 status code is returned.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "secretResourceName": "dbConnectionString"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Secrets/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Secrets/get.json
new file mode 100644
index 000000000000..f358e51722dd
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Secrets/get.json
@@ -0,0 +1,21 @@
+{
+ "operationId": "MeshSecret_Get",
+ "description": "This example shows how to get a secret resource. If the secret resource exists, its description is returned along with an OK (200) status code. If the secret resource does not exist, an error is returned with an appropriate status code.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "secretResourceName": "dbConnectionString"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "dbConnectionString",
+ "properties": {
+ "kind": "inlinedValue",
+ "contentType": "text/plain",
+ "description": "Mongo DB connection string for backend database!",
+ "status": "Ready"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Secrets/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Secrets/list.json
new file mode 100644
index 000000000000..b46d7f8ff341
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Secrets/list.json
@@ -0,0 +1,35 @@
+{
+ "operationId": "MeshSecret_List",
+ "description": "This example shows how to list all secret resources.",
+ "parameters": {
+ "api-version": "6.4-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "name": "dbConnectionString",
+ "properties": {
+ "kind": "inlinedValue",
+ "contentType": "text/plain",
+ "description": "Mongo DB connection string for backend database!",
+ "status": "Ready"
+ }
+ },
+ {
+ "name": "contosoServiceApiKey",
+ "properties": {
+ "kind": "inlinedValue",
+ "contentType": "text/plain",
+ "description": "API Key to access contoso service APIs",
+ "status": "Ready"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Secrets/values/create.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Secrets/values/create.json
new file mode 100644
index 000000000000..8cd0824452fd
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Secrets/values/create.json
@@ -0,0 +1,34 @@
+{
+ "operationId": "MeshSecretValue_AddValue",
+ "description": "This example shows how to add a new value of a secret resource; the secret value is provided as plaintext.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "secretResourceName": "dbConnectionString",
+ "secretValueResourceName": "v1",
+ "secretValueResourceDescription": {
+ "name": "v1",
+ "properties": {
+ "value": "mongodb://contoso123:0Fc3IolnL12312asdfawejunASDF@asdfYXX2t8a97kghVcUzcDv98hawelufhawefafnoQRGwNj2nMPL1Y9qsIr9Srdw==@contoso123.documents.azure.com:10255/mydatabase?ssl=true"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "v1",
+ "properties": {
+ "value": null
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "v1",
+ "properties": {
+ "value": null
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Secrets/values/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Secrets/values/delete.json
new file mode 100644
index 000000000000..ad4b3ef9540b
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Secrets/values/delete.json
@@ -0,0 +1,14 @@
+{
+ "operationId": "MeshSecretValue_Delete",
+ "description": "This example shows how to delete a secret value. If the specified named value exists and is deleted successfully, an empty response with 200 status code is returned. If the specified named value does not exist, an empty response with 204 status code is returned.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "secretResourceName": "dbConnectionString",
+ "secretValueResourceName": "v1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Secrets/values/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Secrets/values/get.json
new file mode 100644
index 000000000000..a6491634ef44
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Secrets/values/get.json
@@ -0,0 +1,19 @@
+{
+ "operationId": "MeshSecretValue_Get",
+ "description": "This example shows how to get the specified secret value resource. If the specified named value exists, its information is returned along with status code 200. The information does not include the value. To get the unecnrypted value use ListMeshSecretValue operation. If the specified named value does not exist, an error is returned with an appropriate status code.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "secretResourceName": "dbConnectionString",
+ "secretValueResourceName": "v1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "v1",
+ "properties": {
+ "value": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Secrets/values/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Secrets/values/list.json
new file mode 100644
index 000000000000..0610d6d83c48
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Secrets/values/list.json
@@ -0,0 +1,29 @@
+{
+ "operationId": "MeshSecretValue_List",
+ "description": "This example shows how to list names of all values of a secret resource, not including their respective values.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "secretResourceName": "dbConnectionString"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "name": "v1",
+ "properties": {
+ "value": null
+ }
+ },
+ {
+ "name": "v2",
+ "properties": {
+ "value": null
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Secrets/values/list_value.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Secrets/values/list_value.json
new file mode 100644
index 000000000000..b8d09ce2e23c
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Secrets/values/list_value.json
@@ -0,0 +1,16 @@
+{
+ "operationId": "MeshSecretValue_Show",
+ "description": "This example shows how to get the unencrypted value of the secret. If the specified named value resource exists, its unencrypted value is returned along with status code 200. If the specified named value does not exist, an error is returned with an appropriate status code.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "secretResourceName": "dbConnectionString",
+ "secretValueResourceName": "v1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "mongodb://contoso123:0Fc3IolnL12312asdfawejunASDF@asdfYXX2t8a97kghVcUzcDv98hawelufhawefafnoQRGwNj2nMPL1Y9qsIr9Srdw==@contoso123.documents.azure.com:10255/mydatabase?ssl=true"
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Volumes/create_update.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Volumes/create_update.json
new file mode 100644
index 000000000000..ba2623cdc556
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Volumes/create_update.json
@@ -0,0 +1,53 @@
+{
+ "operationId": "MeshVolume_CreateOrUpdate",
+ "description": "This example shows how to create or update a volume resource.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "volumeResourceName": "sampleVolume",
+ "volumeResourceDescription": {
+ "name": "sampleVolume",
+ "properties": {
+ "description": "Service Fabric Mesh sample volume.",
+ "provider": "SFAzureFile",
+ "azureFileParameters": {
+ "accountName": "sbzdemoaccount",
+ "accountKey": "provide-account-key-here",
+ "shareName": "sharel"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sampleVolume",
+ "properties": {
+ "description": "Service Fabric Mesh sample volume.",
+ "provider": "SFAzureFile",
+ "azureFileParameters": {
+ "accountName": "sbzdemoaccount",
+ "accountKey": null,
+ "shareName": "sharel"
+ },
+ "status": "Ready"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "sampleVolume",
+ "properties": {
+ "description": "Service Fabric Mesh Hello World sample volume.",
+ "provider": "SFAzureFile",
+ "azureFileParameters": {
+ "accountName": "sbzdemoaccount",
+ "accountKey": null,
+ "shareName": "sharel"
+ },
+ "status": "Creating"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Volumes/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Volumes/delete.json
new file mode 100644
index 000000000000..efaa1f836ae1
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Volumes/delete.json
@@ -0,0 +1,13 @@
+{
+ "operationId": "MeshVolume_Delete",
+ "description": "This example shows how to delete an existing volume resource. If the volume resource exists and is deleted successfully, an empty response with 200 status code is returned. If the volume resource does not exist, an empty response with 204 status code is returned.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "volumeResourceName": "sampleVolume"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Volumes/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Volumes/get.json
new file mode 100644
index 000000000000..9d08f3b00a82
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Volumes/get.json
@@ -0,0 +1,25 @@
+{
+ "operationId": "MeshVolume_Get",
+ "description": "This example shows how to get a volume resource. If the volume resource exists, its description is returned along with an OK (200) status code. If the volume resource does not exist, an error is returned with an appropriate status code.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "volumeResourceName": "sampleVolume"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sampleVolume",
+ "properties": {
+ "description": "Service Fabric Mesh sample volume.",
+ "provider": "SFAzureFile",
+ "azureFileParameters": {
+ "accountName": "sbzdemoaccount",
+ "accountKey": null,
+ "shareName": "sharel"
+ },
+ "status": "Ready"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Volumes/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Volumes/list.json
new file mode 100644
index 000000000000..3bf83798904b
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/Resources/Volumes/list.json
@@ -0,0 +1,30 @@
+{
+ "operationId": "MeshVolume_List",
+ "description": "This example shows how to list all volume resources.",
+ "parameters": {
+ "api-version": "6.4-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "name": "sampleVolume",
+ "properties": {
+ "description": "Service Fabric Mesh sample volume.",
+ "provider": "SFAzureFile",
+ "azureFileParameters": {
+ "accountName": "sbzdemoaccount",
+ "accountKey": null,
+ "shareName": "sharel"
+ },
+ "status": "Ready"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/RestorePartition.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/RestorePartition.json
new file mode 100644
index 000000000000..1e97e0557113
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/RestorePartition.json
@@ -0,0 +1,20 @@
+{
+ "operationId": "RestorePartition",
+ "description": "This example shows how to trigger restore of a partition now by specifying the backup to be used to restore.",
+ "parameters": {
+ "api-version": "6.4",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "RestorePartitionDescription": {
+ "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "BackupStorage": {
+ "StorageKind": "AzureBlobStore",
+ "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=",
+ "ContainerName": "BackupContainer"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip"
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/ResumeApplicationBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/ResumeApplicationBackup.json
new file mode 100644
index 000000000000..b25a7ac545ec
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/ResumeApplicationBackup.json
@@ -0,0 +1,11 @@
+{
+ "operationId": "ResumeApplicationBackup",
+ "description": "This example shows how to resume periodic backup for a stateful application which was previously suspended.",
+ "parameters": {
+ "api-version": "6.4",
+ "applicationId": "CalcApp"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/ResumePartitionBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/ResumePartitionBackup.json
new file mode 100644
index 000000000000..feb701118438
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/ResumePartitionBackup.json
@@ -0,0 +1,11 @@
+{
+ "operationId": "ResumePartitionBackup",
+ "description": "This example shows how to resume periodic backup for a stateful partition which was previously suspended.",
+ "parameters": {
+ "api-version": "6.4",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/ResumeServiceBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/ResumeServiceBackup.json
new file mode 100644
index 000000000000..9037dfa23d9e
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/ResumeServiceBackup.json
@@ -0,0 +1,11 @@
+{
+ "operationId": "ResumeServiceBackup",
+ "description": "This example shows how to resume periodic backup for a stateful service which was previously suspended.",
+ "parameters": {
+ "api-version": "6.4",
+ "serviceId": "CalcApp/CalcService"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/StartClusterConfigurationUpgrade-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/StartClusterConfigurationUpgrade-1.json
new file mode 100644
index 000000000000..2f8fd59a474e
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/StartClusterConfigurationUpgrade-1.json
@@ -0,0 +1,40 @@
+{
+ "operationId": "StartClusterConfigurationUpgrade",
+ "description": "This example shows how to start upgrading the configuration of a Service Fabric standalone cluster.",
+ "parameters": {
+ "api-version": "6.0",
+ "nameId": "samples/apps/CalculatorApp",
+ "ClusterConfigurationUpgradeDescription": {
+ "ClusterConfig": "",
+ "ApplicationHealthPolicies": {
+ "ApplicationHealthPolicyMap": [
+ {
+ "Key": "fabric:/samples/CalculatorApp",
+ "Value": {
+ "ConsiderWarningAsError": true,
+ "MaxPercentUnhealthyDeployedApplications": 10,
+ "DefaultServiceTypeHealthPolicy": {
+ "MaxPercentUnhealthyPartitionsPerService": 0,
+ "MaxPercentUnhealthyReplicasPerPartition": 0,
+ "MaxPercentUnhealthyServices": 0
+ },
+ "ServiceTypeHealthPolicyMap": [
+ {
+ "Key": "Svc1Type",
+ "Value": {
+ "MaxPercentUnhealthyPartitionsPerService": 0,
+ "MaxPercentUnhealthyReplicasPerPartition": 0,
+ "MaxPercentUnhealthyServices": 10
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/SubmitPropertyBatch-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/SubmitPropertyBatch-1.json
new file mode 100644
index 000000000000..05410c96edc2
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/SubmitPropertyBatch-1.json
@@ -0,0 +1,71 @@
+{
+ "operationId": "SubmitPropertyBatch",
+ "description": "This example shows how to submit a property batch. This batch ensures that a property exists, checks that the property has the expected sequence number, and edits the property only if the previous conditions succeed. It then performs a get operation to get the property's current info. \r\n If all of the operations succeed, the batch is committed in a transactional manner and a success response is returned with 200 status code. \r\n If the batch fails then a failed response is returned with 409 status code. The failed response below shows batch failure because the property does not have expected sequence number.",
+ "parameters": {
+ "api-version": "6.0",
+ "nameId": "samples/apps",
+ "PropertyBatchDescriptionList": {
+ "Operations": [
+ {
+ "Kind": "CheckExists",
+ "PropertyName": "PersistentQueueAppData",
+ "Exists": true
+ },
+ {
+ "Kind": "CheckSequence",
+ "PropertyName": "PersistentQueueAppData",
+ "SequenceNumber": "12"
+ },
+ {
+ "Kind": "Put",
+ "PropertyName": "PersistentQueueAppData",
+ "Value": {
+ "Kind": "Binary",
+ "Data": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ]
+ },
+ "CustomTypeId": "InitializationData"
+ },
+ {
+ "Kind": "Get",
+ "PropertyName": "PersistentQueueAppData",
+ "IncludeValue": false
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "Kind": "Successful",
+ "Properties": {
+ "3": {
+ "Name": "PersistentQueueAppData",
+ "Metadata": {
+ "TypeId": "Binary",
+ "CustomTypeId": "InitializationData",
+ "Parent": "fabric:/samples/apps",
+ "SizeInBytes": 5,
+ "LastModifiedUtcTimestamp": "2017-07-17T05:01:19.049Z",
+ "SequenceNumber": "13"
+ }
+ }
+ }
+ }
+ },
+ "409": {
+ "headers": {},
+ "body": {
+ "Kind": "Failed",
+ "ErrorMessage": "FABRIC_E_PROPERTY_CHECK_FAILED",
+ "OperationIndex": 1
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/SuspendApplicationBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/SuspendApplicationBackup.json
new file mode 100644
index 000000000000..75bdad71a95e
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/SuspendApplicationBackup.json
@@ -0,0 +1,11 @@
+{
+ "operationId": "SuspendApplicationBackup",
+ "description": "This example shows how to suspend backup for a stateful application which is configured for periodic backup.",
+ "parameters": {
+ "api-version": "6.4",
+ "applicationId": "CalcApp"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/SuspendPartitionBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/SuspendPartitionBackup.json
new file mode 100644
index 000000000000..b14619dd6fe8
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/SuspendPartitionBackup.json
@@ -0,0 +1,11 @@
+{
+ "operationId": "SuspendPartitionBackup",
+ "description": "This example shows how to suspend backup for a stateful partition which is configured for periodic backup.",
+ "parameters": {
+ "api-version": "6.4",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/SuspendServiceBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/SuspendServiceBackup.json
new file mode 100644
index 000000000000..14d0575c509e
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/SuspendServiceBackup.json
@@ -0,0 +1,11 @@
+{
+ "operationId": "SuspendServiceBackup",
+ "description": "This example shows how to suspend backup for a stateful service which is configured for periodic backup.",
+ "parameters": {
+ "api-version": "6.4",
+ "serviceId": "CalcApp/CalcService"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/UpdateBackupPolicy.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/UpdateBackupPolicy.json
new file mode 100644
index 000000000000..3129817ddb68
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/UpdateBackupPolicy.json
@@ -0,0 +1,35 @@
+{
+ "operationId": "UpdateBackupPolicy",
+ "description": "This example shows how to update the schedule of a backup policy to take backup twice everyday at 9 AM and 5 PM UTC which shall get deleted after 30 days, with Azure blob store as the backup location.",
+ "parameters": {
+ "api-version": "6.4",
+ "backupPolicyName": "DailyAzureBackupPolicy",
+ "BackupPolicyDescription": {
+ "Name": "DailyAzureBackupPolicy",
+ "AutoRestoreOnDataLoss": false,
+ "MaxIncrementalBackups": 3,
+ "Schedule": {
+ "ScheduleKind": "TimeBased",
+ "ScheduleFrequencyType": "Daily",
+ "RunTimes": [
+ "0001-01-01T09:00:00Z",
+ "0001-01-01T17:00:00Z"
+ ]
+ },
+ "Storage": {
+ "StorageKind": "AzureBlobStore",
+ "FriendlyName": "Azure_storagesample",
+ "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=",
+ "ContainerName": "BackupContainer"
+ },
+ "RetentionPolicy": {
+ "RetentionPolicyType": "Basic",
+ "MinimumNumberOfBackups": 60,
+ "RetentionDuration": "P30D"
+ }
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/UpdateService-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/UpdateService-1.json
new file mode 100644
index 000000000000..3dd7f5950427
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/UpdateService-1.json
@@ -0,0 +1,34 @@
+{
+ "operationId": "UpdateService",
+ "description": "This example shows how to update placement and load balancing related settings of a stateless Service Fabric service.",
+ "parameters": {
+ "serviceId": "test~test1",
+ "api-version": "6.0",
+ "ServiceUpdateDescription": {
+ "ServiceKind": "Stateless",
+ "Flags": "1568",
+ "PlacementConstraints": "Color==Red",
+ "DefaultMoveCost": "High",
+ "ScalingPolicies": [
+ {
+ "ScalingTrigger": {
+ "Kind": "AveragePartitionLoad",
+ "MetricName": "servicefabric:/_CpuCores",
+ "LowerLoadThreshold": "0.500000",
+ "UpperLoadThreshold": "0.800000",
+ "ScaleIntervalInSeconds": 900
+ },
+ "ScalingMechanism": {
+ "Kind": "PartitionInstanceCount",
+ "MinInstanceCount": 4,
+ "MaxInstanceCount": 6,
+ "ScaleIncrement": 2
+ }
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/UpdateService-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/UpdateService-2.json
new file mode 100644
index 000000000000..cdb1368dbdd6
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/examples/UpdateService-2.json
@@ -0,0 +1,17 @@
+{
+ "operationId": "UpdateService",
+ "description": "This example shows how to update placement and load balancing related settings of a stateful Service Fabric service.",
+ "parameters": {
+ "serviceId": "test~test2",
+ "api-version": "6.0",
+ "ServiceUpdateDescription": {
+ "ServiceKind": "Stateful",
+ "Flags": "40",
+ "PlacementConstraints": "Color==Green",
+ "StandByReplicaKeepDurationSeconds": "1000"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/servicefabric.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/servicefabric.json
new file mode 100644
index 000000000000..fe543ad5b773
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.1/servicefabric.json
@@ -0,0 +1,28452 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Service Fabric Client APIs",
+ "description": "Service Fabric REST Client APIs allows management of Service Fabric clusters, applications and services.",
+ "version": "7.1.0.45"
+ },
+ "host": "localhost:19080",
+ "schemes": [
+ "http",
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/$/GetClusterManifest": {
+ "get": {
+ "operationId": "GetClusterManifest",
+ "summary": "Get the Service Fabric cluster manifest.",
+ "description": "Get the Service Fabric cluster manifest. The cluster manifest contains properties of the cluster that include different node types on the cluster,\nsecurity configurations, fault, and upgrade domain topologies, etc.\n\nThese properties are specified as part of the ClusterConfig.JSON file while deploying a stand-alone cluster. However, most of the information in the cluster manifest\nis generated internally by service fabric during cluster deployment in other deployment scenarios (e.g. when using Azure portal).\n\nThe contents of the cluster manifest are for informational purposes only and users are not expected to take a dependency on the format of the file contents or its interpretation.",
+ "tags": [
+ "Cluster"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested cluster manifest information.",
+ "schema": {
+ "$ref": "#/definitions/ClusterManifest"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/GetClusterHealth": {
+ "get": {
+ "operationId": "GetClusterHealth",
+ "summary": "Gets the health of a Service Fabric cluster.",
+ "description": "Use EventsHealthStateFilter to filter the collection of health events reported on the cluster based on the health state.\nSimilarly, use NodesHealthStateFilter and ApplicationsHealthStateFilter to filter the collection of nodes and applications returned based on their aggregated health state.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodesHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/IncludeSystemApplicationHealthStatisticsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested cluster health information.",
+ "schema": {
+ "$ref": "#/definitions/ClusterHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "post": {
+ "operationId": "GetClusterHealthUsingPolicy",
+ "summary": "Gets the health of a Service Fabric cluster using the specified policy.",
+ "description": "Use EventsHealthStateFilter to filter the collection of health events reported on the cluster based on the health state.\nSimilarly, use NodesHealthStateFilter and ApplicationsHealthStateFilter to filter the collection of nodes and applications returned based on their aggregated health state.\nUse ClusterHealthPolicies to override the health policies used to evaluate the health.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodesHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/IncludeSystemApplicationHealthStatisticsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ClusterHealthPoliciesOptionalBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested cluster health information.",
+ "schema": {
+ "$ref": "#/definitions/ClusterHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/GetClusterHealthChunk": {
+ "get": {
+ "operationId": "GetClusterHealthChunk",
+ "summary": "Gets the health of a Service Fabric cluster using health chunks.",
+ "description": "Gets the health of a Service Fabric cluster using health chunks. Includes the aggregated health state of the cluster, but none of the cluster entities.\nTo expand the cluster health and get the health state of all or some of the entities, use the POST URI and specify the cluster health chunk query description.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested cluster health chunk information.",
+ "schema": {
+ "$ref": "#/definitions/ClusterHealthChunk"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "post": {
+ "operationId": "GetClusterHealthChunkUsingPolicyAndAdvancedFilters",
+ "summary": "Gets the health of a Service Fabric cluster using health chunks.",
+ "description": "Gets the health of a Service Fabric cluster using health chunks. The health evaluation is done based on the input cluster health chunk query description.\nThe query description allows users to specify health policies for evaluating the cluster and its children.\nUsers can specify very flexible filters to select which cluster entities to return. The selection can be done based on the entities health state and based on the hierarchy.\nThe query can return multi-level children of the entities based on the specified filters. For example, it can return one application with a specified name, and for this application, return\nonly services that are in Error or Warning, and all partitions and replicas for one of these services.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ClusterHealthChunkQueryDescriptionOptionalBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested cluster health chunk information.",
+ "schema": {
+ "$ref": "#/definitions/ClusterHealthChunk"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/ReportClusterHealth": {
+ "post": {
+ "operationId": "ReportClusterHealth",
+ "summary": "Sends a health report on the Service Fabric cluster.",
+ "description": "Sends a health report on a Service Fabric cluster. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway node, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, run GetClusterHealth and check that the report appears in the HealthEvents section.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/HealthInformationRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ImmediateOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code when the cluster health report is accepted for processing."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/GetProvisionedCodeVersions": {
+ "get": {
+ "operationId": "GetProvisionedFabricCodeVersionInfoList",
+ "summary": "Gets a list of fabric code versions that are provisioned in a Service Fabric cluster.",
+ "description": "Gets a list of information about fabric code versions that are provisioned in the cluster. The parameter CodeVersion can be used to optionally filter the output to only that particular version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/CodeVersionOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested provisioned code versions information.",
+ "schema": {
+ "$ref": "#/definitions/FabricCodeVersionInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/GetProvisionedConfigVersions": {
+ "get": {
+ "operationId": "GetProvisionedFabricConfigVersionInfoList",
+ "summary": "Gets a list of fabric config versions that are provisioned in a Service Fabric cluster.",
+ "description": "Gets a list of information about fabric config versions that are provisioned in the cluster. The parameter ConfigVersion can be used to optionally filter the output to only that particular version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ConfigVersionOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested provisioned config versions information.",
+ "schema": {
+ "$ref": "#/definitions/FabricConfigVersionInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/GetUpgradeProgress": {
+ "get": {
+ "operationId": "GetClusterUpgradeProgress",
+ "summary": "Gets the progress of the current cluster upgrade.",
+ "description": "Gets the current progress of the ongoing cluster upgrade. If no upgrade is currently in progress, get the last state of the previous cluster upgrade.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested cluster upgrade progress.",
+ "schema": {
+ "$ref": "#/definitions/ClusterUpgradeProgressObject"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/GetClusterConfiguration": {
+ "get": {
+ "operationId": "GetClusterConfiguration",
+ "summary": "Get the Service Fabric standalone cluster configuration.",
+ "description": "The cluster configuration contains properties of the cluster that include different node types on the cluster,\nsecurity configurations, fault, and upgrade domain topologies, etc.",
+ "tags": [
+ "Cluster"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ConfigurationApiVersionRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested cluster configuration information.",
+ "schema": {
+ "$ref": "#/definitions/ClusterConfiguration"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/GetClusterConfigurationUpgradeStatus": {
+ "get": {
+ "operationId": "GetClusterConfigurationUpgradeStatus",
+ "summary": "Get the cluster configuration upgrade status of a Service Fabric standalone cluster.",
+ "description": "Get the cluster configuration upgrade status details of a Service Fabric standalone cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested cluster configuration upgrade status.",
+ "schema": {
+ "$ref": "#/definitions/ClusterConfigurationUpgradeStatusInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/GetUpgradeOrchestrationServiceState": {
+ "get": {
+ "operationId": "GetUpgradeOrchestrationServiceState",
+ "summary": "Get the service state of Service Fabric Upgrade Orchestration Service.",
+ "description": "Get the service state of Service Fabric Upgrade Orchestration Service. This API is internally used for support purposes.",
+ "tags": [
+ "Cluster"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested service state of Service Fabric Upgrade Orchestration Service.",
+ "schema": {
+ "$ref": "#/definitions/UpgradeOrchestrationServiceState"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/SetUpgradeOrchestrationServiceState": {
+ "post": {
+ "operationId": "SetUpgradeOrchestrationServiceState",
+ "summary": "Update the service state of Service Fabric Upgrade Orchestration Service.",
+ "description": "Update the service state of Service Fabric Upgrade Orchestration Service. This API is internally used for support purposes.",
+ "tags": [
+ "Cluster"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/UpgradeOrchestrationServiceStateRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the service state of Service Fabric Upgrade Orchestration Service has been updated.",
+ "schema": {
+ "$ref": "#/definitions/UpgradeOrchestrationServiceStateSummary"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/Provision": {
+ "post": {
+ "summary": "Provision the code or configuration packages of a Service Fabric cluster.",
+ "description": "Validate and provision the code or configuration packages of a Service Fabric cluster.",
+ "operationId": "ProvisionCluster",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ProvisionFabricDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the code or configuration packages have been provisioned."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/Unprovision": {
+ "post": {
+ "summary": "Unprovision the code or configuration packages of a Service Fabric cluster.",
+ "description": "It is supported to unprovision code and configuration separately.",
+ "operationId": "UnprovisionCluster",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/UnprovisionFabricDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the code or configuration packages have been unprovisioned."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/RollbackUpgrade": {
+ "post": {
+ "summary": "Roll back the upgrade of a Service Fabric cluster.",
+ "description": "Roll back the code or configuration upgrade of a Service Fabric cluster.",
+ "operationId": "RollbackClusterUpgrade",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful response means that the rollback of a cluster upgrade has been initiated."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/MoveToNextUpgradeDomain": {
+ "post": {
+ "summary": "Make the cluster upgrade move on to the next upgrade domain.",
+ "description": "Make the cluster code or configuration upgrade move on to the next upgrade domain if appropriate.",
+ "operationId": "ResumeClusterUpgrade",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ResumeClusterUpgradeDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the cluster upgrade has moved on to the next upgrade domain."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/Upgrade": {
+ "post": {
+ "summary": "Start upgrading the code or configuration version of a Service Fabric cluster.",
+ "description": "Validate the supplied upgrade parameters and start upgrading the code or configuration version of a Service Fabric cluster if the parameters are valid.",
+ "operationId": "StartClusterUpgrade",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartClusterUpgradeDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful response means that the cluster code or configuration upgrade has started. Use GetUpgradeProgress operation to get the status of the upgrade."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/StartClusterConfigurationUpgrade": {
+ "post": {
+ "summary": "Start upgrading the configuration of a Service Fabric standalone cluster.",
+ "description": "Validate the supplied configuration upgrade parameters and start upgrading the cluster configuration if the parameters are valid.",
+ "operationId": "StartClusterConfigurationUpgrade",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ClusterConfigurationUpgradeDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "x-ms-examples": {
+ "Start upgrading the configuration of a Service Fabric standalone cluster": {
+ "$ref": "./examples/StartClusterConfigurationUpgrade-1.json"
+ }
+ },
+ "responses": {
+ "202": {
+ "description": "A successful response means that the cluster configuration upgrade has started. Use GetClusterConfigurationUpgradeStatus operation to get the status of the upgrade."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/UpdateUpgrade": {
+ "post": {
+ "operationId": "UpdateClusterUpgrade",
+ "summary": "Update the upgrade parameters of a Service Fabric cluster upgrade.",
+ "description": "Update the upgrade parameters used during a Service Fabric cluster upgrade.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/UpdateClusterUpgradeDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation returns 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/GetAadMetadata": {
+ "get": {
+ "operationId": "GetAadMetadata",
+ "summary": "Gets the Azure Active Directory metadata used for secured connection to cluster.",
+ "description": "Gets the Azure Active Directory metadata used for secured connection to cluster.\nThis API is not supposed to be called separately. It provides information needed to set up an Azure Active Directory secured connection with a Service Fabric cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "schemes": [
+ "https"
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the Azure Active Directory metadata.",
+ "schema": {
+ "$ref": "#/definitions/AadMetadataObject"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/GetClusterVersion": {
+ "get": {
+ "operationId": "GetClusterVersion",
+ "summary": "Get the current Service Fabric cluster version.",
+ "description": "If a cluster upgrade is happening, then this API will return the lowest (older) version of the current and target cluster runtime versions.",
+ "tags": [
+ "Cluster"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "x-ms-examples": {
+ "Get cluster version": {
+ "$ref": "./examples/GetClusterVersion-1.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested cluster version information.",
+ "schema": {
+ "$ref": "#/definitions/ClusterVersion"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/GetLoadInformation": {
+ "get": {
+ "operationId": "GetClusterLoad",
+ "summary": "Gets the load of a Service Fabric cluster.",
+ "description": "Retrieves the load information of a Service Fabric cluster for all the metrics that have load or capacity defined.",
+ "tags": [
+ "Cluster"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested cluster load information.",
+ "schema": {
+ "$ref": "#/definitions/ClusterLoadInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/ToggleVerboseServicePlacementHealthReporting": {
+ "post": {
+ "operationId": "ToggleVerboseServicePlacementHealthReporting",
+ "summary": "Changes the verbosity of service placement health reporting.",
+ "description": "If verbosity is set to true, then detailed health reports will be generated when replicas cannot be placed or dropped.\nIf verbosity is set to false, then no health reports will be generated when replicas cannot be placed or dropped.",
+ "tags": [
+ "Cluster"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/VerboseServicePlacementHealthReportingParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the verbosity of service placement health reporting was updated."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes": {
+ "get": {
+ "summary": "Gets the list of nodes in the Service Fabric cluster.",
+ "description": "The response includes the name, status, ID, health, uptime, and other details about the nodes.",
+ "operationId": "GetNodeInfoList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-3_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeStatusFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Node"
+ ],
+ "x-ms-examples": {
+ "Get information about all nodes": {
+ "$ref": "./examples/GetNodeInfoList.json"
+ },
+ "Limit maximum results": {
+ "$ref": "./examples/GetNodeInfoList-1.json"
+ },
+ "Page using continuation token": {
+ "$ref": "./examples/GetNodeInfoList-2.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of nodes in the cluster.",
+ "schema": {
+ "$ref": "#/definitions/PagedNodeInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}": {
+ "get": {
+ "summary": "Gets the information about a specific node in the Service Fabric cluster.",
+ "description": "The response includes the name, status, ID, health, uptime, and other details about the node.",
+ "operationId": "GetNodeInfo",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Node"
+ ],
+ "x-ms-examples": {
+ "Get a specific node by node name": {
+ "$ref": "./examples/GetNodeInfo-1.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "A successful operation will return information about the node with the specified nodeName.",
+ "schema": {
+ "$ref": "#/definitions/NodeInfo"
+ }
+ },
+ "204": {
+ "description": "An empty response is returned if the specified nodeName is not found."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetHealth": {
+ "get": {
+ "operationId": "GetNodeHealth",
+ "summary": "Gets the health of a Service Fabric node.",
+ "description": "Gets the health of a Service Fabric node. Use EventsHealthStateFilter to filter the collection of health events reported on the node based on the health state. If the node that you specify by name does not exist in the health store, this returns an error.",
+ "tags": [
+ "Node"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested node health information.",
+ "schema": {
+ "$ref": "#/definitions/NodeHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "post": {
+ "operationId": "GetNodeHealthUsingPolicy",
+ "summary": "Gets the health of a Service Fabric node, by using the specified health policy.",
+ "description": "Gets the health of a Service Fabric node. Use EventsHealthStateFilter to filter the collection of health events reported on the node based on the health state. Use ClusterHealthPolicy in the POST body to override the health policies used to evaluate the health. If the node that you specify by name does not exist in the health store, this returns an error.",
+ "tags": [
+ "Node"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ClusterHealthPolicyOptionalBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested node health information.",
+ "schema": {
+ "$ref": "#/definitions/NodeHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/ReportHealth": {
+ "post": {
+ "operationId": "ReportNodeHealth",
+ "summary": "Sends a health report on the Service Fabric node.",
+ "description": "Reports health state of the specified Service Fabric node. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway node, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, run GetNodeHealth and check that the report appears in the HealthEvents section.",
+ "tags": [
+ "Node"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/HealthInformationRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ImmediateOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetLoadInformation": {
+ "get": {
+ "operationId": "GetNodeLoadInfo",
+ "summary": "Gets the load information of a Service Fabric node.",
+ "description": "Retrieves the load information of a Service Fabric node for all the metrics that have load or capacity defined.",
+ "tags": [
+ "Node"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested node load information.",
+ "schema": {
+ "$ref": "#/definitions/NodeLoadInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/Deactivate": {
+ "post": {
+ "operationId": "DisableNode",
+ "summary": "Deactivate a Service Fabric cluster node with the specified deactivation intent.",
+ "description": "Deactivate a Service Fabric cluster node with the specified deactivation intent. Once the deactivation is in progress, the deactivation intent can be increased, but not decreased (for example, a node that is deactivated with the Pause intent can be deactivated further with Restart, but not the other way around. Nodes may be reactivated using the Activate a node operation any time after they are deactivated. If the deactivation is not complete, this will cancel the deactivation. A node that goes down and comes back up while deactivated will still need to be reactivated before services will be placed on that node.",
+ "tags": [
+ "Node"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/DeactivationIntentDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/Activate": {
+ "post": {
+ "operationId": "EnableNode",
+ "summary": "Activate a Service Fabric cluster node that is currently deactivated.",
+ "description": "Activates a Service Fabric cluster node that is currently deactivated. Once activated, the node will again become a viable target for placing new replicas, and any deactivated replicas remaining on the node will be reactivated.",
+ "tags": [
+ "Node"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/RemoveNodeState": {
+ "post": {
+ "operationId": "RemoveNodeState",
+ "summary": "Notifies Service Fabric that the persisted state on a node has been permanently removed or lost.",
+ "description": "This implies that it is not possible to recover the persisted state of that node. This generally happens if a hard disk has been wiped clean, or if a hard disk crashes. The node has to be down for this operation to be successful. This operation lets Service Fabric know that the replicas on that node no longer exist, and that Service Fabric should stop waiting for those replicas to come back up. Do not run this cmdlet if the state on the node has not been removed and the node can come back up with its state intact. Starting from Service Fabric 6.5, in order to use this API for seed nodes, please change the seed nodes to regular (non-seed) nodes and then invoke this API to remove the node state. If the cluster is running on Azure, after the seed node goes down, Service Fabric will try to change it to a non-seed node automatically. To make this happen, make sure the number of non-seed nodes in the primary node type is no less than the number of Down seed nodes. If necessary, add more nodes to the primary node type to achieve this. For standalone cluster, if the Down seed node is not expected to come back up with its state intact, please remove the node from the cluster, see https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-windows-server-add-remove-nodes",
+ "tags": [
+ "Node"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/Restart": {
+ "post": {
+ "operationId": "RestartNode",
+ "summary": "Restarts a Service Fabric cluster node.",
+ "description": "Restarts a Service Fabric cluster node that is already started.",
+ "tags": [
+ "Node"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/RestartNodeDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code. A successful operation means that the restart command was received by the node and it is in the process of restarting. Check the status of the node by calling GetNode operation."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/RemoveConfigurationOverrides": {
+ "delete": {
+ "operationId": "RemoveConfigurationOverrides",
+ "summary": "Removes configuration overrides on the specified node.",
+ "description": "This api allows removing all existing configuration overrides on specified node.",
+ "tags": [
+ "Node"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_7-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetConfigurationOverrides": {
+ "get": {
+ "operationId": "GetConfigurationOverrides",
+ "summary": "Gets the list of configuration overrides on the specified node.",
+ "description": "This api allows getting all existing configuration overrides on the specified node.",
+ "tags": [
+ "Node"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_7-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of configuration overrides on the node.",
+ "schema": {
+ "$ref": "#/definitions/ConfigParameterOverrideList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/AddConfigurationParameterOverrides": {
+ "post": {
+ "operationId": "AddConfigurationParameterOverrides",
+ "summary": "Adds the list of configuration overrides on the specified node.",
+ "description": "This api allows adding all existing configuration overrides on the specified node.",
+ "tags": [
+ "Node"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_7-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ConfigurationOverrideListRequiredParam"
+ },
+ {
+ "$ref": "#/parameters/ForceConfigurationOverrideOptionalParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ApplicationTypes": {
+ "get": {
+ "summary": "Gets the list of application types in the Service Fabric cluster.",
+ "description": "Returns the information about the application types that are provisioned or in the process of being provisioned in the Service Fabric cluster. Each version of an application type is returned as one application type. The response includes the name, version, status, and other details about the application type. This is a paged query, meaning that if not all of the application types fit in a page, one page of results is returned as well as a continuation token, which can be used to get the next page. For example, if there are 10 application types but a page only fits the first three application types, or if max results is set to 3, then three is returned. To access the rest of the results, retrieve subsequent pages by using the returned continuation token in the next query. An empty continuation token is returned if there are no subsequent pages.",
+ "operationId": "GetApplicationTypeInfoList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationTypeDefinitionKindFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeApplicationParametersOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "x-ms-examples": {
+ "Limit maximum results": {
+ "$ref": "./examples/GetApplicationTypeInfoList-1.json"
+ },
+ "Page using continuation token": {
+ "$ref": "./examples/GetApplicationTypeInfoList-2.json"
+ },
+ "Exclude application parameters from the result": {
+ "$ref": "./examples/GetApplicationTypeInfoList-3.json"
+ }
+ },
+ "tags": [
+ "ApplicationType"
+ ],
+ "responses": {
+ "200": {
+ "description": "List of application types in the cluster.",
+ "schema": {
+ "$ref": "#/definitions/PagedApplicationTypeInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ApplicationTypes/{applicationTypeName}": {
+ "get": {
+ "summary": "Gets the list of application types in the Service Fabric cluster matching exactly the specified name.",
+ "description": "Returns the information about the application types that are provisioned or in the process of being provisioned in the Service Fabric cluster. These results are of application types whose name match exactly the one specified as the parameter, and which comply with the given query parameters. All versions of the application type matching the application type name are returned, with each version returned as one application type. The response includes the name, version, status, and other details about the application type. This is a paged query, meaning that if not all of the application types fit in a page, one page of results is returned as well as a continuation token, which can be used to get the next page. For example, if there are 10 application types but a page only fits the first three application types, or if max results is set to 3, then three is returned. To access the rest of the results, retrieve subsequent pages by using the returned continuation token in the next query. An empty continuation token is returned if there are no subsequent pages.",
+ "operationId": "GetApplicationTypeInfoListByName",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationTypeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationTypeVersionOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeApplicationParametersOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ApplicationType"
+ ],
+ "responses": {
+ "200": {
+ "description": "List of application types in the cluster.",
+ "schema": {
+ "$ref": "#/definitions/PagedApplicationTypeInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ApplicationTypes/$/Provision": {
+ "post": {
+ "operationId": "ProvisionApplicationType",
+ "summary": "Provisions or registers a Service Fabric application type with the cluster using the '.sfpkg' package in the external store or using the application package in the image store.",
+ "description": "Provisions a Service Fabric application type with the cluster. The provision is required before any new applications can be instantiated.\nThe provision operation can be performed either on the application package specified by the relativePathInImageStore, or by using the URI of the external '.sfpkg'.",
+ "tags": [
+ "ApplicationType"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ProvisionApplicationTypeDescriptionBaseRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful provision will return 200 status code."
+ },
+ "202": {
+ "description": "A 202 status code indicates the operation was accepted and the provision operation has been initiated."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ApplicationTypes/{applicationTypeName}/$/Unprovision": {
+ "post": {
+ "operationId": "UnprovisionApplicationType",
+ "summary": "Removes or unregisters a Service Fabric application type from the cluster.",
+ "description": "This operation can only be performed if all application instances of the application type have been deleted. Once the application type is unregistered, no new application instances can be created for this particular application type.",
+ "tags": [
+ "ApplicationType"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationTypeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/UnprovisionApplicationTypeRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful provision will return 200 status code."
+ },
+ "202": {
+ "description": "A 202 status code indicates the operation was accepted."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ApplicationTypes/{applicationTypeName}/$/GetServiceTypes": {
+ "get": {
+ "summary": "Gets the list containing the information about service types that are supported by a provisioned application type in a Service Fabric cluster.",
+ "description": "Gets the list containing the information about service types that are supported by a provisioned application type in a Service Fabric cluster. The provided application type must exist. Otherwise, a 404 status is returned.",
+ "operationId": "GetServiceTypeInfoList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationTypeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationTypeVersionRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ServiceType"
+ ],
+ "x-ms-examples": {
+ "Get information about all nodes.": {
+ "$ref": "./examples/GetServiceTypeInfoList-1.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of service types that are supported by a provisioned application type.",
+ "schema": {
+ "$ref": "#/definitions/ServiceTypeInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ApplicationTypes/{applicationTypeName}/$/GetServiceTypes/{serviceTypeName}": {
+ "get": {
+ "summary": "Gets the information about a specific service type that is supported by a provisioned application type in a Service Fabric cluster.",
+ "description": "Gets the information about a specific service type that is supported by a provisioned application type in a Service Fabric cluster. The provided application type must exist. Otherwise, a 404 status is returned. A 204 response is returned if the specified service type is not found in the cluster.",
+ "operationId": "GetServiceTypeInfoByName",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationTypeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationTypeVersionRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceTypeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ServiceType"
+ ],
+ "x-ms-examples": {
+ "Get information about all nodes.": {
+ "$ref": "./examples/GetServiceTypeInfoByName-1.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "A specific service type which supported by a provisioned application type.",
+ "schema": {
+ "$ref": "#/definitions/ServiceTypeInfo"
+ }
+ },
+ "204": {
+ "description": "A 204 response is returned if the specified service type is not found in the cluster."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ApplicationTypes/{applicationTypeName}/$/GetServiceManifest": {
+ "get": {
+ "summary": "Gets the manifest describing a service type.",
+ "description": "Gets the manifest describing a service type. The response contains the service manifest XML as a string.",
+ "operationId": "GetServiceManifest",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationTypeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationTypeVersionRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceManifestNameRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ServiceType"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the service type.",
+ "schema": {
+ "$ref": "#/definitions/ServiceTypeManifest"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServiceTypes": {
+ "get": {
+ "summary": "Gets the list containing the information about service types from the applications deployed on a node in a Service Fabric cluster.",
+ "description": "Gets the list containing the information about service types from the applications deployed on a node in a Service Fabric cluster. The response includes the name of the service type, its registration status, the code package that registered it and activation ID of the service package.",
+ "operationId": "GetDeployedServiceTypeInfoList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/DeployedServiceType_ServiceManifestNameOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ServiceType"
+ ],
+ "responses": {
+ "200": {
+ "description": "List of information about service types of an application deployed on a node.",
+ "schema": {
+ "$ref": "#/definitions/DeployedServiceTypeInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServiceTypes/{serviceTypeName}": {
+ "get": {
+ "summary": "Gets the information about a specified service type of the application deployed on a node in a Service Fabric cluster.",
+ "description": "Gets the list containing the information about a specific service type from the applications deployed on a node in a Service Fabric cluster. The response includes the name of the service type, its registration status, the code package that registered it and activation ID of the service package. Each entry represents one activation of a service type, differentiated by the activation ID.",
+ "operationId": "GetDeployedServiceTypeInfoByName",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceTypeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/DeployedServiceType_ServiceManifestNameOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ServiceType"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about service types of an application deployed on a node.",
+ "schema": {
+ "$ref": "#/definitions/DeployedServiceTypeInfoList"
+ }
+ },
+ "204": {
+ "description": "An empty response is returned if the specified service type of the application is not deployed on the node."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/$/Create": {
+ "post": {
+ "summary": "Creates a Service Fabric application.",
+ "description": "Creates a Service Fabric application using the specified description.",
+ "operationId": "CreateApplication",
+ "x-ms-examples": {
+ "Create application.": {
+ "$ref": "./examples/CreateApplication-1.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Application"
+ ],
+ "responses": {
+ "201": {
+ "description": "A successful response means that the application creation has been started. Use GetApplication operation to get the status of the application. Once GetApplicationInfo successfully returns application information, the application is created. If the application has default services those may be in the process of being created. Use GetServiceInfo operation to get the status of the service within the application."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/Delete": {
+ "post": {
+ "summary": "Deletes an existing Service Fabric application.",
+ "description": "An application must be created before it can be deleted. Deleting an application will delete all services that are part of that application. By default, Service Fabric will try to close service replicas in a graceful manner and then delete the service. However, if a service is having issues closing the replica gracefully, the delete operation may take a long time or get stuck. Use the optional ForceRemove flag to skip the graceful close sequence and forcefully delete the application and all of its services.",
+ "operationId": "DeleteApplication",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ForceRemoveOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Application"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/GetLoadInformation": {
+ "get": {
+ "summary": "Gets load information about a Service Fabric application.",
+ "description": "Returns the load information about the application that was created or in the process of being created in the Service Fabric cluster and whose name matches the one specified as the parameter. The response includes the name, minimum nodes, maximum nodes, the number of nodes the application is occupying currently, and application load metric information about the application.",
+ "operationId": "GetApplicationLoadInfo",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Application"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the application load.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationLoadInfo"
+ }
+ },
+ "204": {
+ "description": "An empty response is returned if the specified applicationId is not found in the cluster."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications": {
+ "get": {
+ "summary": "Gets the list of applications created in the Service Fabric cluster that match the specified filters.",
+ "description": "Gets the information about the applications that were created or in the process of being created in the Service Fabric cluster and match the specified filters. The response includes the name, type, status, parameters, and other details about the application. If the applications do not fit in a page, one page of results is returned as well as a continuation token, which can be used to get the next page. Filters ApplicationTypeName and ApplicationDefinitionKindFilter cannot be specified at the same time.",
+ "operationId": "GetApplicationInfoList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-1_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationDefinitionKindFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationTypeNameOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeApplicationParametersOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Application"
+ ],
+ "x-ms-examples": {
+ "Limit maximum results": {
+ "$ref": "./examples/GetApplicationInfoList-1.json"
+ },
+ "Page using continuation token": {
+ "$ref": "./examples/GetApplicationInfoList-2.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of applications created in the cluster.",
+ "schema": {
+ "$ref": "#/definitions/PagedApplicationInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}": {
+ "get": {
+ "summary": "Gets information about a Service Fabric application.",
+ "description": "Returns the information about the application that was created or in the process of being created in the Service Fabric cluster and whose name matches the one specified as the parameter. The response includes the name, type, status, parameters, and other details about the application.",
+ "operationId": "GetApplicationInfo",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeApplicationParametersOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Application"
+ ],
+ "x-ms-examples": {
+ "Get a specific application by application id": {
+ "$ref": "./examples/GetApplicationInfoByName-1.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Information about the application.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationInfo"
+ }
+ },
+ "204": {
+ "description": "An empty response is returned if the specified applicationId is not found in the cluster."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/GetHealth": {
+ "get": {
+ "summary": "Gets the health of the service fabric application.",
+ "description": "Returns the heath state of the service fabric application. The response reports either Ok, Error or Warning health state. If the entity is not found in the health store, it will return Error.",
+ "operationId": "GetApplicationHealth",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/DeployedApplicationsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServicesHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Application"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested application health information.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "post": {
+ "operationId": "GetApplicationHealthUsingPolicy",
+ "summary": "Gets the health of a Service Fabric application using the specified policy.",
+ "description": "Gets the health of a Service Fabric application. Use EventsHealthStateFilter to filter the collection of health events reported on the node based on the health state. Use ClusterHealthPolicies to override the health policies used to evaluate the health.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/DeployedApplicationsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServicesHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationHealthPolicyOptionalBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Application"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested node health information.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/ReportHealth": {
+ "post": {
+ "operationId": "ReportApplicationHealth",
+ "summary": "Sends a health report on the Service Fabric application.",
+ "description": "Reports health state of the specified Service Fabric application. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway Application, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, get application health and check that the report appears in the HealthEvents section.",
+ "tags": [
+ "Application"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/HealthInformationRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ImmediateOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/Upgrade": {
+ "post": {
+ "summary": "Starts upgrading an application in the Service Fabric cluster.",
+ "description": "Validates the supplied application upgrade parameters and starts upgrading the application if the parameters are valid.",
+ "operationId": "StartApplicationUpgrade",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationUpgradeDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Application"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the application upgrade has started. Use GetApplicationUpgrade operation to get the status of the upgrade."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/GetUpgradeProgress": {
+ "get": {
+ "summary": "Gets details for the latest upgrade performed on this application.",
+ "description": "Returns information about the state of the latest application upgrade along with details to aid debugging application health issues.",
+ "operationId": "GetApplicationUpgrade",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Application"
+ ],
+ "responses": {
+ "200": {
+ "description": "The application upgrade details.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationUpgradeProgressInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/UpdateUpgrade": {
+ "post": {
+ "summary": "Updates an ongoing application upgrade in the Service Fabric cluster.",
+ "description": "Updates the parameters of an ongoing application upgrade from the ones specified at the time of starting the application upgrade. This may be required to mitigate stuck application upgrades due to incorrect parameters or issues in the application to make progress.",
+ "operationId": "UpdateApplicationUpgrade",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationUpgradeUpdateDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Application"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the application upgrade has updated with the specified parameters. Use GetApplicationUpgrade operation to get the status of the upgrade."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/MoveToNextUpgradeDomain": {
+ "post": {
+ "summary": "Resumes upgrading an application in the Service Fabric cluster.",
+ "description": "Resumes an unmonitored manual Service Fabric application upgrade. Service Fabric upgrades one upgrade domain at a time. For unmonitored manual upgrades, after Service Fabric finishes an upgrade domain, it waits for you to call this API before proceeding to the next upgrade domain.",
+ "operationId": "ResumeApplicationUpgrade",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ResumeApplicationUpgradeDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Application"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the application upgrade has been resumed in the specified upgrade domain. Use GetApplicationUpgrade operation to get the status of the upgrade."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/RollbackUpgrade": {
+ "post": {
+ "summary": "Starts rolling back the currently on-going upgrade of an application in the Service Fabric cluster.",
+ "description": "Starts rolling back the current application upgrade to the previous version. This API can only be used to roll back the current in-progress upgrade that is rolling forward to new version. If the application is not currently being upgraded use StartApplicationUpgrade API to upgrade it to desired version, including rolling back to a previous version.",
+ "operationId": "RollbackApplicationUpgrade",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Application"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the application has started to roll back. Use GetApplicationUpgrade operation to get the status of the upgrade."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications": {
+ "get": {
+ "operationId": "GetDeployedApplicationInfoList",
+ "summary": "Gets the list of applications deployed on a Service Fabric node.",
+ "description": "Gets the list of applications deployed on a Service Fabric node. The results do not include information about deployed system applications unless explicitly queried for by ID. Results encompass deployed applications in active, activating, and downloading states. This query requires that the node name corresponds to a node on the cluster. The query fails if the provided node name does not point to any active Service Fabric nodes on the cluster.",
+ "tags": [
+ "Application"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-1_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/IncludeHealthStateOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ }
+ ],
+ "x-ms-examples": {
+ "Limit maximum results": {
+ "$ref": "./examples/GetDeployedApplicationInfoList-1.json"
+ },
+ "Page using continuation token": {
+ "$ref": "./examples/GetDeployedApplicationInfoList-2.json"
+ },
+ "Include health state in the result": {
+ "$ref": "./examples/GetDeployedApplicationInfoList-3.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the list of deployed application information.",
+ "schema": {
+ "$ref": "#/definitions/PagedDeployedApplicationInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}": {
+ "get": {
+ "operationId": "GetDeployedApplicationInfo",
+ "summary": "Gets the information about an application deployed on a Service Fabric node.",
+ "description": "This query returns system application information if the application ID provided is for system application. Results encompass deployed applications in active, activating, and downloading states. This query requires that the node name corresponds to a node on the cluster. The query fails if the provided node name does not point to any active Service Fabric nodes on the cluster.",
+ "tags": [
+ "Application"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-1_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/IncludeHealthStateOptionalQueryParam"
+ }
+ ],
+ "x-ms-examples": {
+ "Get a specific deployed application by application ID and include the health state in the result": {
+ "$ref": "./examples/GetDeployedApplicationInfoByName-1.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the information about the deployed application.",
+ "schema": {
+ "$ref": "#/definitions/DeployedApplicationInfo"
+ }
+ },
+ "204": {
+ "description": "An empty response is returned if the specified application is not deployed on the node."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetHealth": {
+ "get": {
+ "operationId": "GetDeployedApplicationHealth",
+ "summary": "Gets the information about health of an application deployed on a Service Fabric node.",
+ "description": "Gets the information about health of an application deployed on a Service Fabric node. Use EventsHealthStateFilter to optionally filter for the collection of HealthEvent objects reported on the deployed application based on health state. Use DeployedServicePackagesHealthStateFilter to optionally filter for DeployedServicePackageHealth children based on health state.",
+ "tags": [
+ "Application"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/DeployedServicePackagesHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the health information of the deployed application.",
+ "schema": {
+ "$ref": "#/definitions/DeployedApplicationHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "post": {
+ "operationId": "GetDeployedApplicationHealthUsingPolicy",
+ "summary": "Gets the information about health of an application deployed on a Service Fabric node. using the specified policy.",
+ "description": "Gets the information about health of an application deployed on a Service Fabric node using the specified policy. Use EventsHealthStateFilter to optionally filter for the collection of HealthEvent objects reported on the deployed application based on health state. Use DeployedServicePackagesHealthStateFilter to optionally filter for DeployedServicePackageHealth children based on health state. Use ApplicationHealthPolicy to optionally override the health policies used to evaluate the health. This API only uses 'ConsiderWarningAsError' field of the ApplicationHealthPolicy. The rest of the fields are ignored while evaluating the health of the deployed application.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/DeployedServicePackagesHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationHealthPolicyOptionalBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Application"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the health information of the deployed application.",
+ "schema": {
+ "$ref": "#/definitions/DeployedApplicationHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/ReportHealth": {
+ "post": {
+ "operationId": "ReportDeployedApplicationHealth",
+ "summary": "Sends a health report on the Service Fabric application deployed on a Service Fabric node.",
+ "description": "Reports health state of the application deployed on a Service Fabric node. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway Service, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, get deployed application health and check that the report appears in the HealthEvents section.",
+ "tags": [
+ "Application"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/HealthInformationRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ImmediateOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ApplicationTypes/{applicationTypeName}/$/GetApplicationManifest": {
+ "get": {
+ "summary": "Gets the manifest describing an application type.",
+ "description": "The response contains the application manifest XML as a string.",
+ "operationId": "GetApplicationManifest",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationTypeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationTypeVersionRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ApplicationType"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the node.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationTypeManifest"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/GetServices": {
+ "get": {
+ "summary": "Gets the information about all services belonging to the application specified by the application ID.",
+ "description": "Returns the information about all services belonging to the application specified by the application ID.",
+ "operationId": "GetServiceInfoList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceTypeNameOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Service"
+ ],
+ "responses": {
+ "200": {
+ "description": "List of services in the cluster for the specified application.",
+ "schema": {
+ "$ref": "#/definitions/PagedServiceInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/GetServices/{serviceId}": {
+ "get": {
+ "summary": "Gets the information about the specific service belonging to the Service Fabric application.",
+ "description": "Returns the information about the specified service belonging to the specified Service Fabric application.",
+ "operationId": "GetServiceInfo",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Service"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the specified service.",
+ "schema": {
+ "$ref": "#/definitions/ServiceInfo"
+ }
+ },
+ "204": {
+ "description": "An empty response is returned if the specified service is not part of the specified application."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/GetApplicationName": {
+ "get": {
+ "summary": "Gets the name of the Service Fabric application for a service.",
+ "description": "Gets the name of the application for the specified service. A 404 FABRIC_E_SERVICE_DOES_NOT_EXIST error is returned if a service with the provided service ID does not exist.",
+ "operationId": "GetApplicationNameInfo",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Service"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the name of the application for the specified service.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationNameInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/GetServices/$/Create": {
+ "post": {
+ "operationId": "CreateService",
+ "summary": "Creates the specified Service Fabric service.",
+ "description": "This api allows creating a new Service Fabric stateless or stateful service under a specified Service Fabric application. The description for creating the service includes partitioning information and optional properties for placement and load balancing. Some of the properties can later be modified using `UpdateService` API.",
+ "x-ms-examples": {
+ "Basic stateless service": {
+ "$ref": "./examples/CreateService-1.json"
+ },
+ "Basic stateful service": {
+ "$ref": "./examples/CreateService-2.json"
+ },
+ "Stateless service with dns name and auto scaling": {
+ "$ref": "./examples/CreateService-3.json"
+ },
+ "Stateful service with named partitions and auto scaling": {
+ "$ref": "./examples/CreateService-4.json"
+ }
+ },
+ "tags": [
+ "Service"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful operation will return 202 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/GetServices/$/CreateFromTemplate": {
+ "post": {
+ "summary": "Creates a Service Fabric service from the service template.",
+ "description": "Creates a Service Fabric service from the service template defined in the application manifest. A service template contains the properties that will be same for the service instance of the same type. The API allows overriding the properties that are usually different for different services of the same service type.",
+ "operationId": "CreateServiceFromTemplate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/CreateServiceFromTemplateRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Service"
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful operation will return 202 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/Delete": {
+ "post": {
+ "summary": "Deletes an existing Service Fabric service.",
+ "description": "A service must be created before it can be deleted. By default, Service Fabric will try to close service replicas in a graceful manner and then delete the service. However, if the service is having issues closing the replica gracefully, the delete operation may take a long time or get stuck. Use the optional ForceRemove flag to skip the graceful close sequence and forcefully delete the service.",
+ "operationId": "DeleteService",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ForceRemoveOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Service"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/Update": {
+ "post": {
+ "operationId": "UpdateService",
+ "summary": "Updates a Service Fabric service using the specified update description.",
+ "description": "This API allows updating properties of a running Service Fabric service. The set of properties that can be updated are a subset of the properties that were specified at the time of creating the service. The current set of properties can be obtained using `GetServiceDescription` API. Note that updating the properties of a running service is different than upgrading your application using `StartApplicationUpgrade` API. The upgrade is a long running background operation that involves moving the application from one version to another, one upgrade domain at a time, whereas update applies the new properties immediately to the service.",
+ "x-ms-examples": {
+ "Stateless service": {
+ "$ref": "./examples/UpdateService-1.json"
+ },
+ "Stateful service": {
+ "$ref": "./examples/UpdateService-2.json"
+ }
+ },
+ "tags": [
+ "Service"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceUpdateDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 202 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/GetDescription": {
+ "get": {
+ "summary": "Gets the description of an existing Service Fabric service.",
+ "description": "Gets the description of an existing Service Fabric service. A service must be created before its description can be obtained.",
+ "operationId": "GetServiceDescription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Service"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code.",
+ "schema": {
+ "$ref": "#/definitions/ServiceDescription"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/GetHealth": {
+ "get": {
+ "summary": "Gets the health of the specified Service Fabric service.",
+ "description": "Gets the health information of the specified service.\nUse EventsHealthStateFilter to filter the collection of health events reported on the service based on the health state.\nUse PartitionsHealthStateFilter to filter the collection of partitions returned.\nIf you specify a service that does not exist in the health store, this request returns an error.",
+ "operationId": "GetServiceHealth",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Service"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the health information of the specified service.",
+ "schema": {
+ "$ref": "#/definitions/ServiceHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "post": {
+ "summary": "Gets the health of the specified Service Fabric service, by using the specified health policy.",
+ "description": "Gets the health information of the specified service.\nIf the application health policy is specified, the health evaluation uses it to get the aggregated health state.\nIf the policy is not specified, the health evaluation uses the application health policy defined in the application manifest, or the default health policy, if no policy is defined in the manifest.\nUse EventsHealthStateFilter to filter the collection of health events reported on the service based on the health state.\nUse PartitionsHealthStateFilter to filter the collection of partitions returned.\nIf you specify a service that does not exist in the health store, this request returns an error.",
+ "operationId": "GetServiceHealthUsingPolicy",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationHealthPolicyOptionalBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Service"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the health information of the specified service.",
+ "schema": {
+ "$ref": "#/definitions/ServiceHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/ReportHealth": {
+ "post": {
+ "operationId": "ReportServiceHealth",
+ "summary": "Sends a health report on the Service Fabric service.",
+ "description": "Reports health state of the specified Service Fabric service. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway Service, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, run GetServiceHealth and check that the report appears in the HealthEvents section.",
+ "tags": [
+ "Service"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/HealthInformationRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ImmediateOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/ResolvePartition": {
+ "get": {
+ "operationId": "ResolveService",
+ "summary": "Resolve a Service Fabric partition.",
+ "description": "Resolve a Service Fabric service partition to get the endpoints of the service replicas.",
+ "tags": [
+ "Service"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionKeyTypeOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionKeyValueOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PreviousRspVersionOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code.",
+ "schema": {
+ "$ref": "#/definitions/ResolvedServicePartition"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/GetUnplacedReplicaInformation": {
+ "get": {
+ "summary": "Gets the information about unplaced replica of the service.",
+ "description": "Returns the information about the unplaced replicas of the service.\nIf PartitionId is specified, then result will contain information only about unplaced replicas for that partition.\nIf PartitionId is not specified, then result will contain information about unplaced replicas for all partitions of that service.\nIf OnlyQueryPrimaries is set to true, then result will contain information only about primary replicas, and will ignore unplaced secondary replicas.",
+ "operationId": "GetUnplacedReplicaInformation",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/OnlyQueryPrimariesOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Service"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the specified service.",
+ "schema": {
+ "$ref": "#/definitions/UnplacedReplicaInformation"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/GetPartitions": {
+ "get": {
+ "summary": "Gets the list of partitions of a Service Fabric service.",
+ "description": "The response includes the partition ID, partitioning scheme information, keys supported by the partition, status, health, and other details about the partition.",
+ "operationId": "GetPartitionInfoList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Partition"
+ ],
+ "responses": {
+ "200": {
+ "description": "List of partitions of a Service Fabric service.",
+ "schema": {
+ "$ref": "#/definitions/PagedServicePartitionInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}": {
+ "get": {
+ "summary": "Gets the information about a Service Fabric partition.",
+ "description": "Gets the information about the specified partition. The response includes the partition ID, partitioning scheme information, keys supported by the partition, status, health, and other details about the partition.",
+ "operationId": "GetPartitionInfo",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Partition"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the specified partition.",
+ "schema": {
+ "$ref": "#/definitions/ServicePartitionInfo"
+ }
+ },
+ "204": {
+ "description": "An empty response is returned if the specified partitionId is not found in the cluster."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/GetServiceName": {
+ "get": {
+ "summary": "Gets the name of the Service Fabric service for a partition.",
+ "description": "Gets name of the service for the specified partition. A 404 error is returned if the partition ID does not exist in the cluster.",
+ "operationId": "GetServiceNameInfo",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Partition"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the name of the service for the specified partition.",
+ "schema": {
+ "$ref": "#/definitions/ServiceNameInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/GetHealth": {
+ "get": {
+ "summary": "Gets the health of the specified Service Fabric partition.",
+ "description": "Use EventsHealthStateFilter to filter the collection of health events reported on the service based on the health state.\nUse ReplicasHealthStateFilter to filter the collection of ReplicaHealthState objects on the partition.\nIf you specify a partition that does not exist in the health store, this request returns an error.",
+ "operationId": "GetPartitionHealth",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ReplicasHealthStateFilerOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Partition"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the health information about the specified partition.",
+ "schema": {
+ "$ref": "#/definitions/PartitionHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "post": {
+ "summary": "Gets the health of the specified Service Fabric partition, by using the specified health policy.",
+ "description": "Gets the health information of the specified partition.\nIf the application health policy is specified, the health evaluation uses it to get the aggregated health state.\nIf the policy is not specified, the health evaluation uses the application health policy defined in the application manifest, or the default health policy, if no policy is defined in the manifest.\nUse EventsHealthStateFilter to filter the collection of health events reported on the partition based on the health state.\nUse ReplicasHealthStateFilter to filter the collection of ReplicaHealthState objects on the partition. Use ApplicationHealthPolicy in the POST body to override the health policies used to evaluate the health.\nIf you specify a partition that does not exist in the health store, this request returns an error.",
+ "operationId": "GetPartitionHealthUsingPolicy",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ReplicasHealthStateFilerOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationHealthPolicyOptionalBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Partition"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the health information about the specified partition.",
+ "schema": {
+ "$ref": "#/definitions/PartitionHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/ReportHealth": {
+ "post": {
+ "operationId": "ReportPartitionHealth",
+ "summary": "Sends a health report on the Service Fabric partition.",
+ "description": "Reports health state of the specified Service Fabric partition. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway Partition, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, run GetPartitionHealth and check that the report appears in the HealthEvents section.",
+ "tags": [
+ "Partition"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/HealthInformationRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ImmediateOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/GetLoadInformation": {
+ "get": {
+ "summary": "Gets the load information of the specified Service Fabric partition.",
+ "description": "Returns information about the load of a specified partition.\nThe response includes a list of load reports for a Service Fabric partition.\nEach report includes the load metric name, value, and last reported time in UTC.",
+ "operationId": "GetPartitionLoadInformation",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Partition"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the specified partition's last reported load metrics.",
+ "schema": {
+ "$ref": "#/definitions/PartitionLoadInformation"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/ResetLoad": {
+ "post": {
+ "operationId": "ResetPartitionLoad",
+ "summary": "Resets the current load of a Service Fabric partition.",
+ "description": "Resets the current load of a Service Fabric partition to the default load for the service.",
+ "tags": [
+ "Partition"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation request will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/Recover": {
+ "post": {
+ "operationId": "RecoverPartition",
+ "summary": "Indicates to the Service Fabric cluster that it should attempt to recover a specific partition that is currently stuck in quorum loss.",
+ "description": "This operation should only be performed if it is known that the replicas that are down cannot be recovered. Incorrect use of this API can cause potential data loss.",
+ "tags": [
+ "Partition"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation request will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/$/{serviceId}/$/GetPartitions/$/Recover": {
+ "post": {
+ "operationId": "RecoverServicePartitions",
+ "summary": "Indicates to the Service Fabric cluster that it should attempt to recover the specified service that is currently stuck in quorum loss.",
+ "description": "Indicates to the Service Fabric cluster that it should attempt to recover the specified service that is currently stuck in quorum loss. This operation should only be performed if it is known that the replicas that are down cannot be recovered. Incorrect use of this API can cause potential data loss.",
+ "tags": [
+ "Partition"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation request will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/RecoverSystemPartitions": {
+ "post": {
+ "operationId": "RecoverSystemPartitions",
+ "summary": "Indicates to the Service Fabric cluster that it should attempt to recover the system services that are currently stuck in quorum loss.",
+ "description": "Indicates to the Service Fabric cluster that it should attempt to recover the system services that are currently stuck in quorum loss. This operation should only be performed if it is known that the replicas that are down cannot be recovered. Incorrect use of this API can cause potential data loss.",
+ "tags": [
+ "Partition"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation request will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/RecoverAllPartitions": {
+ "post": {
+ "operationId": "RecoverAllPartitions",
+ "summary": "Indicates to the Service Fabric cluster that it should attempt to recover any services (including system services) which are currently stuck in quorum loss.",
+ "description": "This operation should only be performed if it is known that the replicas that are down cannot be recovered. Incorrect use of this API can cause potential data loss.",
+ "tags": [
+ "Partition"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation request will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/MovePrimaryReplica": {
+ "post": {
+ "operationId": "MovePrimaryReplica",
+ "summary": "Moves the primary replica of a partition of a stateful service.",
+ "description": "This command moves the primary replica of a partition of a stateful service, respecting all constraints.\nIf NodeName parameter is specified, primary will be moved to the specified node (if constraints allow it).\nIf NodeName parameter is not specified, primary replica will be moved to a random node in the cluster.\nIf IgnoreConstraints parameter is specified and set to true, then primary will be moved regardless of the constraints.",
+ "tags": [
+ "Partition"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-5_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameOptionalParam"
+ },
+ {
+ "$ref": "#/parameters/IgnoreConstraintsOptionalParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation request will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/MoveSecondaryReplica": {
+ "post": {
+ "operationId": "MoveSecondaryReplica",
+ "summary": "Moves the secondary replica of a partition of a stateful service.",
+ "description": "This command moves the secondary replica of a partition of a stateful service, respecting all constraints.\nCurrentNodeName parameter must be specified to identify the replica that is moved.\nSource node name must be specified, but new node name can be omitted, and in that case replica is moved to a random node.\nIf IgnoreConstraints parameter is specified and set to true, then secondary will be moved regardless of the constraints.",
+ "tags": [
+ "Partition"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-5_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/CurrentNodeNameRequiredParam"
+ },
+ {
+ "$ref": "#/parameters/NewNodeNameOptionalParam"
+ },
+ {
+ "$ref": "#/parameters/IgnoreConstraintsOptionalParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation request will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/CreateRepairTask": {
+ "post": {
+ "operationId": "CreateRepairTask",
+ "summary": "Creates a new repair task.",
+ "description": "For clusters that have the Repair Manager Service configured,\nthis API provides a way to create repair tasks that run automatically or manually.\nFor repair tasks that run automatically, an appropriate repair executor\nmust be running for each repair action to run automatically.\nThese are currently only available in specially-configured Azure Cloud Services.\n\nTo create a manual repair task, provide the set of impacted node names and the\nexpected impact. When the state of the created repair task changes to approved,\nyou can safely perform repair actions on those nodes.\n\nThis API supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/RepairTaskRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "RepairManagement"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code.\nThe response body provides information about the created repair task.",
+ "schema": {
+ "$ref": "#/definitions/RepairTaskUpdateInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/CancelRepairTask": {
+ "post": {
+ "operationId": "CancelRepairTask",
+ "summary": "Requests the cancellation of the given repair task.",
+ "description": "This API supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/RepairTaskCancelDescriptionRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "RepairManagement"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code.\nThe response body provides information about the updated repair task.\nSuccess indicates that the cancellation request was recorded, but does not guarantee that the repair task will be cancelled.\nClients may use the State property of the repair task to determine the current state of the repair task.",
+ "schema": {
+ "$ref": "#/definitions/RepairTaskUpdateInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/DeleteRepairTask": {
+ "post": {
+ "operationId": "DeleteRepairTask",
+ "summary": "Deletes a completed repair task.",
+ "description": "This API supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/RepairTaskDeleteDescriptionRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "RepairManagement"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/GetRepairTaskList": {
+ "get": {
+ "operationId": "GetRepairTaskList",
+ "summary": "Gets a list of repair tasks matching the given filters.",
+ "description": "This API supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/RepairTaskIdFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/RepairTaskStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/RepairTaskExecutorFilterOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "RepairManagement"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code.\nThe response body provides a list of repair tasks matching all of the given filters.",
+ "schema": {
+ "$ref": "#/definitions/RepairTaskList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/ForceApproveRepairTask": {
+ "post": {
+ "operationId": "ForceApproveRepairTask",
+ "summary": "Forces the approval of the given repair task.",
+ "description": "This API supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/RepairTaskApproveDescriptionRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "RepairManagement"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code.\nThe response body provides information about the updated repair task.",
+ "schema": {
+ "$ref": "#/definitions/RepairTaskUpdateInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/UpdateRepairTaskHealthPolicy": {
+ "post": {
+ "operationId": "UpdateRepairTaskHealthPolicy",
+ "summary": "Updates the health policy of the given repair task.",
+ "description": "This API supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/RepairTaskUpdateHealthPolicyDescriptionRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "RepairManagement"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code.\nThe response body provides information about the updated repair task.",
+ "schema": {
+ "$ref": "#/definitions/RepairTaskUpdateInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/UpdateRepairExecutionState": {
+ "post": {
+ "operationId": "UpdateRepairExecutionState",
+ "summary": "Updates the execution state of a repair task.",
+ "description": "This API supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/RepairTaskRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "RepairManagement"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code.\nThe response body provides information about the updated repair task.",
+ "schema": {
+ "$ref": "#/definitions/RepairTaskUpdateInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/GetReplicas": {
+ "get": {
+ "summary": "Gets the information about replicas of a Service Fabric service partition.",
+ "description": "The GetReplicas endpoint returns information about the replicas of the specified partition. The response includes the ID, role, status, health, node name, uptime, and other details about the replica.",
+ "operationId": "GetReplicaInfoList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Replica"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the replicas of the specified partition.",
+ "schema": {
+ "$ref": "#/definitions/PagedReplicaInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/GetReplicas/{replicaId}": {
+ "get": {
+ "summary": "Gets the information about a replica of a Service Fabric partition.",
+ "description": "The response includes the ID, role, status, health, node name, uptime, and other details about the replica.",
+ "operationId": "GetReplicaInfo",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ReplicaIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Replica"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the specified replicas of the specified partition of a Service Fabric service.",
+ "schema": {
+ "$ref": "#/definitions/ReplicaInfo"
+ }
+ },
+ "204": {
+ "description": "An empty response is returned if the specified replicaId is not a replica of the specified partition."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetHealth": {
+ "get": {
+ "operationId": "GetReplicaHealth",
+ "summary": "Gets the health of a Service Fabric stateful service replica or stateless service instance.",
+ "description": "Gets the health of a Service Fabric replica.\nUse EventsHealthStateFilter to filter the collection of health events reported on the replica based on the health state.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ReplicaIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Replica"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested replica health.",
+ "schema": {
+ "$ref": "#/definitions/ReplicaHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "post": {
+ "operationId": "GetReplicaHealthUsingPolicy",
+ "summary": "Gets the health of a Service Fabric stateful service replica or stateless service instance using the specified policy.",
+ "description": "Gets the health of a Service Fabric stateful service replica or stateless service instance.\nUse EventsHealthStateFilter to filter the collection of health events reported on the cluster based on the health state.\nUse ApplicationHealthPolicy to optionally override the health policies used to evaluate the health. This API only uses 'ConsiderWarningAsError' field of the ApplicationHealthPolicy. The rest of the fields are ignored while evaluating the health of the replica.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ReplicaIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationHealthPolicyOptionalBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Replica"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested replica health information.",
+ "schema": {
+ "$ref": "#/definitions/ReplicaHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/ReportHealth": {
+ "post": {
+ "operationId": "ReportReplicaHealth",
+ "summary": "Sends a health report on the Service Fabric replica.",
+ "description": "Reports health state of the specified Service Fabric replica. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway Replica, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, run GetReplicaHealth and check that the report appears in the HealthEvents section.",
+ "tags": [
+ "Replica"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ReplicaIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ReplicaHealthReportServiceKindRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/HealthInformationRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ImmediateOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetReplicas": {
+ "get": {
+ "operationId": "GetDeployedServiceReplicaInfoList",
+ "summary": "Gets the list of replicas deployed on a Service Fabric node.",
+ "description": "Gets the list containing the information about replicas deployed on a Service Fabric node. The information include partition ID, replica ID, status of the replica, name of the service, name of the service type, and other information. Use PartitionId or ServiceManifestName query parameters to return information about the deployed replicas matching the specified values for those parameters.",
+ "tags": [
+ "Replica"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceManifestNameOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the list of deployed service replica information.",
+ "schema": {
+ "$ref": "#/definitions/DeployedServiceReplicaInfoList"
+ }
+ },
+ "204": {
+ "description": "An empty response is returned if the specified applicationId is not found on the specified node. An empty response is also returned if there are no replicas matching the specified filter values for PartitionId or ServiceManifestName query parameters."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetDetail": {
+ "get": {
+ "operationId": "GetDeployedServiceReplicaDetailInfo",
+ "summary": "Gets the details of replica deployed on a Service Fabric node.",
+ "description": "Gets the details of the replica deployed on a Service Fabric node. The information includes service kind, service name, current service operation, current service operation start date time, partition ID, replica/instance ID, reported load, and other information.",
+ "tags": [
+ "Replica"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ReplicaIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the list of deployed service replica information.",
+ "schema": {
+ "$ref": "#/definitions/DeployedServiceReplicaDetailInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas": {
+ "get": {
+ "operationId": "GetDeployedServiceReplicaDetailInfoByPartitionId",
+ "summary": "Gets the details of replica deployed on a Service Fabric node.",
+ "description": "Gets the details of the replica deployed on a Service Fabric node. The information includes service kind, service name, current service operation, current service operation start date time, partition ID, replica/instance ID, reported load, and other information.",
+ "tags": [
+ "Replica"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the list of deployed service replica information.",
+ "schema": {
+ "$ref": "#/definitions/DeployedServiceReplicaDetailInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/Restart": {
+ "post": {
+ "operationId": "RestartReplica",
+ "summary": "Restarts a service replica of a persisted service running on a node.",
+ "description": "Restarts a service replica of a persisted service running on a node. Warning - There are no safety checks performed when this API is used. Incorrect use of this API can lead to availability loss for stateful services.",
+ "tags": [
+ "Replica"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ReplicaIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code. A successful operation means that the restart command was received by the replica on the node and it is in the process of restarting."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/Delete": {
+ "post": {
+ "operationId": "RemoveReplica",
+ "summary": "Removes a service replica running on a node.",
+ "description": "This API simulates a Service Fabric replica failure by removing a replica from a Service Fabric cluster. The removal closes the replica, transitions the replica to the role None, and then removes all of the state information of the replica from the cluster. This API tests the replica state removal path, and simulates the report fault permanent path through client APIs. Warning - There are no safety checks performed when this API is used. Incorrect use of this API can lead to data loss for stateful services. In addition, the forceRemove flag impacts all other replicas hosted in the same process.",
+ "tags": [
+ "Replica"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ReplicaIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ForceRemoveReplicaOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code. A successful operation means that the restart command was received by the replica on the node and it is in the process of restarting."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages": {
+ "get": {
+ "operationId": "GetDeployedServicePackageInfoList",
+ "summary": "Gets the list of service packages deployed on a Service Fabric node.",
+ "description": "Returns the information about the service packages deployed on a Service Fabric node for the given application.",
+ "tags": [
+ "Service Package"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the list of deployed service packages information.",
+ "schema": {
+ "$ref": "#/definitions/DeployedServicePackageInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}": {
+ "get": {
+ "operationId": "GetDeployedServicePackageInfoListByName",
+ "summary": "Gets the list of service packages deployed on a Service Fabric node matching exactly the specified name.",
+ "description": "Returns the information about the service packages deployed on a Service Fabric node for the given application. These results are of service packages whose name match exactly the service package name specified as the parameter.",
+ "tags": [
+ "Service Package"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServicePackageNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the list of deployed service packages information.",
+ "schema": {
+ "$ref": "#/definitions/DeployedServicePackageInfoList"
+ }
+ },
+ "204": {
+ "description": "An empty response is returned if the specified service package from the application is not deployed on the node."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}/$/GetHealth": {
+ "get": {
+ "operationId": "GetDeployedServicePackageHealth",
+ "summary": "Gets the information about health of a service package for a specific application deployed for a Service Fabric node and application.",
+ "description": "Gets the information about health of a service package for a specific application deployed on a Service Fabric node. Use EventsHealthStateFilter to optionally filter for the collection of HealthEvent objects reported on the deployed service package based on health state.",
+ "tags": [
+ "Service Package"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServicePackageNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the health information of the deployed service package for a specific node and application.",
+ "schema": {
+ "$ref": "#/definitions/DeployedServicePackageHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "post": {
+ "operationId": "GetDeployedServicePackageHealthUsingPolicy",
+ "summary": "Gets the information about health of service package for a specific application deployed on a Service Fabric node using the specified policy.",
+ "description": "Gets the information about health of a service package for a specific application deployed on a Service Fabric node. using the specified policy. Use EventsHealthStateFilter to optionally filter for the collection of HealthEvent objects reported on the deployed service package based on health state. Use ApplicationHealthPolicy to optionally override the health policies used to evaluate the health. This API only uses 'ConsiderWarningAsError' field of the ApplicationHealthPolicy. The rest of the fields are ignored while evaluating the health of the deployed service package.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServicePackageNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationHealthPolicyOptionalBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Service Package"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the health information of the deployed service package for a specific node and application.",
+ "schema": {
+ "$ref": "#/definitions/DeployedServicePackageHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}/$/ReportHealth": {
+ "post": {
+ "operationId": "ReportDeployedServicePackageHealth",
+ "summary": "Sends a health report on the Service Fabric deployed service package.",
+ "description": "Reports health state of the service package of the application deployed on a Service Fabric node. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway Service, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, get deployed service package health and check that the report appears in the HealthEvents section.",
+ "tags": [
+ "Service Package"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServicePackageNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/HealthInformationRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ImmediateOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/DeployServicePackage": {
+ "post": {
+ "operationId": "DeployServicePackageToNode",
+ "summary": "Downloads all of the code packages associated with specified service manifest on the specified node.",
+ "description": "This API provides a way to download code packages including the container images on a specific node outside of the normal application deployment and upgrade path. This is useful for the large code packages and container images to be present on the node before the actual application deployment and upgrade, thus significantly reducing the total time required for the deployment or upgrade.",
+ "tags": [
+ "Service Package"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/DeployServicePackageToNodeRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages": {
+ "get": {
+ "operationId": "GetDeployedCodePackageInfoList",
+ "summary": "Gets the list of code packages deployed on a Service Fabric node.",
+ "description": "Gets the list of code packages deployed on a Service Fabric node for the given application.",
+ "tags": [
+ "Code Package"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceManifestNameOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/CodePackageNameOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the list of deployed code packages information.",
+ "schema": {
+ "$ref": "#/definitions/DeployedCodePackageInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/Restart": {
+ "post": {
+ "operationId": "RestartDeployedCodePackage",
+ "summary": "Restarts a code package deployed on a Service Fabric node in a cluster.",
+ "description": "Restarts a code package deployed on a Service Fabric node in a cluster. This aborts the code package process, which will restart all the user service replicas hosted in that process.",
+ "tags": [
+ "Code Package"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/RestartDeployedCodePackageRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerLogs": {
+ "get": {
+ "operationId": "GetContainerLogsDeployedOnNode",
+ "summary": "Gets the container logs for container deployed on a Service Fabric node.",
+ "description": "Gets the container logs for container deployed on a Service Fabric node for the given code package.",
+ "tags": [
+ "Code Package"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceManifestNameRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/CodePackageNameRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TailOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PreviousOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "x-ms-examples": {
+ "Get container logs for given code package": {
+ "$ref": "./examples/GetContainerLogsDeployedOnNode-1.json"
+ },
+ "Get last 10 lines of container logs": {
+ "$ref": "./examples/GetContainerLogsDeployedOnNode-2.json"
+ },
+ "Get container logs of previous dead container for given code package": {
+ "$ref": "./examples/GetContainerLogsDeployedOnNode-3.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the container logs for container deployed on a Service Fabric node for the given code package.",
+ "schema": {
+ "$ref": "#/definitions/ContainerLogs"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerApi": {
+ "post": {
+ "operationId": "InvokeContainerApi",
+ "summary": "Invoke container API on a container deployed on a Service Fabric node.",
+ "description": "Invoke container API on a container deployed on a Service Fabric node for the given code package.",
+ "x-ms-examples": {
+ "Get container logs": {
+ "$ref": "./examples/InvokeContainerApi.json"
+ },
+ "Update container": {
+ "$ref": "./examples/InvokeContainerApi_Post.json"
+ }
+ },
+ "tags": [
+ "Code Package"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceManifestNameRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/CodePackageNameRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/CodePackageInstanceIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContainerApiRequiredBodyParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and container API response for a container deployed on a Service Fabric node for the given code package.",
+ "schema": {
+ "$ref": "#/definitions/ContainerApiResponse"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ComposeDeployments/$/Create": {
+ "put": {
+ "summary": "Creates a Service Fabric compose deployment.",
+ "description": "Compose is a file format that describes multi-container applications. This API allows deploying container based applications defined in compose format in a Service Fabric cluster. Once the deployment is created, its status can be tracked via the `GetComposeDeploymentStatus` API.",
+ "operationId": "CreateComposeDeployment",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/CreateComposeDeploymentRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Compose Deployment"
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful operation will return 202 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ComposeDeployments/{deploymentName}": {
+ "get": {
+ "summary": "Gets information about a Service Fabric compose deployment.",
+ "description": "Returns the status of the compose deployment that was created or in the process of being created in the Service Fabric cluster and whose name matches the one specified as the parameter. The response includes the name, status, and other details about the deployment.",
+ "operationId": "GetComposeDeploymentStatus",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Compose Deployment"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the compose deployment.",
+ "schema": {
+ "$ref": "#/definitions/ComposeDeploymentStatusInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ComposeDeployments": {
+ "get": {
+ "summary": "Gets the list of compose deployments created in the Service Fabric cluster.",
+ "description": "Gets the status about the compose deployments that were created or in the process of being created in the Service Fabric cluster. The response includes the name, status, and other details about the compose deployments. If the list of deployments do not fit in a page, one page of results is returned as well as a continuation token, which can be used to get the next page.",
+ "operationId": "GetComposeDeploymentStatusList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Compose Deployment"
+ ],
+ "responses": {
+ "200": {
+ "description": "List of status of compose deployments in the cluster.",
+ "schema": {
+ "$ref": "#/definitions/PagedComposeDeploymentStatusInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ComposeDeployments/{deploymentName}/$/GetUpgradeProgress": {
+ "get": {
+ "summary": "Gets details for the latest upgrade performed on this Service Fabric compose deployment.",
+ "description": "Returns the information about the state of the compose deployment upgrade along with details to aid debugging application health issues.",
+ "operationId": "GetComposeDeploymentUpgradeProgress",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Compose Deployment"
+ ],
+ "responses": {
+ "200": {
+ "description": "Details about the compose deployment upgrade.",
+ "schema": {
+ "$ref": "#/definitions/ComposeDeploymentUpgradeProgressInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ComposeDeployments/{deploymentName}/$/Delete": {
+ "post": {
+ "summary": "Deletes an existing Service Fabric compose deployment from cluster.",
+ "description": "Deletes an existing Service Fabric compose deployment.",
+ "operationId": "RemoveComposeDeployment",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Compose Deployment"
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful operation will return 202 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ComposeDeployments/{deploymentName}/$/Upgrade": {
+ "post": {
+ "summary": "Starts upgrading a compose deployment in the Service Fabric cluster.",
+ "description": "Validates the supplied upgrade parameters and starts upgrading the deployment if the parameters are valid.",
+ "operationId": "StartComposeDeploymentUpgrade",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ComposeDeploymentUpgradeDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Compose Deployment"
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful response means that the upgrade has started. Use GetComposeDeploymentUpgrade operation to get the status of the upgrade."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ComposeDeployments/{deploymentName}/$/RollbackUpgrade": {
+ "post": {
+ "summary": "Starts rolling back a compose deployment upgrade in the Service Fabric cluster.",
+ "description": "Rollback a service fabric compose deployment upgrade.",
+ "operationId": "StartRollbackComposeDeploymentUpgrade",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Compose Deployment"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the rollback has started. Use GetComposeDeploymentUpgrade operation to get the status of the rollback."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Tools/Chaos": {
+ "get": {
+ "operationId": "GetChaos",
+ "summary": "Get the status of Chaos.",
+ "description": "Get the status of Chaos indicating whether or not Chaos is running, the Chaos parameters used for running Chaos and the status of the Chaos Schedule.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Chaos"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the status of Chaos.",
+ "schema": {
+ "$ref": "#/definitions/Chaos"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Tools/Chaos/$/Start": {
+ "post": {
+ "operationId": "StartChaos",
+ "summary": "Starts Chaos in the cluster.",
+ "description": "If Chaos is not already running in the cluster, it starts Chaos with the passed in Chaos parameters.\nIf Chaos is already running when this call is made, the call fails with the error code FABRIC_E_CHAOS_ALREADY_RUNNING.\nRefer to the article [Induce controlled Chaos in Service Fabric clusters](https://docs.microsoft.com/azure/service-fabric/service-fabric-controlled-chaos) for more details.",
+ "tags": [
+ "Chaos"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ChaosParametersRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Tools/Chaos/$/Stop": {
+ "post": {
+ "operationId": "StopChaos",
+ "summary": "Stops Chaos if it is running in the cluster and put the Chaos Schedule in a stopped state.",
+ "description": "Stops Chaos from executing new faults. In-flight faults will continue to execute until they are complete. The current Chaos Schedule is put into a stopped state.\nOnce a schedule is stopped, it will stay in the stopped state and not be used to Chaos Schedule new runs of Chaos. A new Chaos Schedule must be set in order to resume scheduling.",
+ "tags": [
+ "Chaos"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Tools/Chaos/Events": {
+ "get": {
+ "operationId": "GetChaosEvents",
+ "summary": "Gets the next segment of the Chaos events based on the continuation token or the time range.",
+ "description": "To get the next segment of the Chaos events, you can specify the ContinuationToken. To get the start of a new segment of Chaos events, you can specify the time range\nthrough StartTimeUtc and EndTimeUtc. You cannot specify both the ContinuationToken and the time range in the same call.\nWhen there are more than 100 Chaos events, the Chaos events are returned in multiple segments where a segment contains no more than 100 Chaos events and to get the next segment you make a call to this API with the continuation token.",
+ "x-ms-examples": {
+ "Get Chaos events given a time range": {
+ "$ref": "./examples/GetChaosEvents.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartTimeUtcOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndTimeUtcOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Chaos"
+ ],
+ "responses": {
+ "200": {
+ "description": "Next segment of Chaos events.",
+ "schema": {
+ "$ref": "#/definitions/ChaosEventsSegment"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Tools/Chaos/Schedule": {
+ "get": {
+ "operationId": "GetChaosSchedule",
+ "summary": "Get the Chaos Schedule defining when and how to run Chaos.",
+ "description": "Gets the version of the Chaos Schedule in use and the Chaos Schedule that defines when and how to run Chaos.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Chaos"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the schedule description including a Chaos Schedule used by Chaos and the version the Chaos Schedule is on.",
+ "schema": {
+ "$ref": "#/definitions/ChaosScheduleDescription"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "post": {
+ "operationId": "PostChaosSchedule",
+ "summary": "Set the schedule used by Chaos.",
+ "description": "Chaos will automatically schedule runs based on the Chaos Schedule.\nThe Chaos Schedule will be updated if the provided version matches the version on the server.\nWhen updating the Chaos Schedule, the version on the server is incremented by 1.\nThe version on the server will wrap back to 0 after reaching a large number.\nIf Chaos is running when this call is made, the call will fail.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ChaosScheduleRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "Chaos"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ImageStore/{contentPath}": {
+ "put": {
+ "summary": "Uploads contents of the file to the image store.",
+ "description": "Uploads contents of the file to the image store. Use this API if the file is small enough to upload again if the connection fails. The file's data needs to be added to the request body. The contents will be uploaded to the specified path. Image store service uses a mark file to indicate the availability of the folder. The mark file is an empty file named \"_.dir\". The mark file is generated by the image store service when all files in a folder are uploaded. When using File-by-File approach to upload application package in REST, the image store service isn't aware of the file hierarchy of the application package; you need to create a mark file per folder and upload it last, to let the image store service know that the folder is complete.",
+ "operationId": "UploadFile",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ImageStoreContentPathRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ImageStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "If the upload request succeeds, the server returns the HTTP 200 OK status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "get": {
+ "summary": "Gets the image store content information.",
+ "description": "Returns the information about the image store content at the specified contentPath. The contentPath is relative to the root of the image store.",
+ "operationId": "GetImageStoreContent",
+ "x-ms-examples": {
+ "Get information about image store content under a given relative path": {
+ "$ref": "./examples/GetImageStoreContent.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ImageStoreContentPathRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ImageStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested image store content information.",
+ "schema": {
+ "$ref": "#/definitions/ImageStoreContent"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "Deletes existing image store content.",
+ "description": "Deletes existing image store content being found within the given image store relative path. This command can be used to delete uploaded application packages once they are provisioned.",
+ "operationId": "DeleteImageStoreContent",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ImageStoreContentPathRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ImageStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ImageStore": {
+ "get": {
+ "summary": "Gets the content information at the root of the image store.",
+ "description": "Returns the information about the image store content at the root of the image store.",
+ "operationId": "GetImageStoreRootContent",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ImageStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested image store content information.",
+ "schema": {
+ "$ref": "#/definitions/ImageStoreContent"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ImageStore/$/Copy": {
+ "post": {
+ "summary": "Copies image store content internally",
+ "description": "Copies the image store content from the source image store relative path to the destination image store relative path.",
+ "operationId": "CopyImageStoreContent",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ImageStoreCopyDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ImageStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ImageStore/$/DeleteUploadSession": {
+ "delete": {
+ "summary": "Cancels an image store upload session.",
+ "description": "The DELETE request will cause the existing upload session to expire and remove any previously uploaded file chunks.",
+ "operationId": "DeleteImageStoreUploadSession",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/UploadSessionIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ImageStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ImageStore/$/CommitUploadSession": {
+ "post": {
+ "summary": "Commit an image store upload session.",
+ "description": "When all file chunks have been uploaded, the upload session needs to be committed explicitly to complete the upload. Image store preserves the upload session until the expiration time, which is 30 minutes after the last chunk received. ",
+ "operationId": "CommitImageStoreUploadSession",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/UploadSessionIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ImageStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "If the commit request succeeds, the server returns the HTTP 200 OK status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ImageStore/$/GetUploadSession": {
+ "get": {
+ "summary": "Get the image store upload session by ID.",
+ "description": "Gets the image store upload session identified by the given ID. User can query the upload session at any time during uploading. ",
+ "operationId": "GetImageStoreUploadSessionById",
+ "x-ms-examples": {
+ "Get information about image store upload session by a given ID": {
+ "$ref": "./examples/GetUploadSessionById.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/UploadSessionIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ImageStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested image store upload session information.",
+ "schema": {
+ "$ref": "#/definitions/UploadSession"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ImageStore/{contentPath}/$/GetUploadSession": {
+ "get": {
+ "summary": "Get the image store upload session by relative path.",
+ "description": "Gets the image store upload session associated with the given image store relative path. User can query the upload session at any time during uploading. ",
+ "operationId": "GetImageStoreUploadSessionByPath",
+ "x-ms-examples": {
+ "Get information about image store upload session by a given relative path": {
+ "$ref": "./examples/GetUploadSessionByPath.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ImageStoreContentPathRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ImageStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested image store upload session information.",
+ "schema": {
+ "$ref": "#/definitions/UploadSession"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ImageStore/{contentPath}/$/UploadChunk": {
+ "put": {
+ "summary": "Uploads a file chunk to the image store relative path.",
+ "description": "Uploads a file chunk to the image store with the specified upload session ID and image store relative path. This API allows user to resume the file upload operation. user doesn't have to restart the file upload from scratch whenever there is a network interruption. Use this option if the file size is large.\n\nTo perform a resumable file upload, user need to break the file into multiple chunks and upload these chunks to the image store one-by-one. Chunks don't have to be uploaded in order. If the file represented by the image store relative path already exists, it will be overwritten when the upload session commits.",
+ "operationId": "UploadFileChunk",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ImageStoreContentPathRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/UploadSessionIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/UploadFileChunkContentRangeHeaderParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ImageStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return the HTTP 200 OK status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ImageStore/$/FolderSize": {
+ "get": {
+ "summary": "Get the folder size at the root of the image store.",
+ "description": "Returns the total size of files at the root and children folders in image store.",
+ "operationId": "GetImageStoreRootFolderSize",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-5_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ImageStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested folder size in image store.",
+ "schema": {
+ "$ref": "#/definitions/FolderSizeInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ImageStore/{contentPath}/$/FolderSize": {
+ "get": {
+ "summary": "Get the size of a folder in image store",
+ "description": "Gets the total size of file under a image store folder, specified by contentPath. The contentPath is relative to the root of the image store.",
+ "operationId": "GetImageStoreFolderSize",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-5_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ImageStoreContentPathRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ImageStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested folder size in image store.",
+ "schema": {
+ "$ref": "#/definitions/FolderSizeInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ImageStore/$/Info": {
+ "get": {
+ "summary": "Gets the overall ImageStore information",
+ "description": "Returns information about the primary ImageStore replica, such as disk capacity and available disk space at the node it is on, and several categories of the ImageStore's file system usage.",
+ "operationId": "GetImageStoreInfo",
+ "x-ms-examples": {
+ "Gets the overall ImageStore information": {
+ "$ref": "./examples/GetImageStoreInfo.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-5_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ImageStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested ImageStore info",
+ "schema": {
+ "$ref": "#/definitions/ImageStoreInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/InvokeInfrastructureCommand": {
+ "post": {
+ "operationId": "InvokeInfrastructureCommand",
+ "summary": "Invokes an administrative command on the given Infrastructure Service instance.",
+ "description": "For clusters that have one or more instances of the Infrastructure Service configured,\nthis API provides a way to send infrastructure-specific commands to a particular\ninstance of the Infrastructure Service.\n\nAvailable commands and their corresponding response formats vary depending upon\nthe infrastructure on which the cluster is running.\n\nThis API supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/InfrastructureCommandRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/InfrastructureServiceIdOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Infrastructure"
+ ],
+ "responses": {
+ "200": {
+ "description": "The response from the infrastructure service. The response format is a JSON stream.\nThe contents of the response depend on which command was issued.",
+ "schema": {
+ "$ref": "#/definitions/InfrastructureServiceResponse"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/InvokeInfrastructureQuery": {
+ "get": {
+ "operationId": "InvokeInfrastructureQuery",
+ "summary": "Invokes a read-only query on the given infrastructure service instance.",
+ "description": "For clusters that have one or more instances of the Infrastructure Service configured,\nthis API provides a way to send infrastructure-specific queries to a particular\ninstance of the Infrastructure Service.\n\nAvailable commands and their corresponding response formats vary depending upon\nthe infrastructure on which the cluster is running.\n\nThis API supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/InfrastructureCommandRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/InfrastructureServiceIdOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Infrastructure"
+ ],
+ "responses": {
+ "200": {
+ "description": "The response from the infrastructure service. The response format is a JSON stream.\nThe contents of the response depend on which command was issued.",
+ "schema": {
+ "$ref": "#/definitions/InfrastructureServiceResponse"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartDataLoss": {
+ "post": {
+ "operationId": "StartDataLoss",
+ "summary": "This API will induce data loss for the specified partition. It will trigger a call to the OnDataLossAsync API of the partition.",
+ "description": "This API will induce data loss for the specified partition. It will trigger a call to the OnDataLoss API of the partition.\nActual data loss will depend on the specified DataLossMode.\n\n- PartialDataLoss - Only a quorum of replicas are removed and OnDataLoss is triggered for the partition but actual data loss depends on the presence of in-flight replication.\n- FullDataLoss - All replicas are removed hence all data is lost and OnDataLoss is triggered.\n\nThis API should only be called with a stateful service as the target.\n\nCalling this API with a system service as the target is not advised.\n\nNote: Once this API has been called, it cannot be reversed. Calling CancelOperation will only stop execution and clean up internal system state.\nIt will not restore data if the command has progressed far enough to cause data loss.\n\nCall the GetDataLossProgress API with the same OperationId to return information on the operation started with this API.",
+ "tags": [
+ "Faults"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/FaultOperationIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/DataLossModeRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the operation was accepted. Call the GetDataLossProgress API to get the progress."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetDataLossProgress": {
+ "get": {
+ "summary": "Gets the progress of a partition data loss operation started using the StartDataLoss API.",
+ "description": "Gets the progress of a data loss operation started with StartDataLoss, using the OperationId.",
+ "operationId": "GetDataLossProgress",
+ "x-ms-examples": {
+ "Gets information about a partition data loss operation. In this case the operation has a State of Completed": {
+ "$ref": "./examples/GetDataLossProgress.json"
+ },
+ "Get information about a partition data loss operation. In this case the operation is a State of Running": {
+ "$ref": "./examples/GetDataLossProgress-Running.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/FaultOperationIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Faults"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the progress of the partition data loss operation.",
+ "schema": {
+ "$ref": "#/definitions/PartitionDataLossProgress"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartQuorumLoss": {
+ "post": {
+ "operationId": "StartQuorumLoss",
+ "summary": "Induces quorum loss for a given stateful service partition.",
+ "description": "This API is useful for a temporary quorum loss situation on your service.\n\nCall the GetQuorumLossProgress API with the same OperationId to return information on the operation started with this API.\n\nThis can only be called on stateful persisted (HasPersistedState==true) services. Do not use this API on stateless services or stateful in-memory only services.",
+ "tags": [
+ "Faults"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/FaultOperationIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/QuorumLossModeRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/QuorumLossDurationRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the operation was accepted. Call the GetQuorumLossProgress API to get the progress."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetQuorumLossProgress": {
+ "get": {
+ "summary": "Gets the progress of a quorum loss operation on a partition started using the StartQuorumLoss API.",
+ "description": "Gets the progress of a quorum loss operation started with StartQuorumLoss, using the provided OperationId.",
+ "operationId": "GetQuorumLossProgress",
+ "x-ms-examples": {
+ "Gets information about a completed quorum loss operation": {
+ "$ref": "./examples/GetQuorumLossProgress.json"
+ },
+ "Gets information about a running quorum operation operation": {
+ "$ref": "./examples/GetQuorumLossProgress-Running.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/FaultOperationIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Faults"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the progress of a partition quorum loss operation.",
+ "schema": {
+ "$ref": "#/definitions/PartitionQuorumLossProgress"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartRestart": {
+ "post": {
+ "operationId": "StartPartitionRestart",
+ "summary": "This API will restart some or all replicas or instances of the specified partition.",
+ "description": "This API is useful for testing failover.\n\nIf used to target a stateless service partition, RestartPartitionMode must be AllReplicasOrInstances.\n\nCall the GetPartitionRestartProgress API using the same OperationId to get the progress.",
+ "tags": [
+ "Faults"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/FaultOperationIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/RestartPartitionModeRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the operation was accepted. Call the GetPartitionRestartProgress API to get the progress."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetRestartProgress": {
+ "get": {
+ "summary": "Gets the progress of a PartitionRestart operation started using StartPartitionRestart.",
+ "description": "Gets the progress of a PartitionRestart started with StartPartitionRestart using the provided OperationId.",
+ "operationId": "GetPartitionRestartProgress",
+ "x-ms-examples": {
+ "Get information a completed PartitionRestart operation": {
+ "$ref": "./examples/GetPartitionRestartProgress.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/FaultOperationIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Faults"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the progress of a partition restart operation.",
+ "schema": {
+ "$ref": "#/definitions/PartitionRestartProgress"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Faults/Nodes/{nodeName}/$/StartTransition/": {
+ "post": {
+ "operationId": "StartNodeTransition",
+ "summary": "Starts or stops a cluster node.",
+ "description": "Starts or stops a cluster node. A cluster node is a process, not the OS instance itself. To start a node, pass in \"Start\" for the NodeTransitionType parameter.\nTo stop a node, pass in \"Stop\" for the NodeTransitionType parameter. This API starts the operation - when the API returns the node may not have finished transitioning yet.\nCall GetNodeTransitionProgress with the same OperationId to get the progress of the operation.",
+ "tags": [
+ "Faults"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/FaultOperationIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeTransitionTypeRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeInstanceIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StopDurationInSecondsRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the operation was accepted. Call the GetNodeTransitionProgress API to get the progress."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Faults/Nodes/{nodeName}/$/GetTransitionProgress": {
+ "get": {
+ "summary": "Gets the progress of an operation started using StartNodeTransition.",
+ "description": "Gets the progress of an operation started with StartNodeTransition using the provided OperationId.",
+ "operationId": "GetNodeTransitionProgress",
+ "x-ms-examples": {
+ "Gets information about a completed NodeTransition operation": {
+ "$ref": "./examples/GetNodeTransitionProgress.json"
+ },
+ "Gets information about a running NodeTransition operation": {
+ "$ref": "./examples/GetNodeTransitionProgress-Running.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/FaultOperationIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Faults"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the progress of a node transition operation.",
+ "schema": {
+ "$ref": "#/definitions/NodeTransitionProgress"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Faults/": {
+ "get": {
+ "operationId": "GetFaultOperationList",
+ "summary": "Gets a list of user-induced fault operations filtered by provided input.",
+ "description": "Gets the list of user-induced fault operations filtered by provided input.",
+ "x-ms-examples": {
+ "Gets information on fault operations": {
+ "$ref": "./examples/GetFaultOperationList.json"
+ }
+ },
+ "tags": [
+ "Faults"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TypeFilterRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StateFilterRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatusList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Faults/$/Cancel": {
+ "post": {
+ "operationId": "CancelOperation",
+ "summary": "Cancels a user-induced fault operation.",
+ "description": "The following APIs start fault operations that may be cancelled by using CancelOperation: StartDataLoss, StartQuorumLoss, StartPartitionRestart, StartNodeTransition.\n\nIf force is false, then the specified user-induced operation will be gracefully stopped and cleaned up. If force is true, the command will be aborted, and some internal state\nmay be left behind. Specifying force as true should be used with care. Calling this API with force set to true is not allowed until this API has already\nbeen called on the same test command with force set to false first, or unless the test command already has an OperationState of OperationState.RollingBack.\nClarification: OperationState.RollingBack means that the system will be/is cleaning up internal system state caused by executing the command. It will not restore data if the\ntest command was to cause data loss. For example, if you call StartDataLoss then call this API, the system will only clean up internal state from running the command.\nIt will not restore the target partition's data, if the command progressed far enough to cause data loss.\n\nImportant note: if this API is invoked with force==true, internal state may be left behind.",
+ "tags": [
+ "Faults"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/FaultOperationIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ForceRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/BackupRestore/BackupPolicies/$/Create": {
+ "post": {
+ "operationId": "CreateBackupPolicy",
+ "summary": "Creates a backup policy.",
+ "description": "Creates a backup policy which can be associated later with a Service Fabric application, service or a partition for periodic backup.",
+ "x-ms-examples": {
+ "Create a time based backup policy with Azure as backup location": {
+ "$ref": "./examples/CreateBackupPolicy-1.json"
+ },
+ "Create a frequency based backup policy with file share as backup location": {
+ "$ref": "./examples/CreateBackupPolicy-2.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/BackupPolicyDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "201": {
+ "description": "A successful operation returns 201 status code and creates a new backup policy."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/BackupRestore/BackupPolicies/{backupPolicyName}/$/Delete": {
+ "post": {
+ "operationId": "DeleteBackupPolicy",
+ "summary": "Deletes the backup policy.",
+ "description": "Deletes an existing backup policy. A backup policy must be created before it can be deleted. A currently active backup policy, associated with any Service Fabric application, service or partition, cannot be deleted without first deleting the mapping.",
+ "x-ms-examples": {
+ "Delete backup policy": {
+ "$ref": "./examples/DeleteBackupPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/BackupPolicyNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation returns 200 status code and deletes the backup policy."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/BackupRestore/BackupPolicies": {
+ "get": {
+ "operationId": "GetBackupPolicyList",
+ "summary": "Gets all the backup policies configured.",
+ "description": "Get a list of all the backup policies configured.",
+ "x-ms-examples": {
+ "Limit maximum results": {
+ "$ref": "./examples/GetBackupPolicyList-1.json"
+ },
+ "Page using continuation token": {
+ "$ref": "./examples/GetBackupPolicyList-2.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and paged list of backup policies.",
+ "schema": {
+ "$ref": "#/definitions/PagedBackupPolicyDescriptionList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/BackupRestore/BackupPolicies/{backupPolicyName}": {
+ "get": {
+ "operationId": "GetBackupPolicyByName",
+ "summary": "Gets a particular backup policy by name.",
+ "description": "Gets a particular backup policy identified by {backupPolicyName}",
+ "x-ms-examples": {
+ "Get backup policy by name": {
+ "$ref": "./examples/GetBackupPolicyByName.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/BackupPolicyNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the backup policy description.",
+ "schema": {
+ "$ref": "#/definitions/BackupPolicyDescription"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/BackupRestore/BackupPolicies/{backupPolicyName}/$/GetBackupEnabledEntities": {
+ "get": {
+ "operationId": "GetAllEntitiesBackedUpByPolicy",
+ "summary": "Gets the list of backup entities that are associated with this policy.",
+ "description": "Returns a list of Service Fabric application, service or partition which are associated with this backup policy.",
+ "x-ms-examples": {
+ "Limit maximum results": {
+ "$ref": "./examples/GetAllEntitiesBackedUpByPolicy-1.json"
+ },
+ "Page using continuation token": {
+ "$ref": "./examples/GetAllEntitiesBackedUpByPolicy-2.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/BackupPolicyNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and a paged list of Service Fabric entities that are associated with this policy.",
+ "schema": {
+ "$ref": "#/definitions/PagedBackupEntityList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/BackupRestore/BackupPolicies/{backupPolicyName}/$/Update": {
+ "post": {
+ "operationId": "UpdateBackupPolicy",
+ "summary": "Updates the backup policy.",
+ "description": "Updates the backup policy identified by {backupPolicyName}",
+ "x-ms-examples": {
+ "Update backup policy": {
+ "$ref": "./examples/UpdateBackupPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/BackupPolicyDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/BackupPolicyNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation returns 200 status code and updates the backup policy description."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/EnableBackup": {
+ "post": {
+ "operationId": "EnableApplicationBackup",
+ "summary": "Enables periodic backup of stateful partitions under this Service Fabric application.",
+ "description": "Enables periodic backup of stateful partitions which are part of this Service Fabric application. Each partition is backed up individually as per the specified backup policy description. \nNote only C# based Reliable Actor and Reliable Stateful services are currently supported for periodic backup.",
+ "x-ms-examples": {
+ "Enable application backup": {
+ "$ref": "./examples/EnableApplicationBackup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EnableBackupDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the request to enable application backup has been accepted."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/DisableBackup": {
+ "post": {
+ "operationId": "DisableApplicationBackup",
+ "summary": "Disables periodic backup of Service Fabric application.",
+ "description": "Disables periodic backup of Service Fabric application which was previously enabled.",
+ "x-ms-examples": {
+ "Disable application backup": {
+ "$ref": "./examples/DisableApplicationBackup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/DisableBackupDescriptionOptionalBodyParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the request to disable application backup has been accepted."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/GetBackupConfigurationInfo": {
+ "get": {
+ "operationId": "GetApplicationBackupConfigurationInfo",
+ "summary": "Gets the Service Fabric application backup configuration information.",
+ "description": "Gets the Service Fabric backup configuration information for the application and the services and partitions under this application.",
+ "x-ms-examples": {
+ "Limit maximum results": {
+ "$ref": "./examples/GetApplicationBackupConfigurationInfo-1.json"
+ },
+ "Page using continuation token": {
+ "$ref": "./examples/GetApplicationBackupConfigurationInfo-2.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and a paged list of backup configuration information for the application, and the services and partitions under this application, for which backup configuration has been overridden.",
+ "schema": {
+ "$ref": "#/definitions/PagedBackupConfigurationInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/GetBackups": {
+ "get": {
+ "operationId": "GetApplicationBackupList",
+ "summary": "Gets the list of backups available for every partition in this application.",
+ "description": "Returns a list of backups available for every partition in this Service Fabric application. The server enumerates all the backups available at the backup location configured in the backup policy. It also allows filtering of the result based on start and end datetime or just fetching the latest available backup for every partition.",
+ "x-ms-examples": {
+ "Get application backups within a time range": {
+ "$ref": "./examples/GetApplicationBackupList-1.json"
+ },
+ "Get latest backup": {
+ "$ref": "./examples/GetApplicationBackupList-2.json"
+ },
+ "Limit maximum results": {
+ "$ref": "./examples/GetApplicationBackupList-3.json"
+ },
+ "Page using continuation token": {
+ "$ref": "./examples/GetApplicationBackupList-4.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/LatestOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartDateTimeFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndDateTimeFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and a paged list of backup information.",
+ "schema": {
+ "$ref": "#/definitions/PagedBackupInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/SuspendBackup": {
+ "post": {
+ "operationId": "SuspendApplicationBackup",
+ "summary": "Suspends periodic backup for the specified Service Fabric application.",
+ "description": "The application which is configured to take periodic backups, is suspended for taking further backups till it is resumed again. This operation applies to the entire application's hierarchy. It means all the services and partitions under this application are now suspended for backup.",
+ "x-ms-examples": {
+ "Suspend application backup": {
+ "$ref": "./examples/SuspendApplicationBackup.json"
+ }
+ },
+ "tags": [
+ "BackupRestore"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the operation request was accepted and application backup will be suspended."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/ResumeBackup": {
+ "post": {
+ "operationId": "ResumeApplicationBackup",
+ "summary": "Resumes periodic backup of a Service Fabric application which was previously suspended.",
+ "description": "The previously suspended Service Fabric application resumes taking periodic backup as per the backup policy currently configured for the same.",
+ "x-ms-examples": {
+ "Resume application backup": {
+ "$ref": "./examples/ResumeApplicationBackup.json"
+ }
+ },
+ "tags": [
+ "BackupRestore"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the operation request was accepted and application backup will be resumed."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/EnableBackup": {
+ "post": {
+ "operationId": "EnableServiceBackup",
+ "summary": "Enables periodic backup of stateful partitions under this Service Fabric service.",
+ "description": "Enables periodic backup of stateful partitions which are part of this Service Fabric service. Each partition is backed up individually as per the specified backup policy description. In case the application, which the service is part of, is already enabled for backup then this operation would override the policy being used to take the periodic backup for this service and its partitions (unless explicitly overridden at the partition level).\nNote only C# based Reliable Actor and Reliable Stateful services are currently supported for periodic backup.",
+ "x-ms-examples": {
+ "Enable service backup": {
+ "$ref": "./examples/EnableServiceBackup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EnableBackupDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the request to enable service backup has been accepted."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/DisableBackup": {
+ "post": {
+ "operationId": "DisableServiceBackup",
+ "summary": "Disables periodic backup of Service Fabric service which was previously enabled.",
+ "description": "Disables periodic backup of Service Fabric service which was previously enabled. Backup must be explicitly enabled before it can be disabled.\nIn case the backup is enabled for the Service Fabric application, which this service is part of, this service would continue to be periodically backed up as per the policy mapped at the application level.",
+ "x-ms-examples": {
+ "Disable service backup": {
+ "$ref": "./examples/DisableServiceBackup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/DisableBackupDescriptionOptionalBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the request to disable service backup has been accepted."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/GetBackupConfigurationInfo": {
+ "get": {
+ "operationId": "GetServiceBackupConfigurationInfo",
+ "summary": "Gets the Service Fabric service backup configuration information.",
+ "description": "Gets the Service Fabric backup configuration information for the service and the partitions under this service.",
+ "x-ms-examples": {
+ "Limit maximum results": {
+ "$ref": "./examples/GetServiceBackupConfigurationInfo-1.json"
+ },
+ "Page using continuation token": {
+ "$ref": "./examples/GetServiceBackupConfigurationInfo-2.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and a paged list of backup configuration information for the service, and the partitions under this service, for which backup configuration has been overridden.",
+ "schema": {
+ "$ref": "#/definitions/PagedBackupConfigurationInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/GetBackups": {
+ "get": {
+ "operationId": "GetServiceBackupList",
+ "summary": "Gets the list of backups available for every partition in this service.",
+ "description": "Returns a list of backups available for every partition in this Service Fabric service. The server enumerates all the backups available in the backup store configured in the backup policy. It also allows filtering of the result based on start and end datetime or just fetching the latest available backup for every partition.",
+ "x-ms-examples": {
+ "Get application backups within a time range": {
+ "$ref": "./examples/GetServiceBackupList-1.json"
+ },
+ "Get latest backup": {
+ "$ref": "./examples/GetServiceBackupList-2.json"
+ },
+ "Limit maximum results": {
+ "$ref": "./examples/GetServiceBackupList-3.json"
+ },
+ "Page using continuation token": {
+ "$ref": "./examples/GetServiceBackupList-4.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/LatestOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartDateTimeFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndDateTimeFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and a paged list of backup information.",
+ "schema": {
+ "$ref": "#/definitions/PagedBackupInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/SuspendBackup": {
+ "post": {
+ "operationId": "SuspendServiceBackup",
+ "summary": "Suspends periodic backup for the specified Service Fabric service.",
+ "description": "The service which is configured to take periodic backups, is suspended for taking further backups till it is resumed again. This operation applies to the entire service's hierarchy. It means all the partitions under this service are now suspended for backup.",
+ "x-ms-examples": {
+ "Suspend service backup": {
+ "$ref": "./examples/SuspendServiceBackup.json"
+ }
+ },
+ "tags": [
+ "BackupRestore"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the operation request was accepted and service backup will be suspended."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/ResumeBackup": {
+ "post": {
+ "operationId": "ResumeServiceBackup",
+ "summary": "Resumes periodic backup of a Service Fabric service which was previously suspended.",
+ "description": "The previously suspended Service Fabric service resumes taking periodic backup as per the backup policy currently configured for the same.",
+ "x-ms-examples": {
+ "Resume service backup": {
+ "$ref": "./examples/ResumeServiceBackup.json"
+ }
+ },
+ "tags": [
+ "BackupRestore"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the operation request was accepted and service backup will be resumed."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/EnableBackup": {
+ "post": {
+ "operationId": "EnablePartitionBackup",
+ "summary": "Enables periodic backup of the stateful persisted partition.",
+ "description": "Enables periodic backup of stateful persisted partition. Each partition is backed up as per the specified backup policy description. In case the application or service, which is partition is part of, is already enabled for backup then this operation would override the policy being used to take the periodic backup of this partition.\nNote only C# based Reliable Actor and Reliable Stateful services are currently supported for periodic backup.",
+ "x-ms-examples": {
+ "Enable partition backup": {
+ "$ref": "./examples/EnablePartitionBackup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EnableBackupDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the request to enable partition backup has been accepted."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/DisableBackup": {
+ "post": {
+ "operationId": "DisablePartitionBackup",
+ "summary": "Disables periodic backup of Service Fabric partition which was previously enabled.",
+ "description": "Disables periodic backup of partition which was previously enabled. Backup must be explicitly enabled before it can be disabled. \nIn case the backup is enabled for the Service Fabric application or service, which this partition is part of, this partition would continue to be periodically backed up as per the policy mapped at the higher level entity.",
+ "x-ms-examples": {
+ "Disable partition backup": {
+ "$ref": "./examples/DisablePartitionBackup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/DisableBackupDescriptionOptionalBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the request to disable partition backup has been accepted."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/GetBackupConfigurationInfo": {
+ "get": {
+ "operationId": "GetPartitionBackupConfigurationInfo",
+ "summary": "Gets the partition backup configuration information",
+ "description": "Gets the Service Fabric Backup configuration information for the specified partition.",
+ "x-ms-examples": {
+ "Get partition backup configuration information": {
+ "$ref": "./examples/GetPartitionBackupConfigurationInfo.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and gets the partition's backup configuration information.",
+ "schema": {
+ "$ref": "#/definitions/PartitionBackupConfigurationInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/GetBackups": {
+ "get": {
+ "operationId": "GetPartitionBackupList",
+ "summary": "Gets the list of backups available for the specified partition.",
+ "description": "Returns a list of backups available for the specified partition. The server enumerates all the backups available in the backup store configured in the backup policy. It also allows filtering of the result based on start and end datetime or just fetching the latest available backup for the partition.",
+ "x-ms-examples": {
+ "Get application backups within a time range": {
+ "$ref": "./examples/GetPartitionBackupList-1.json"
+ },
+ "Get latest backup": {
+ "$ref": "./examples/GetPartitionBackupList-2.json"
+ },
+ "Limit maximum results": {
+ "$ref": "./examples/GetPartitionBackupList-3.json"
+ },
+ "Page using continuation token": {
+ "$ref": "./examples/GetPartitionBackupList-4.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/LatestOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartDateTimeFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndDateTimeFilterOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and a paged list of backup information.",
+ "schema": {
+ "$ref": "#/definitions/PagedBackupInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/SuspendBackup": {
+ "post": {
+ "operationId": "SuspendPartitionBackup",
+ "summary": "Suspends periodic backup for the specified partition.",
+ "description": "The partition which is configured to take periodic backups, is suspended for taking further backups till it is resumed again.",
+ "x-ms-examples": {
+ "Suspend partition backup": {
+ "$ref": "./examples/SuspendPartitionBackup.json"
+ }
+ },
+ "tags": [
+ "BackupRestore"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the operation request was accepted and partition backup will be suspended."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/ResumeBackup": {
+ "post": {
+ "operationId": "ResumePartitionBackup",
+ "summary": "Resumes periodic backup of partition which was previously suspended.",
+ "description": "The previously suspended partition resumes taking periodic backup as per the backup policy currently configured for the same.",
+ "x-ms-examples": {
+ "Resume partition backup": {
+ "$ref": "./examples/ResumePartitionBackup.json"
+ }
+ },
+ "tags": [
+ "BackupRestore"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the operation request was accepted and partition backup will be resumed."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/Backup": {
+ "post": {
+ "operationId": "BackupPartition",
+ "summary": "Triggers backup of the partition's state.",
+ "description": "Creates a backup of the stateful persisted partition's state. In case the partition is already being periodically backed up, then by default the new backup is created at the same backup storage. One can also override the same by specifying the backup storage details as part of the request body. Once the backup is initiated, its progress can be tracked using the GetBackupProgress operation. \nIn case, the operation times out, specify a greater backup timeout value in the query parameter.",
+ "x-ms-examples": {
+ "Backup partition": {
+ "$ref": "./examples/BackupPartition-1.json"
+ },
+ "Backup partition to a specific Azure storage account": {
+ "$ref": "./examples/BackupPartition-2.json"
+ },
+ "Backup partition to a specific on-premise file share": {
+ "$ref": "./examples/BackupPartition-3.json"
+ }
+ },
+ "tags": [
+ "BackupRestore"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/BackupPartitionDescriptionOptionalBodyParam"
+ },
+ {
+ "$ref": "#/parameters/BackupTimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the operation request was accepted and backup will be initiated. Use GetPartitionBackupProgress operation to get the status of the backup operation."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/GetBackupProgress": {
+ "get": {
+ "operationId": "GetPartitionBackupProgress",
+ "summary": "Gets details for the latest backup triggered for this partition.",
+ "description": "Returns information about the state of the latest backup along with details or failure reason in case of completion.",
+ "x-ms-examples": {
+ "Get backup operation progress": {
+ "$ref": "./examples/GetPartitionBackupProgress.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation returns 200 status code and backup progress details.",
+ "schema": {
+ "$ref": "#/definitions/BackupProgressInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/Restore": {
+ "post": {
+ "operationId": "RestorePartition",
+ "summary": "Triggers restore of the state of the partition using the specified restore partition description.",
+ "description": "Restores the state of a of the stateful persisted partition using the specified backup point. In case the partition is already being periodically backed up, then by default the backup point is looked for in the storage specified in backup policy. One can also override the same by specifying the backup storage details as part of the restore partition description in body. Once the restore is initiated, its progress can be tracked using the GetRestoreProgress operation. \nIn case, the operation times out, specify a greater restore timeout value in the query parameter.",
+ "x-ms-examples": {
+ "Trigger partition restore": {
+ "$ref": "./examples/RestorePartition.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/RestorePartitionDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/RestoreTimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the operation request was accepted and restore will be initiated. Use GetPartitionRestoreProgress operation to get the status of the restore operation."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/GetRestoreProgress": {
+ "get": {
+ "operationId": "GetPartitionRestoreProgress",
+ "summary": "Gets details for the latest restore operation triggered for this partition.",
+ "description": "Returns information about the state of the latest restore operation along with details or failure reason in case of completion.",
+ "x-ms-examples": {
+ "Get restore operation progress": {
+ "$ref": "./examples/GetPartitionRestoreProgress.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation returns 200 status code and restore progress details.",
+ "schema": {
+ "$ref": "#/definitions/RestoreProgressInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/BackupRestore/$/GetBackups": {
+ "post": {
+ "operationId": "GetBackupsFromBackupLocation",
+ "summary": "Gets the list of backups available for the specified backed up entity at the specified backup location.",
+ "description": "Gets the list of backups available for the specified backed up entity (Application, Service or Partition) at the specified backup location (FileShare or Azure Blob Storage).",
+ "x-ms-examples": {
+ "Limit maximum results": {
+ "$ref": "./examples/GetBackupsFromBackupLocation-1.json"
+ },
+ "Page using continuation token": {
+ "$ref": "./examples/GetBackupsFromBackupLocation-2.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/GetBackupByStorageQueryDescriptionRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and a paged list of backup information.",
+ "schema": {
+ "$ref": "#/definitions/PagedBackupInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Names/$/Create": {
+ "post": {
+ "summary": "Creates a Service Fabric name.",
+ "description": "Creates the specified Service Fabric name.",
+ "operationId": "CreateName",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NameDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "x-ms-examples": {
+ "Create new name": {
+ "$ref": "examples/CreateName-1.json"
+ }
+ },
+ "tags": [
+ "Property Management"
+ ],
+ "responses": {
+ "201": {
+ "description": "A successful response means that the name has been created."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Names/{nameId}": {
+ "get": {
+ "summary": "Returns whether the Service Fabric name exists.",
+ "description": "Returns whether the specified Service Fabric name exists.",
+ "operationId": "GetNameExistsInfo",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NameIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Property Management"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the Service Fabric name exists."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "Deletes a Service Fabric name.",
+ "description": "Deletes the specified Service Fabric name. A name must be created before it can be deleted. Deleting a name with child properties will fail.",
+ "operationId": "DeleteName",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NameIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Property Management"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the Service Fabric name has been deleted."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Names/{nameId}/$/GetSubNames": {
+ "get": {
+ "summary": "Enumerates all the Service Fabric names under a given name.",
+ "description": "Enumerates all the Service Fabric names under a given name. If the subnames do not fit in a page, one page of results is returned as well as a continuation token, which can be used to get the next page. Querying a name that doesn't exist will fail.",
+ "operationId": "GetSubNameInfoList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NameIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/RecursiveOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "x-ms-examples": {
+ "Get sub names": {
+ "$ref": "examples/GetSubNameInfoList-1.json"
+ },
+ "Recursively search sub names": {
+ "$ref": "examples/GetSubNameInfoList-2.json"
+ },
+ "Page using continuation token": {
+ "$ref": "examples/GetSubNameInfoList-3.json"
+ }
+ },
+ "tags": [
+ "Property Management"
+ ],
+ "responses": {
+ "200": {
+ "description": "A paged list of Service Fabric names.",
+ "schema": {
+ "$ref": "#/definitions/PagedSubNameInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Names/{nameId}/$/GetProperties": {
+ "get": {
+ "summary": "Gets information on all Service Fabric properties under a given name.",
+ "description": "A Service Fabric name can have one or more named properties that store custom information. This operation gets the information about these properties in a paged list. The information includes name, value, and metadata about each of the properties.",
+ "operationId": "GetPropertyInfoList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NameIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/IncludeValuesOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "x-ms-examples": {
+ "Get property info list": {
+ "$ref": "examples/GetPropertyInfoList-1.json"
+ },
+ "Get property info list with values": {
+ "$ref": "examples/GetPropertyInfoList-2.json"
+ },
+ "Page using continuation token": {
+ "$ref": "examples/GetPropertyInfoList-3.json"
+ }
+ },
+ "tags": [
+ "Property Management"
+ ],
+ "responses": {
+ "200": {
+ "description": "A paged list of Service Fabric properties.",
+ "schema": {
+ "$ref": "#/definitions/PagedPropertyInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Names/{nameId}/$/GetProperty": {
+ "put": {
+ "summary": "Creates or updates a Service Fabric property.",
+ "description": "Creates or updates the specified Service Fabric property under a given name.",
+ "operationId": "PutProperty",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NameIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PropertyDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "x-ms-examples": {
+ "Put property": {
+ "$ref": "examples/PutProperty-1.json"
+ },
+ "Put custom property": {
+ "$ref": "examples/PutProperty-2.json"
+ }
+ },
+ "tags": [
+ "Property Management"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the property has been created or updated."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "get": {
+ "summary": "Gets the specified Service Fabric property.",
+ "description": "Gets the specified Service Fabric property under a given name. This will always return both value and metadata.",
+ "operationId": "GetPropertyInfo",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NameIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PropertyNameRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "x-ms-examples": {
+ "Get property info": {
+ "$ref": "examples/GetPropertyInfo-1.json"
+ }
+ },
+ "tags": [
+ "Property Management"
+ ],
+ "responses": {
+ "200": {
+ "description": "Details on the Service Fabric property.",
+ "schema": {
+ "$ref": "#/definitions/PropertyInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "Deletes the specified Service Fabric property.",
+ "description": "Deletes the specified Service Fabric property under a given name. A property must be created before it can be deleted.",
+ "operationId": "DeleteProperty",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NameIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PropertyNameRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Property Management"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the property has been deleted."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Names/{nameId}/$/GetProperties/$/SubmitBatch": {
+ "post": {
+ "summary": "Submits a property batch.",
+ "description": "Submits a batch of property operations. Either all or none of the operations will be committed.",
+ "operationId": "SubmitPropertyBatch",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NameIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PropertyBatchDescriptionListRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "x-ms-examples": {
+ "Property batch operation": {
+ "$ref": "examples/SubmitPropertyBatch-1.json"
+ }
+ },
+ "tags": [
+ "Property Management"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the property batch succeeded.",
+ "schema": {
+ "$ref": "#/definitions/SuccessfulPropertyBatchInfo"
+ }
+ },
+ "409": {
+ "description": "A 409 response means that one of the property batch operations failed, and contains more information about the failure. None of the operations were committed.",
+ "schema": {
+ "$ref": "#/definitions/FailedPropertyBatchInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/EventsStore/Cluster/Events": {
+ "get": {
+ "summary": "Gets all Cluster-related events.",
+ "description": "The response is list of ClusterEvent objects.",
+ "operationId": "GetClusterEventList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "EventsStore"
+ ],
+ "x-ms-examples": {
+ "Get Cluster-related events": {
+ "$ref": "./examples/GetClusterEventList.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of events objects with base type ClusterEvent.",
+ "schema": {
+ "$ref": "#/definitions/ClusterEventList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/EventsStore/Containers/Events": {
+ "get": {
+ "summary": "Gets all Containers-related events.",
+ "description": "The response is list of ContainerInstanceEvent objects.",
+ "operationId": "GetContainersEventList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-2-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "EventsStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "List of events objects with base type ContainerInstanceEvent.",
+ "schema": {
+ "$ref": "#/definitions/ContainerInstanceEventList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/EventsStore/Nodes/{nodeName}/$/Events": {
+ "get": {
+ "summary": "Gets a Node-related events.",
+ "description": "The response is list of NodeEvent objects.",
+ "operationId": "GetNodeEventList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "EventsStore"
+ ],
+ "x-ms-examples": {
+ "Get Node-related events": {
+ "$ref": "./examples/GetNodeEventList.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of events objects with base type NodeEvent.",
+ "schema": {
+ "$ref": "#/definitions/NodeEventList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/EventsStore/Nodes/Events": {
+ "get": {
+ "summary": "Gets all Nodes-related Events.",
+ "description": "The response is list of NodeEvent objects.",
+ "operationId": "GetNodesEventList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "EventsStore"
+ ],
+ "x-ms-examples": {
+ "Get Nodes-related events": {
+ "$ref": "./examples/GetNodesEventList.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of events objects with base type NodeEvent.",
+ "schema": {
+ "$ref": "#/definitions/NodeEventList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/EventsStore/Applications/{applicationId}/$/Events": {
+ "get": {
+ "summary": "Gets an Application-related events.",
+ "description": "The response is list of ApplicationEvent objects.",
+ "operationId": "GetApplicationEventList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "EventsStore"
+ ],
+ "x-ms-examples": {
+ "Get Application-related events": {
+ "$ref": "./examples/GetApplicationEventList.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of events objects with base type ApplicationEvent.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationEventList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/EventsStore/Applications/Events": {
+ "get": {
+ "summary": "Gets all Applications-related events.",
+ "description": "The response is list of ApplicationEvent objects.",
+ "operationId": "GetApplicationsEventList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "EventsStore"
+ ],
+ "x-ms-examples": {
+ "Get Applications-related events": {
+ "$ref": "./examples/GetApplicationsEventList.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of events objects with base type ApplicationEvent.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationEventList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/EventsStore/Services/{serviceId}/$/Events": {
+ "get": {
+ "summary": "Gets a Service-related events.",
+ "description": "The response is list of ServiceEvent objects.",
+ "operationId": "GetServiceEventList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "EventsStore"
+ ],
+ "x-ms-examples": {
+ "Get Service-related events": {
+ "$ref": "./examples/GetServiceEventList.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of events objects with base type ServiceEvent.",
+ "schema": {
+ "$ref": "#/definitions/ServiceEventList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/EventsStore/Services/Events": {
+ "get": {
+ "summary": "Gets all Services-related events.",
+ "description": "The response is list of ServiceEvent objects.",
+ "operationId": "GetServicesEventList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "EventsStore"
+ ],
+ "x-ms-examples": {
+ "Get Services-related events": {
+ "$ref": "./examples/GetServicesEventList.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of events objects with base type ServiceEvent.",
+ "schema": {
+ "$ref": "#/definitions/ServiceEventList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/EventsStore/Partitions/{partitionId}/$/Events": {
+ "get": {
+ "summary": "Gets a Partition-related events.",
+ "description": "The response is list of PartitionEvent objects.",
+ "operationId": "GetPartitionEventList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "EventsStore"
+ ],
+ "x-ms-examples": {
+ "Get Partition-related events": {
+ "$ref": "./examples/GetPartitionEventList.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of events objects with base type PartitionEvent.",
+ "schema": {
+ "$ref": "#/definitions/PartitionEventList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/EventsStore/Partitions/Events": {
+ "get": {
+ "summary": "Gets all Partitions-related events.",
+ "description": "The response is list of PartitionEvent objects.",
+ "operationId": "GetPartitionsEventList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "EventsStore"
+ ],
+ "x-ms-examples": {
+ "Get Partitions-related events": {
+ "$ref": "./examples/GetPartitionsEventList.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of events objects with base type PartitionEvent.",
+ "schema": {
+ "$ref": "#/definitions/PartitionEventList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/EventsStore/Partitions/{partitionId}/$/Replicas/{replicaId}/$/Events": {
+ "get": {
+ "summary": "Gets a Partition Replica-related events.",
+ "description": "The response is list of ReplicaEvent objects.",
+ "operationId": "GetPartitionReplicaEventList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ReplicaIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "EventsStore"
+ ],
+ "x-ms-examples": {
+ "Get Partition Replica-related events": {
+ "$ref": "./examples/GetReplicaEventList.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of events objects with base type ReplicaEvent.",
+ "schema": {
+ "$ref": "#/definitions/ReplicaEventList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/EventsStore/Partitions/{partitionId}/$/Replicas/Events": {
+ "get": {
+ "summary": "Gets all Replicas-related events for a Partition.",
+ "description": "The response is list of ReplicaEvent objects.",
+ "operationId": "GetPartitionReplicasEventList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "EventsStore"
+ ],
+ "x-ms-examples": {
+ "Get Partition Replicas-related events": {
+ "$ref": "./examples/GetReplicasEventList.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of events objects with base type ReplicaEvent.",
+ "schema": {
+ "$ref": "#/definitions/ReplicaEventList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/EventsStore/CorrelatedEvents/{eventInstanceId}/$/Events": {
+ "get": {
+ "summary": "Gets all correlated events for a given event.",
+ "description": "The response is list of FabricEvents.",
+ "operationId": "GetCorrelatedEventList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventInstanceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "EventsStore"
+ ],
+ "x-ms-examples": {
+ "Get Correlated events": {
+ "$ref": "./examples/GetCorrelatedEventList.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of events objects with base type FabricEvent.",
+ "schema": {
+ "$ref": "#/definitions/EventList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Secrets/{secretResourceName}": {
+ "put": {
+ "operationId": "MeshSecret_CreateOrUpdate",
+ "x-ms-examples": {
+ "CreateOrUpdateMeshSecret": {
+ "$ref": "./examples/Resources/Secrets/create_update.json"
+ }
+ },
+ "summary": "Creates or updates a Secret resource.",
+ "description": "Creates a Secret resource with the specified name, description and properties. If Secret resource with the same name exists, then it is updated with the specified description and properties. Once created, the kind and contentType of a secret resource cannot be updated.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SecretResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/SecretResourceDescriptionRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "MeshSecrets"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecretResourceDescription"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/SecretResourceDescription"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "MeshSecret_Get",
+ "x-ms-examples": {
+ "GetSecretResource": {
+ "$ref": "./examples/Resources/Secrets/get.json"
+ }
+ },
+ "summary": "Gets the Secret resource with the given name.",
+ "description": "Gets the information about the Secret resource with the given name. The information include the description and other properties of the Secret.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SecretResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshSecrets"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecretResourceDescription"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "MeshSecret_Delete",
+ "x-ms-examples": {
+ "DeleteSecretResource": {
+ "$ref": "./examples/Resources/Secrets/delete.json"
+ }
+ },
+ "summary": "Deletes the Secret resource.",
+ "description": "Deletes the specified Secret resource and all of its named values.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SecretResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshSecrets"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content - the specified secret was not found."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Secrets": {
+ "get": {
+ "operationId": "MeshSecret_List",
+ "x-ms-examples": {
+ "ListMeshSecrets": {
+ "$ref": "./examples/Resources/Secrets/list.json"
+ }
+ },
+ "summary": "Lists all the secret resources.",
+ "description": "Gets the information about all secret resources in a given resource group. The information include the description and other properties of the Secret.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ }
+ ],
+ "tags": [
+ "MeshSecrets"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PagedSecretResourceDescriptionList"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Secrets/{secretResourceName}/values/{secretValueResourceName}": {
+ "put": {
+ "operationId": "MeshSecretValue_AddValue",
+ "x-ms-examples": {
+ "CreateMeshSecretValue": {
+ "$ref": "./examples/Resources/Secrets/values/create.json"
+ }
+ },
+ "summary": "Adds the specified value as a new version of the specified secret resource.",
+ "description": "Creates a new value of the specified secret resource. The name of the value is typically the version identifier. Once created the value cannot be changed.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SecretResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/SecretValueResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/SecretValueResourceDescriptionRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "MeshSecretValues"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecretValueResourceDescription"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/SecretValueResourceDescription"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "MeshSecretValue_Get",
+ "x-ms-examples": {
+ "GetMeshSecretValue": {
+ "$ref": "./examples/Resources/Secrets/values/get.json"
+ }
+ },
+ "summary": "Gets the specified secret value resource.",
+ "description": "Get the information about the specified named secret value resources. The information does not include the actual value of the secret.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SecretResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/SecretValueResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshSecretValues"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecretValueResourceDescription"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "MeshSecretValue_Delete",
+ "x-ms-examples": {
+ "DeleteSecretValue": {
+ "$ref": "./examples/Resources/Secrets/values/delete.json"
+ }
+ },
+ "summary": "Deletes the specified value of the named secret resource.",
+ "description": "Deletes the secret value resource identified by the name. The name of the resource is typically the version associated with that value. Deletion will fail if the specified value is in use.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SecretResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/SecretValueResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshSecretValues"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content - the specified secret value was not found."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Secrets/{secretResourceName}/values": {
+ "get": {
+ "operationId": "MeshSecretValue_List",
+ "x-ms-examples": {
+ "ListMeshSecretValues": {
+ "$ref": "./examples/Resources/Secrets/values/list.json"
+ }
+ },
+ "summary": "List names of all values of the specified secret resource.",
+ "description": "Gets information about all secret value resources of the specified secret resource. The information includes the names of the secret value resources, but not the actual values.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SecretResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshSecretValues"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PagedSecretValueResourceDescriptionList"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Secrets/{secretResourceName}/values/{secretValueResourceName}/list_value": {
+ "post": {
+ "operationId": "MeshSecretValue_Show",
+ "x-ms-examples": {
+ "ListMeshSecretValue": {
+ "$ref": "./examples/Resources/Secrets/values/list_value.json"
+ }
+ },
+ "summary": "Lists the specified value of the secret resource.",
+ "description": "Lists the decrypted value of the specified named value of the secret resource. This is a privileged operation.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SecretResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/SecretValueResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshSecretValues"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecretValue"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Volumes/{volumeResourceName}": {
+ "put": {
+ "operationId": "MeshVolume_CreateOrUpdate",
+ "x-ms-examples": {
+ "CreateOrUpdateMeshVolume": {
+ "$ref": "./examples/Resources/Volumes/create_update.json"
+ }
+ },
+ "summary": "Creates or updates a Volume resource.",
+ "description": "Creates a Volume resource with the specified name, description and properties. If Volume resource with the same name exists, then it is updated with the specified description and properties.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/VolumeResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/VolumeResourceDescriptionRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "MeshVolumes"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VolumeResourceDescription"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VolumeResourceDescription"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "MeshVolume_Get",
+ "x-ms-examples": {
+ "GetVolumeResource": {
+ "$ref": "./examples/Resources/Volumes/get.json"
+ }
+ },
+ "summary": "Gets the Volume resource with the given name.",
+ "description": "Gets the information about the Volume resource with the given name. The information include the description and other properties of the Volume.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/VolumeResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshVolumes"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VolumeResourceDescription"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "MeshVolume_Delete",
+ "x-ms-examples": {
+ "DeleteVolumeResource": {
+ "$ref": "./examples/Resources/Volumes/delete.json"
+ }
+ },
+ "summary": "Deletes the Volume resource.",
+ "description": "Deletes the Volume resource identified by the name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/VolumeResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshVolumes"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content - the specified volume was not found."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Volumes": {
+ "get": {
+ "operationId": "MeshVolume_List",
+ "x-ms-examples": {
+ "ListMeshVolumes": {
+ "$ref": "./examples/Resources/Volumes/list.json"
+ }
+ },
+ "summary": "Lists all the volume resources.",
+ "description": "Gets the information about all volume resources in a given resource group. The information include the description and other properties of the Volume.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ }
+ ],
+ "tags": [
+ "MeshVolumes"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PagedVolumeResourceDescriptionList"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Networks/{networkResourceName}": {
+ "put": {
+ "operationId": "MeshNetwork_CreateOrUpdate",
+ "x-ms-examples": {
+ "CreateOrUpdateMeshNetwork": {
+ "$ref": "./examples/Resources/Networks/create_update.json"
+ }
+ },
+ "summary": "Creates or updates a Network resource.",
+ "description": "Creates a Network resource with the specified name, description and properties. If Network resource with the same name exists, then it is updated with the specified description and properties. Network resource provides connectivity between application services.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NetworkResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/NetworkResourceDescriptionRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "MeshNetworks"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkResourceDescription"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/NetworkResourceDescription"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "MeshNetwork_Get",
+ "x-ms-examples": {
+ "GetNetworkResource": {
+ "$ref": "./examples/Resources/Networks/get.json"
+ }
+ },
+ "summary": "Gets the Network resource with the given name.",
+ "description": "Gets the information about the Network resource with the given name. The information include the description and other properties of the Network.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NetworkResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshNetworks"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkResourceDescription"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "MeshNetwork_Delete",
+ "x-ms-examples": {
+ "DeleteNetworkResource": {
+ "$ref": "./examples/Resources/Networks/delete.json"
+ }
+ },
+ "summary": "Deletes the Network resource.",
+ "description": "Deletes the Network resource identified by the name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NetworkResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshNetworks"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content - the specified network was not found."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Networks": {
+ "get": {
+ "operationId": "MeshNetwork_List",
+ "x-ms-examples": {
+ "ListMeshNetworks": {
+ "$ref": "./examples/Resources/Networks/list.json"
+ }
+ },
+ "summary": "Lists all the network resources.",
+ "description": "Gets the information about all network resources in a given resource group. The information include the description and other properties of the Network.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ }
+ ],
+ "tags": [
+ "MeshNetworks"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PagedNetworkResourceDescriptionList"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Applications/{applicationResourceName}": {
+ "put": {
+ "operationId": "MeshApplication_CreateOrUpdate",
+ "x-ms-examples": {
+ "CreateOrUpdateMeshApplication": {
+ "$ref": "./examples/Resources/Applications/create_update.json"
+ },
+ "CreateOrUpdateMeshApplicationWithAutoScale": {
+ "$ref": "./examples/Resources/Applications/create_update.autoscale.json"
+ }
+ },
+ "summary": "Creates or updates a Application resource.",
+ "description": "Creates a Application resource with the specified name, description and properties. If Application resource with the same name exists, then it is updated with the specified description and properties.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationResourceDescriptionRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "MeshApplications"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ApplicationResourceDescription"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ApplicationResourceDescription"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "MeshApplication_Get",
+ "x-ms-examples": {
+ "GetApplicationResource": {
+ "$ref": "./examples/Resources/Applications/get.json"
+ }
+ },
+ "summary": "Gets the Application resource with the given name.",
+ "description": "Gets the information about the Application resource with the given name. The information include the description and other properties of the Application.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshApplications"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ApplicationResourceDescription"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "MeshApplication_Delete",
+ "x-ms-examples": {
+ "DeleteApplicationResource": {
+ "$ref": "./examples/Resources/Applications/delete.json"
+ }
+ },
+ "summary": "Deletes the Application resource.",
+ "description": "Deletes the Application resource identified by the name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshApplications"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content - the specified application was not found."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Applications": {
+ "get": {
+ "operationId": "MeshApplication_List",
+ "x-ms-examples": {
+ "ListMeshApplications": {
+ "$ref": "./examples/Resources/Applications/list.json"
+ }
+ },
+ "summary": "Lists all the application resources.",
+ "description": "Gets the information about all application resources in a given resource group. The information include the description and other properties of the Application.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ }
+ ],
+ "tags": [
+ "MeshApplications"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PagedApplicationResourceDescriptionList"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Applications/{applicationResourceName}/$/GetUpgradeProgress": {
+ "get": {
+ "operationId": "MeshApplication_GetUpgradeProgress",
+ "x-ms-examples": {
+ "GetApplicationResourceUpgrade": {
+ "$ref": "./examples/Resources/Applications/get_upgrade.json"
+ }
+ },
+ "summary": "Gets the progress of the latest upgrade performed on this application resource.",
+ "description": "Gets the upgrade progress information about the Application resource with the given name. The information include percentage of completion and other upgrade state information of the Application resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_7-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshApplications"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ApplicationResourceUpgradeProgressInfo"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Applications/{applicationResourceName}/Services/{serviceResourceName}": {
+ "get": {
+ "operationId": "MeshService_Get",
+ "x-ms-examples": {
+ "GetServiceResource": {
+ "$ref": "./examples/Resources/Applications/Services/get.json"
+ }
+ },
+ "summary": "Gets the Service resource with the given name.",
+ "description": "Gets the information about the Service resource with the given name. The information include the description and other properties of the Service.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshServices"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServiceResourceDescription"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Applications/{applicationResourceName}/Services": {
+ "get": {
+ "operationId": "MeshService_List",
+ "x-ms-examples": {
+ "ListMeshServices": {
+ "$ref": "./examples/Resources/Applications/Services/list.json"
+ }
+ },
+ "summary": "Lists all the service resources.",
+ "description": "Gets the information about all services of an application resource. The information include the description and other properties of the Service.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshServices"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PagedServiceResourceDescriptionList"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Applications/{applicationResourceName}/Services/{serviceResourceName}/Replicas/{replicaName}/CodePackages/{codePackageName}/Logs": {
+ "get": {
+ "operationId": "MeshCodePackage_GetContainerLogs",
+ "x-ms-examples": {
+ "GetContainerLogs": {
+ "$ref": "./examples/Resources/Applications/Services/Replicas/CodePackages/get_logs.json"
+ }
+ },
+ "summary": "Gets the logs from the container.",
+ "description": "Gets the logs for the container of the specified code package of the service replica.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ReplicaNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/CodePackageNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TailOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "MeshCodePackages"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerLogs"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Applications/{applicationResourceName}/Services/{serviceResourceName}/Replicas/{replicaName}": {
+ "get": {
+ "operationId": "MeshServiceReplica_Get",
+ "x-ms-examples": {
+ "GetServiceReplica": {
+ "$ref": "./examples/Resources/Applications/Services/Replicas/get.json"
+ }
+ },
+ "summary": "Gets the given replica of the service of an application.",
+ "description": "Gets the information about the service replica with the given name. The information include the description and other properties of the service replica.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ReplicaNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshServiceReplicas"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServiceReplicaDescription"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Applications/{applicationResourceName}/Services/{serviceResourceName}/Replicas": {
+ "get": {
+ "operationId": "MeshServiceReplica_List",
+ "x-ms-examples": {
+ "ListMeshServiceReplicas": {
+ "$ref": "./examples/Resources/Applications/Services/Replicas/list.json"
+ }
+ },
+ "summary": "Lists all the replicas of a service.",
+ "description": "Gets the information about all replicas of a service. The information include the description and other properties of the service replica.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshServiceReplicas"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PagedServiceReplicaDescriptionList"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Gateways/{gatewayResourceName}": {
+ "put": {
+ "operationId": "MeshGateway_CreateOrUpdate",
+ "x-ms-examples": {
+ "CreateOrUpdateMeshGateway": {
+ "$ref": "./examples/Resources/Gateways/create_update.json"
+ }
+ },
+ "summary": "Creates or updates a Gateway resource.",
+ "description": "Creates a Gateway resource with the specified name, description and properties. If Gateway resource with the same name exists, then it is updated with the specified description and properties. Use Gateway resource to provide public connectivity to application services.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/GatewayResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/GatewayResourceDescriptionRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "MeshGateways"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GatewayResourceDescription"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/GatewayResourceDescription"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "MeshGateway_Get",
+ "x-ms-examples": {
+ "GetGatewayResource": {
+ "$ref": "./examples/Resources/Gateways/get.json"
+ }
+ },
+ "summary": "Gets the Gateway resource with the given name.",
+ "description": "Gets the information about the Gateway resource with the given name. The information include the description and other properties of the Gateway.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/GatewayResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshGateways"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GatewayResourceDescription"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "MeshGateway_Delete",
+ "x-ms-examples": {
+ "DeleteGatewayResource": {
+ "$ref": "./examples/Resources/Gateways/delete.json"
+ }
+ },
+ "summary": "Deletes the Gateway resource.",
+ "description": "Deletes the Gateway resource identified by the name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/GatewayResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshGateways"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content - the specified gateway was not found."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Gateways": {
+ "get": {
+ "operationId": "MeshGateway_List",
+ "x-ms-examples": {
+ "ListMeshGateways": {
+ "$ref": "./examples/Resources/Gateways/list.json"
+ }
+ },
+ "summary": "Lists all the gateway resources.",
+ "description": "Gets the information about all gateway resources in a given resource group. The information include the description and other properties of the Gateway.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ }
+ ],
+ "tags": [
+ "MeshGateways"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PagedGatewayResourceDescriptionList"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "HealthState": {
+ "type": "string",
+ "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc.",
+ "enum": [
+ "Invalid",
+ "Ok",
+ "Warning",
+ "Error",
+ "Unknown"
+ ],
+ "x-ms-enum": {
+ "name": "HealthState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid health state. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Ok",
+ "description": "Indicates the health state is okay. The value is 1."
+ },
+ {
+ "value": "Warning",
+ "description": "Indicates the health state is at a warning level. The value is 2."
+ },
+ {
+ "value": "Error",
+ "description": "Indicates the health state is at an error level. Error health state should be investigated, as they can impact the correct functionality of the cluster. The value is 3."
+ },
+ {
+ "value": "Unknown",
+ "description": "Indicates an unknown health status. The value is 65535."
+ }
+ ]
+ }
+ },
+ "FabricErrorCodes": {
+ "type": "string",
+ "description": "Defines the fabric error codes that be returned as part of the error object in response to Service Fabric API operations that are not successful. Following are the error code values that can be returned for a specific HTTP status code.\n\n - Possible values of the error code for HTTP status code 400 (Bad Request)\n - \"FABRIC_E_INVALID_PARTITION_KEY\"\n - \"FABRIC_E_IMAGEBUILDER_VALIDATION_ERROR\"\n - \"FABRIC_E_INVALID_ADDRESS\"\n - \"FABRIC_E_APPLICATION_NOT_UPGRADING\"\n - \"FABRIC_E_APPLICATION_UPGRADE_VALIDATION_ERROR\"\n - \"FABRIC_E_FABRIC_NOT_UPGRADING\"\n - \"FABRIC_E_FABRIC_UPGRADE_VALIDATION_ERROR\"\n - \"FABRIC_E_INVALID_CONFIGURATION\"\n - \"FABRIC_E_INVALID_NAME_URI\"\n - \"FABRIC_E_PATH_TOO_LONG\"\n - \"FABRIC_E_KEY_TOO_LARGE\"\n - \"FABRIC_E_SERVICE_AFFINITY_CHAIN_NOT_SUPPORTED\"\n - \"FABRIC_E_INVALID_ATOMIC_GROUP\"\n - \"FABRIC_E_VALUE_EMPTY\"\n - \"FABRIC_E_BACKUP_IS_ENABLED\"\n - \"FABRIC_E_RESTORE_SOURCE_TARGET_PARTITION_MISMATCH\"\n - \"FABRIC_E_INVALID_FOR_STATELESS_SERVICES\"\n - \"FABRIC_E_INVALID_SERVICE_SCALING_POLICY\"\n - \"E_INVALIDARG\"\n\n - Possible values of the error code for HTTP status code 404 (Not Found)\n - \"FABRIC_E_NODE_NOT_FOUND\"\n - \"FABRIC_E_APPLICATION_TYPE_NOT_FOUND\"\n - \"FABRIC_E_APPLICATION_NOT_FOUND\"\n - \"FABRIC_E_SERVICE_TYPE_NOT_FOUND\"\n - \"FABRIC_E_SERVICE_DOES_NOT_EXIST\"\n - \"FABRIC_E_SERVICE_TYPE_TEMPLATE_NOT_FOUND\"\n - \"FABRIC_E_CONFIGURATION_SECTION_NOT_FOUND\"\n - \"FABRIC_E_PARTITION_NOT_FOUND\"\n - \"FABRIC_E_REPLICA_DOES_NOT_EXIST\"\n - \"FABRIC_E_SERVICE_GROUP_DOES_NOT_EXIST\"\n - \"FABRIC_E_CONFIGURATION_PARAMETER_NOT_FOUND\"\n - \"FABRIC_E_DIRECTORY_NOT_FOUND\"\n - \"FABRIC_E_FABRIC_VERSION_NOT_FOUND\"\n - \"FABRIC_E_FILE_NOT_FOUND\"\n - \"FABRIC_E_NAME_DOES_NOT_EXIST\"\n - \"FABRIC_E_PROPERTY_DOES_NOT_EXIST\"\n - \"FABRIC_E_ENUMERATION_COMPLETED\"\n - \"FABRIC_E_SERVICE_MANIFEST_NOT_FOUND\"\n - \"FABRIC_E_KEY_NOT_FOUND\"\n - \"FABRIC_E_HEALTH_ENTITY_NOT_FOUND\"\n - \"FABRIC_E_BACKUP_NOT_ENABLED\"\n - \"FABRIC_E_BACKUP_POLICY_NOT_EXISTING\"\n - \"FABRIC_E_FAULT_ANALYSIS_SERVICE_NOT_EXISTING\"\n - \"FABRIC_E_IMAGEBUILDER_RESERVED_DIRECTORY_ERROR\"\n\n - Possible values of the error code for HTTP status code 409 (Conflict)\n - \"FABRIC_E_APPLICATION_TYPE_ALREADY_EXISTS\"\n - \"FABRIC_E_APPLICATION_ALREADY_EXISTS\"\n - \"FABRIC_E_APPLICATION_ALREADY_IN_TARGET_VERSION\"\n - \"FABRIC_E_APPLICATION_TYPE_PROVISION_IN_PROGRESS\"\n - \"FABRIC_E_APPLICATION_UPGRADE_IN_PROGRESS\"\n - \"FABRIC_E_SERVICE_ALREADY_EXISTS\"\n - \"FABRIC_E_SERVICE_GROUP_ALREADY_EXISTS\"\n - \"FABRIC_E_APPLICATION_TYPE_IN_USE\"\n - \"FABRIC_E_FABRIC_ALREADY_IN_TARGET_VERSION\"\n - \"FABRIC_E_FABRIC_VERSION_ALREADY_EXISTS\"\n - \"FABRIC_E_FABRIC_VERSION_IN_USE\"\n - \"FABRIC_E_FABRIC_UPGRADE_IN_PROGRESS\"\n - \"FABRIC_E_NAME_ALREADY_EXISTS\"\n - \"FABRIC_E_NAME_NOT_EMPTY\"\n - \"FABRIC_E_PROPERTY_CHECK_FAILED\"\n - \"FABRIC_E_SERVICE_METADATA_MISMATCH\"\n - \"FABRIC_E_SERVICE_TYPE_MISMATCH\"\n - \"FABRIC_E_HEALTH_STALE_REPORT\"\n - \"FABRIC_E_SEQUENCE_NUMBER_CHECK_FAILED\"\n - \"FABRIC_E_NODE_HAS_NOT_STOPPED_YET\"\n - \"FABRIC_E_INSTANCE_ID_MISMATCH\"\n - \"FABRIC_E_BACKUP_IN_PROGRESS\"\n - \"FABRIC_E_RESTORE_IN_PROGRESS\"\n - \"FABRIC_E_BACKUP_POLICY_ALREADY_EXISTING\"\n\n - Possible values of the error code for HTTP status code 413 (Request Entity Too Large)\n - \"FABRIC_E_VALUE_TOO_LARGE\"\n\n - Possible values of the error code for HTTP status code 500 (Internal Server Error)\n - \"FABRIC_E_NODE_IS_UP\"\n - \"E_FAIL\"\n - \"FABRIC_E_SINGLE_INSTANCE_APPLICATION_ALREADY_EXISTS\"\n - \"FABRIC_E_SINGLE_INSTANCE_APPLICATION_NOT_FOUND\"\n - \"FABRIC_E_VOLUME_ALREADY_EXISTS\"\n - \"FABRIC_E_VOLUME_NOT_FOUND\"\n - \"SerializationError\"\n\n - Possible values of the error code for HTTP status code 503 (Service Unavailable)\n - \"FABRIC_E_NO_WRITE_QUORUM\"\n - \"FABRIC_E_NOT_PRIMARY\"\n - \"FABRIC_E_NOT_READY\"\n - \"FABRIC_E_RECONFIGURATION_PENDING\"\n - \"FABRIC_E_SERVICE_OFFLINE\"\n - \"E_ABORT\"\n - \"FABRIC_E_VALUE_TOO_LARGE\"\n\n - Possible values of the error code for HTTP status code 504 (Gateway Timeout)\n - \"FABRIC_E_COMMUNICATION_ERROR\"\n - \"FABRIC_E_OPERATION_NOT_COMPLETE\"\n - \"FABRIC_E_TIMEOUT\"",
+ "enum": [
+ "FABRIC_E_INVALID_PARTITION_KEY",
+ "FABRIC_E_IMAGEBUILDER_VALIDATION_ERROR",
+ "FABRIC_E_INVALID_ADDRESS",
+ "FABRIC_E_APPLICATION_NOT_UPGRADING",
+ "FABRIC_E_APPLICATION_UPGRADE_VALIDATION_ERROR",
+ "FABRIC_E_FABRIC_NOT_UPGRADING",
+ "FABRIC_E_FABRIC_UPGRADE_VALIDATION_ERROR",
+ "FABRIC_E_INVALID_CONFIGURATION",
+ "FABRIC_E_INVALID_NAME_URI",
+ "FABRIC_E_PATH_TOO_LONG",
+ "FABRIC_E_KEY_TOO_LARGE",
+ "FABRIC_E_SERVICE_AFFINITY_CHAIN_NOT_SUPPORTED",
+ "FABRIC_E_INVALID_ATOMIC_GROUP",
+ "FABRIC_E_VALUE_EMPTY",
+ "FABRIC_E_NODE_NOT_FOUND",
+ "FABRIC_E_APPLICATION_TYPE_NOT_FOUND",
+ "FABRIC_E_APPLICATION_NOT_FOUND",
+ "FABRIC_E_SERVICE_TYPE_NOT_FOUND",
+ "FABRIC_E_SERVICE_DOES_NOT_EXIST",
+ "FABRIC_E_SERVICE_TYPE_TEMPLATE_NOT_FOUND",
+ "FABRIC_E_CONFIGURATION_SECTION_NOT_FOUND",
+ "FABRIC_E_PARTITION_NOT_FOUND",
+ "FABRIC_E_REPLICA_DOES_NOT_EXIST",
+ "FABRIC_E_SERVICE_GROUP_DOES_NOT_EXIST",
+ "FABRIC_E_CONFIGURATION_PARAMETER_NOT_FOUND",
+ "FABRIC_E_DIRECTORY_NOT_FOUND",
+ "FABRIC_E_FABRIC_VERSION_NOT_FOUND",
+ "FABRIC_E_FILE_NOT_FOUND",
+ "FABRIC_E_NAME_DOES_NOT_EXIST",
+ "FABRIC_E_PROPERTY_DOES_NOT_EXIST",
+ "FABRIC_E_ENUMERATION_COMPLETED",
+ "FABRIC_E_SERVICE_MANIFEST_NOT_FOUND",
+ "FABRIC_E_KEY_NOT_FOUND",
+ "FABRIC_E_HEALTH_ENTITY_NOT_FOUND",
+ "FABRIC_E_APPLICATION_TYPE_ALREADY_EXISTS",
+ "FABRIC_E_APPLICATION_ALREADY_EXISTS",
+ "FABRIC_E_APPLICATION_ALREADY_IN_TARGET_VERSION",
+ "FABRIC_E_APPLICATION_TYPE_PROVISION_IN_PROGRESS",
+ "FABRIC_E_APPLICATION_UPGRADE_IN_PROGRESS",
+ "FABRIC_E_SERVICE_ALREADY_EXISTS",
+ "FABRIC_E_SERVICE_GROUP_ALREADY_EXISTS",
+ "FABRIC_E_APPLICATION_TYPE_IN_USE",
+ "FABRIC_E_FABRIC_ALREADY_IN_TARGET_VERSION",
+ "FABRIC_E_FABRIC_VERSION_ALREADY_EXISTS",
+ "FABRIC_E_FABRIC_VERSION_IN_USE",
+ "FABRIC_E_FABRIC_UPGRADE_IN_PROGRESS",
+ "FABRIC_E_NAME_ALREADY_EXISTS",
+ "FABRIC_E_NAME_NOT_EMPTY",
+ "FABRIC_E_PROPERTY_CHECK_FAILED",
+ "FABRIC_E_SERVICE_METADATA_MISMATCH",
+ "FABRIC_E_SERVICE_TYPE_MISMATCH",
+ "FABRIC_E_HEALTH_STALE_REPORT",
+ "FABRIC_E_SEQUENCE_NUMBER_CHECK_FAILED",
+ "FABRIC_E_NODE_HAS_NOT_STOPPED_YET",
+ "FABRIC_E_INSTANCE_ID_MISMATCH",
+ "FABRIC_E_VALUE_TOO_LARGE",
+ "FABRIC_E_NO_WRITE_QUORUM",
+ "FABRIC_E_NOT_PRIMARY",
+ "FABRIC_E_NOT_READY",
+ "FABRIC_E_RECONFIGURATION_PENDING",
+ "FABRIC_E_SERVICE_OFFLINE",
+ "E_ABORT",
+ "FABRIC_E_COMMUNICATION_ERROR",
+ "FABRIC_E_OPERATION_NOT_COMPLETE",
+ "FABRIC_E_TIMEOUT",
+ "FABRIC_E_NODE_IS_UP",
+ "E_FAIL",
+ "FABRIC_E_BACKUP_IS_ENABLED",
+ "FABRIC_E_RESTORE_SOURCE_TARGET_PARTITION_MISMATCH",
+ "FABRIC_E_INVALID_FOR_STATELESS_SERVICES",
+ "FABRIC_E_BACKUP_NOT_ENABLED",
+ "FABRIC_E_BACKUP_POLICY_NOT_EXISTING",
+ "FABRIC_E_FAULT_ANALYSIS_SERVICE_NOT_EXISTING",
+ "FABRIC_E_BACKUP_IN_PROGRESS",
+ "FABRIC_E_RESTORE_IN_PROGRESS",
+ "FABRIC_E_BACKUP_POLICY_ALREADY_EXISTING",
+ "FABRIC_E_INVALID_SERVICE_SCALING_POLICY",
+ "E_INVALIDARG",
+ "FABRIC_E_SINGLE_INSTANCE_APPLICATION_ALREADY_EXISTS",
+ "FABRIC_E_SINGLE_INSTANCE_APPLICATION_NOT_FOUND",
+ "FABRIC_E_VOLUME_ALREADY_EXISTS",
+ "FABRIC_E_VOLUME_NOT_FOUND",
+ "SerializationError",
+ "FABRIC_E_IMAGEBUILDER_RESERVED_DIRECTORY_ERROR"
+ ],
+ "x-ms-enum": {
+ "name": "FabricErrorCodes",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "FABRIC_E_INVALID_PARTITION_KEY"
+ },
+ {
+ "value": "FABRIC_E_IMAGEBUILDER_VALIDATION_ERROR"
+ },
+ {
+ "value": "FABRIC_E_INVALID_ADDRESS"
+ },
+ {
+ "value": "FABRIC_E_APPLICATION_NOT_UPGRADING"
+ },
+ {
+ "value": "FABRIC_E_APPLICATION_UPGRADE_VALIDATION_ERROR"
+ },
+ {
+ "value": "FABRIC_E_FABRIC_NOT_UPGRADING"
+ },
+ {
+ "value": "FABRIC_E_FABRIC_UPGRADE_VALIDATION_ERROR"
+ },
+ {
+ "value": "FABRIC_E_INVALID_CONFIGURATION"
+ },
+ {
+ "value": "FABRIC_E_INVALID_NAME_URI"
+ },
+ {
+ "value": "FABRIC_E_PATH_TOO_LONG"
+ },
+ {
+ "value": "FABRIC_E_KEY_TOO_LARGE"
+ },
+ {
+ "value": "FABRIC_E_SERVICE_AFFINITY_CHAIN_NOT_SUPPORTED"
+ },
+ {
+ "value": "FABRIC_E_INVALID_ATOMIC_GROUP"
+ },
+ {
+ "value": "FABRIC_E_VALUE_EMPTY"
+ },
+ {
+ "value": "FABRIC_E_NODE_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_APPLICATION_TYPE_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_APPLICATION_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_SERVICE_TYPE_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_SERVICE_DOES_NOT_EXIST"
+ },
+ {
+ "value": "FABRIC_E_SERVICE_TYPE_TEMPLATE_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_CONFIGURATION_SECTION_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_PARTITION_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_REPLICA_DOES_NOT_EXIST"
+ },
+ {
+ "value": "FABRIC_E_SERVICE_GROUP_DOES_NOT_EXIST"
+ },
+ {
+ "value": "FABRIC_E_CONFIGURATION_PARAMETER_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_DIRECTORY_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_FABRIC_VERSION_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_FILE_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_NAME_DOES_NOT_EXIST"
+ },
+ {
+ "value": "FABRIC_E_PROPERTY_DOES_NOT_EXIST"
+ },
+ {
+ "value": "FABRIC_E_ENUMERATION_COMPLETED"
+ },
+ {
+ "value": "FABRIC_E_SERVICE_MANIFEST_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_KEY_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_HEALTH_ENTITY_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_APPLICATION_TYPE_ALREADY_EXISTS"
+ },
+ {
+ "value": "FABRIC_E_APPLICATION_ALREADY_EXISTS"
+ },
+ {
+ "value": "FABRIC_E_APPLICATION_ALREADY_IN_TARGET_VERSION"
+ },
+ {
+ "value": "FABRIC_E_APPLICATION_TYPE_PROVISION_IN_PROGRESS"
+ },
+ {
+ "value": "FABRIC_E_APPLICATION_UPGRADE_IN_PROGRESS"
+ },
+ {
+ "value": "FABRIC_E_SERVICE_ALREADY_EXISTS"
+ },
+ {
+ "value": "FABRIC_E_SERVICE_GROUP_ALREADY_EXISTS"
+ },
+ {
+ "value": "FABRIC_E_APPLICATION_TYPE_IN_USE"
+ },
+ {
+ "value": "FABRIC_E_FABRIC_ALREADY_IN_TARGET_VERSION"
+ },
+ {
+ "value": "FABRIC_E_FABRIC_VERSION_ALREADY_EXISTS"
+ },
+ {
+ "value": "FABRIC_E_FABRIC_VERSION_IN_USE"
+ },
+ {
+ "value": "FABRIC_E_FABRIC_UPGRADE_IN_PROGRESS"
+ },
+ {
+ "value": "FABRIC_E_NAME_ALREADY_EXISTS"
+ },
+ {
+ "value": "FABRIC_E_NAME_NOT_EMPTY"
+ },
+ {
+ "value": "FABRIC_E_PROPERTY_CHECK_FAILED"
+ },
+ {
+ "value": "FABRIC_E_SERVICE_METADATA_MISMATCH"
+ },
+ {
+ "value": "FABRIC_E_SERVICE_TYPE_MISMATCH"
+ },
+ {
+ "value": "FABRIC_E_HEALTH_STALE_REPORT"
+ },
+ {
+ "value": "FABRIC_E_SEQUENCE_NUMBER_CHECK_FAILED"
+ },
+ {
+ "value": "FABRIC_E_NODE_HAS_NOT_STOPPED_YET"
+ },
+ {
+ "value": "FABRIC_E_INSTANCE_ID_MISMATCH"
+ },
+ {
+ "value": "FABRIC_E_VALUE_TOO_LARGE"
+ },
+ {
+ "value": "FABRIC_E_NO_WRITE_QUORUM"
+ },
+ {
+ "value": "FABRIC_E_NOT_PRIMARY"
+ },
+ {
+ "value": "FABRIC_E_NOT_READY"
+ },
+ {
+ "value": "FABRIC_E_RECONFIGURATION_PENDING"
+ },
+ {
+ "value": "FABRIC_E_SERVICE_OFFLINE"
+ },
+ {
+ "value": "E_ABORT"
+ },
+ {
+ "value": "FABRIC_E_COMMUNICATION_ERROR"
+ },
+ {
+ "value": "FABRIC_E_OPERATION_NOT_COMPLETE"
+ },
+ {
+ "value": "FABRIC_E_TIMEOUT"
+ },
+ {
+ "value": "FABRIC_E_NODE_IS_UP"
+ },
+ {
+ "value": "E_FAIL"
+ },
+ {
+ "value": "FABRIC_E_BACKUP_IS_ENABLED"
+ },
+ {
+ "value": "FABRIC_E_RESTORE_SOURCE_TARGET_PARTITION_MISMATCH"
+ },
+ {
+ "value": "FABRIC_E_INVALID_FOR_STATELESS_SERVICES"
+ },
+ {
+ "value": "FABRIC_E_BACKUP_NOT_ENABLED"
+ },
+ {
+ "value": "FABRIC_E_BACKUP_POLICY_NOT_EXISTING"
+ },
+ {
+ "value": "FABRIC_E_FAULT_ANALYSIS_SERVICE_NOT_EXISTING"
+ },
+ {
+ "value": "FABRIC_E_BACKUP_IN_PROGRESS"
+ },
+ {
+ "value": "FABRIC_E_RESTORE_IN_PROGRESS"
+ },
+ {
+ "value": "FABRIC_E_BACKUP_POLICY_ALREADY_EXISTING"
+ },
+ {
+ "value": "FABRIC_E_INVALID_SERVICE_SCALING_POLICY"
+ },
+ {
+ "value": "E_INVALIDARG"
+ },
+ {
+ "value": "FABRIC_E_SINGLE_INSTANCE_APPLICATION_ALREADY_EXISTS"
+ },
+ {
+ "value": "FABRIC_E_SINGLE_INSTANCE_APPLICATION_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_VOLUME_ALREADY_EXISTS"
+ },
+ {
+ "value": "FABRIC_E_VOLUME_NOT_FOUND"
+ },
+ {
+ "value": "SerializationError"
+ },
+ {
+ "value": "FABRIC_E_IMAGEBUILDER_RESERVED_DIRECTORY_ERROR"
+ }
+ ]
+ }
+ },
+ "FabricError": {
+ "description": "The REST API operations for Service Fabric return standard HTTP status codes. This type defines the additional information returned from the Service Fabric API operations that are not successful.",
+ "properties": {
+ "Error": {
+ "$ref": "#/definitions/FabricErrorError",
+ "description": "Error object containing error code and error message."
+ }
+ },
+ "required": [
+ "Error"
+ ]
+ },
+ "FabricErrorError": {
+ "description": "Error object containing error code and error message.",
+ "properties": {
+ "Code": {
+ "$ref": "#/definitions/FabricErrorCodes",
+ "description": "Defines the fabric error codes that be returned as part of the error object in response to Service Fabric API operations that are not successful. Following are the error code values that can be returned for a specific HTTP status code.\n\n - Possible values of the error code for HTTP status code 400 (Bad Request)\n - \"FABRIC_E_INVALID_PARTITION_KEY\"\n - \"FABRIC_E_IMAGEBUILDER_VALIDATION_ERROR\"\n - \"FABRIC_E_INVALID_ADDRESS\"\n - \"FABRIC_E_APPLICATION_NOT_UPGRADING\"\n - \"FABRIC_E_APPLICATION_UPGRADE_VALIDATION_ERROR\"\n - \"FABRIC_E_FABRIC_NOT_UPGRADING\"\n - \"FABRIC_E_FABRIC_UPGRADE_VALIDATION_ERROR\"\n - \"FABRIC_E_INVALID_CONFIGURATION\"\n - \"FABRIC_E_INVALID_NAME_URI\"\n - \"FABRIC_E_PATH_TOO_LONG\"\n - \"FABRIC_E_KEY_TOO_LARGE\"\n - \"FABRIC_E_SERVICE_AFFINITY_CHAIN_NOT_SUPPORTED\"\n - \"FABRIC_E_INVALID_ATOMIC_GROUP\"\n - \"FABRIC_E_VALUE_EMPTY\"\n - \"FABRIC_E_BACKUP_IS_ENABLED\"\n - \"FABRIC_E_RESTORE_SOURCE_TARGET_PARTITION_MISMATCH\"\n - \"FABRIC_E_INVALID_FOR_STATELESS_SERVICES\"\n - \"FABRIC_E_INVALID_SERVICE_SCALING_POLICY\"\n - \"E_INVALIDARG\"\n\n - Possible values of the error code for HTTP status code 404 (Not Found)\n - \"FABRIC_E_NODE_NOT_FOUND\"\n - \"FABRIC_E_APPLICATION_TYPE_NOT_FOUND\"\n - \"FABRIC_E_APPLICATION_NOT_FOUND\"\n - \"FABRIC_E_SERVICE_TYPE_NOT_FOUND\"\n - \"FABRIC_E_SERVICE_DOES_NOT_EXIST\"\n - \"FABRIC_E_SERVICE_TYPE_TEMPLATE_NOT_FOUND\"\n - \"FABRIC_E_CONFIGURATION_SECTION_NOT_FOUND\"\n - \"FABRIC_E_PARTITION_NOT_FOUND\"\n - \"FABRIC_E_REPLICA_DOES_NOT_EXIST\"\n - \"FABRIC_E_SERVICE_GROUP_DOES_NOT_EXIST\"\n - \"FABRIC_E_CONFIGURATION_PARAMETER_NOT_FOUND\"\n - \"FABRIC_E_DIRECTORY_NOT_FOUND\"\n - \"FABRIC_E_FABRIC_VERSION_NOT_FOUND\"\n - \"FABRIC_E_FILE_NOT_FOUND\"\n - \"FABRIC_E_NAME_DOES_NOT_EXIST\"\n - \"FABRIC_E_PROPERTY_DOES_NOT_EXIST\"\n - \"FABRIC_E_ENUMERATION_COMPLETED\"\n - \"FABRIC_E_SERVICE_MANIFEST_NOT_FOUND\"\n - \"FABRIC_E_KEY_NOT_FOUND\"\n - \"FABRIC_E_HEALTH_ENTITY_NOT_FOUND\"\n - \"FABRIC_E_BACKUP_NOT_ENABLED\"\n - \"FABRIC_E_BACKUP_POLICY_NOT_EXISTING\"\n - \"FABRIC_E_FAULT_ANALYSIS_SERVICE_NOT_EXISTING\"\n - \"FABRIC_E_IMAGEBUILDER_RESERVED_DIRECTORY_ERROR\"\n\n - Possible values of the error code for HTTP status code 409 (Conflict)\n - \"FABRIC_E_APPLICATION_TYPE_ALREADY_EXISTS\"\n - \"FABRIC_E_APPLICATION_ALREADY_EXISTS\"\n - \"FABRIC_E_APPLICATION_ALREADY_IN_TARGET_VERSION\"\n - \"FABRIC_E_APPLICATION_TYPE_PROVISION_IN_PROGRESS\"\n - \"FABRIC_E_APPLICATION_UPGRADE_IN_PROGRESS\"\n - \"FABRIC_E_SERVICE_ALREADY_EXISTS\"\n - \"FABRIC_E_SERVICE_GROUP_ALREADY_EXISTS\"\n - \"FABRIC_E_APPLICATION_TYPE_IN_USE\"\n - \"FABRIC_E_FABRIC_ALREADY_IN_TARGET_VERSION\"\n - \"FABRIC_E_FABRIC_VERSION_ALREADY_EXISTS\"\n - \"FABRIC_E_FABRIC_VERSION_IN_USE\"\n - \"FABRIC_E_FABRIC_UPGRADE_IN_PROGRESS\"\n - \"FABRIC_E_NAME_ALREADY_EXISTS\"\n - \"FABRIC_E_NAME_NOT_EMPTY\"\n - \"FABRIC_E_PROPERTY_CHECK_FAILED\"\n - \"FABRIC_E_SERVICE_METADATA_MISMATCH\"\n - \"FABRIC_E_SERVICE_TYPE_MISMATCH\"\n - \"FABRIC_E_HEALTH_STALE_REPORT\"\n - \"FABRIC_E_SEQUENCE_NUMBER_CHECK_FAILED\"\n - \"FABRIC_E_NODE_HAS_NOT_STOPPED_YET\"\n - \"FABRIC_E_INSTANCE_ID_MISMATCH\"\n - \"FABRIC_E_BACKUP_IN_PROGRESS\"\n - \"FABRIC_E_RESTORE_IN_PROGRESS\"\n - \"FABRIC_E_BACKUP_POLICY_ALREADY_EXISTING\"\n\n - Possible values of the error code for HTTP status code 413 (Request Entity Too Large)\n - \"FABRIC_E_VALUE_TOO_LARGE\"\n\n - Possible values of the error code for HTTP status code 500 (Internal Server Error)\n - \"FABRIC_E_NODE_IS_UP\"\n - \"E_FAIL\"\n - \"FABRIC_E_SINGLE_INSTANCE_APPLICATION_ALREADY_EXISTS\"\n - \"FABRIC_E_SINGLE_INSTANCE_APPLICATION_NOT_FOUND\"\n - \"FABRIC_E_VOLUME_ALREADY_EXISTS\"\n - \"FABRIC_E_VOLUME_NOT_FOUND\"\n - \"SerializationError\"\n\n - Possible values of the error code for HTTP status code 503 (Service Unavailable)\n - \"FABRIC_E_NO_WRITE_QUORUM\"\n - \"FABRIC_E_NOT_PRIMARY\"\n - \"FABRIC_E_NOT_READY\"\n - \"FABRIC_E_RECONFIGURATION_PENDING\"\n - \"FABRIC_E_SERVICE_OFFLINE\"\n - \"E_ABORT\"\n - \"FABRIC_E_VALUE_TOO_LARGE\"\n\n - Possible values of the error code for HTTP status code 504 (Gateway Timeout)\n - \"FABRIC_E_COMMUNICATION_ERROR\"\n - \"FABRIC_E_OPERATION_NOT_COMPLETE\"\n - \"FABRIC_E_TIMEOUT\""
+ },
+ "Message": {
+ "type": "string",
+ "description": "Error message."
+ }
+ },
+ "required": [
+ "Code"
+ ]
+ },
+ "ContainerLogs": {
+ "description": "Container logs.",
+ "properties": {
+ "Content": {
+ "type": "string",
+ "description": "Container logs."
+ }
+ }
+ },
+ "AadMetadata": {
+ "description": "Azure Active Directory metadata used for secured connection to cluster.",
+ "properties": {
+ "authority": {
+ "type": "string",
+ "description": "The AAD authority url."
+ },
+ "client": {
+ "type": "string",
+ "description": "The AAD client application Id."
+ },
+ "cluster": {
+ "type": "string",
+ "description": "The AAD cluster application Id."
+ },
+ "login": {
+ "type": "string",
+ "description": "The AAD login url."
+ },
+ "redirect": {
+ "type": "string",
+ "description": "The client application redirect address."
+ },
+ "tenant": {
+ "type": "string",
+ "description": "The AAD tenant Id."
+ }
+ }
+ },
+ "AadMetadataObject": {
+ "description": "Azure Active Directory metadata object used for secured connection to cluster.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The client authentication method."
+ },
+ "metadata": {
+ "$ref": "#/definitions/AadMetadata",
+ "description": "Azure Active Directory metadata used for secured connection to cluster."
+ }
+ }
+ },
+ "AnalysisEventMetadata": {
+ "description": "Metadata about an Analysis Event.",
+ "properties": {
+ "Delay": {
+ "type": "string",
+ "format": "duration",
+ "description": "The analysis delay."
+ },
+ "Duration": {
+ "type": "string",
+ "format": "duration",
+ "description": "The duration of analysis."
+ }
+ }
+ },
+ "ApplicationDefinitionKind": {
+ "type": "string",
+ "description": "The mechanism used to define a Service Fabric application.",
+ "enum": [
+ "Invalid",
+ "ServiceFabricApplicationDescription",
+ "Compose"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationDefinitionKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the application definition kind is invalid. All Service Fabric enumerations have the invalid type. The value is 65535."
+ },
+ {
+ "value": "ServiceFabricApplicationDescription",
+ "description": "Indicates the application is defined by a Service Fabric application description. The value is 0."
+ },
+ {
+ "value": "Compose",
+ "description": "Indicates the application is defined by compose file(s). The value is 1."
+ }
+ ]
+ }
+ },
+ "ApplicationEvent": {
+ "description": "Represents the base for all Application Events.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricEvent"
+ }
+ ],
+ "properties": {
+ "ApplicationId": {
+ "$ref": "#/definitions/ApplicationId",
+ "description": "The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the application name is \"fabric:/myapp/app1\",\nthe application identity would be \"myapp\\~app1\" in 6.0+ and \"myapp/app1\" in previous versions."
+ }
+ },
+ "required": [
+ "ApplicationId"
+ ],
+ "x-ms-discriminator-value": "ApplicationEvent"
+ },
+ "ApplicationEventList": {
+ "description": "A list of ApplicationEvent objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ },
+ "ApplicationHealth": {
+ "description": "Represents the health of the application. Contains the application aggregated health state and the service and deployed application health states.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealth"
+ }
+ ],
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "ServiceHealthStates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceHealthState"
+ },
+ "description": "Service health states as found in the health store."
+ },
+ "DeployedApplicationHealthStates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeployedApplicationHealthState"
+ },
+ "description": "Deployed application health states as found in the health store."
+ }
+ }
+ },
+ "ApplicationHealthEvaluation": {
+ "x-ms-discriminator-value": "Application",
+ "description": "Represents health evaluation for an application, containing information about the data and the algorithm used by the health store to evaluate health.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "ApplicationName": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the current aggregated health state of the application. The types of the unhealthy evaluations can be DeployedApplicationsHealthEvaluation, ServicesHealthEvaluation or EventHealthEvaluation."
+ }
+ }
+ },
+ "ApplicationHealthPolicies": {
+ "description": "Defines the application health policy map used to evaluate the health of an application or one of its children entities.",
+ "properties": {
+ "ApplicationHealthPolicyMap": {
+ "$ref": "#/definitions/ApplicationHealthPolicyMap",
+ "description": "The wrapper that contains the map with application health policies used to evaluate specific applications in the cluster."
+ }
+ }
+ },
+ "ApplicationHealthPolicy": {
+ "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.",
+ "properties": {
+ "ConsiderWarningAsError": {
+ "type": "boolean",
+ "description": "Indicates whether warnings are treated with the same severity as errors.",
+ "default": false
+ },
+ "MaxPercentUnhealthyDeployedApplications": {
+ "type": "integer",
+ "description": "The maximum allowed percentage of unhealthy deployed applications. Allowed values are Byte values from zero to 100.\nThe percentage represents the maximum tolerated percentage of deployed applications that can be unhealthy before the application is considered in error.\nThis is calculated by dividing the number of unhealthy deployed applications over the number of nodes where the application is currently deployed on in the cluster.\nThe computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.",
+ "default": 0
+ },
+ "DefaultServiceTypeHealthPolicy": {
+ "$ref": "#/definitions/ServiceTypeHealthPolicy",
+ "description": "The health policy used by default to evaluate the health of a service type."
+ },
+ "ServiceTypeHealthPolicyMap": {
+ "$ref": "#/definitions/ServiceTypeHealthPolicyMap",
+ "description": "The map with service type health policy per service type name. The map is empty by default."
+ }
+ }
+ },
+ "ApplicationHealthPolicyMap": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationHealthPolicyMapItem"
+ },
+ "description": "Defines a map that contains specific application health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.\nIf an application is not specified in the map, the application health evaluation uses the ApplicationHealthPolicy found in its application manifest or the default application health policy (if no health policy is defined in the manifest).\nThe map is empty by default."
+ },
+ "ApplicationHealthPolicyMapItem": {
+ "description": "Defines an item in ApplicationHealthPolicyMap.",
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "properties": {
+ "Key": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The key of the application health policy map item. This is the name of the application."
+ },
+ "Value": {
+ "$ref": "#/definitions/ApplicationHealthPolicy",
+ "description": "The value of the application health policy map item. This is the ApplicationHealthPolicy for this application."
+ }
+ }
+ },
+ "ApplicationHealthState": {
+ "description": "Represents the health state of an application, which contains the application identifier and the aggregated health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthState"
+ }
+ ],
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ }
+ }
+ },
+ "ApplicationHealthStateChunk": {
+ "description": "Represents the health state chunk of a application.\nThe application health state chunk contains the application name, its aggregated health state and any children services and deployed applications that respect the filters in cluster health chunk query description.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthStateChunk"
+ }
+ ],
+ "properties": {
+ "ApplicationName": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "ApplicationTypeName": {
+ "$ref": "#/definitions/ApplicationTypeName",
+ "description": "The application type name as defined in the application manifest."
+ },
+ "ServiceHealthStateChunks": {
+ "$ref": "#/definitions/ServiceHealthStateChunkList",
+ "description": "The list of service health state chunks in the cluster that respect the filters in the cluster health chunk query description."
+ },
+ "DeployedApplicationHealthStateChunks": {
+ "$ref": "#/definitions/DeployedApplicationHealthStateChunkList",
+ "description": "The list of deployed application health state chunks in the cluster that respect the filters in the cluster health chunk query description."
+ }
+ }
+ },
+ "ApplicationHealthStateChunkList": {
+ "description": "The list of application health state chunks in the cluster that respect the input filters in the chunk query. Returned by get cluster health state chunks query.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthStateChunkList"
+ }
+ ],
+ "properties": {
+ "Items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationHealthStateChunk"
+ },
+ "description": "The list of application health state chunks that respect the input filters in the chunk query."
+ }
+ }
+ },
+ "ApplicationHealthStateFilter": {
+ "description": "Defines matching criteria to determine whether a application should be included in the cluster health chunk.\nOne filter can match zero, one or multiple applications, depending on its properties.",
+ "properties": {
+ "ApplicationNameFilter": {
+ "type": "string",
+ "description": "The name of the application that matches the filter, as a fabric uri. The filter is applied only to the specified application, if it exists.\nIf the application doesn't exist, no application is returned in the cluster health chunk based on this filter.\nIf the application exists, it is included in the cluster health chunk if it respects the other filter properties.\nIf not specified, all applications are matched against the other filter members, like health state filter."
+ },
+ "ApplicationTypeNameFilter": {
+ "type": "string",
+ "description": "The name of the application type that matches the filter.\nIf specified, the filter is applied only to applications of the selected application type, if any exists.\nIf no applications of the specified application type exists, no application is returned in the cluster health chunk based on this filter.\nEach application of the specified application type is included in the cluster health chunk if it respects the other filter properties.\nIf not specified, all applications are matched against the other filter members, like health state filter."
+ },
+ "HealthStateFilter": {
+ "type": "integer",
+ "default": 0,
+ "description": "The filter for the health state of the applications. It allows selecting applications if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only applications that match the filter are returned. All applications are used to evaluate the cluster aggregated health state.\nIf not specified, default value is None, unless the application name or the application type name are specified. If the filter has default value and application name is specified, the matching application is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches applications with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535."
+ },
+ "ServiceFilters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceHealthStateFilter"
+ },
+ "description": "Defines a list of filters that specify which services to be included in the returned cluster health chunk as children of the application. The services are returned only if the parent application matches a filter.\nIf the list is empty, no services are returned. All the services are used to evaluate the parent application aggregated health state, regardless of the input filters.\nThe application filter may specify multiple service filters.\nFor example, it can specify a filter to return all services with health state Error and another filter to always include a service identified by its service name."
+ },
+ "DeployedApplicationFilters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeployedApplicationHealthStateFilter"
+ },
+ "description": "Defines a list of filters that specify which deployed applications to be included in the returned cluster health chunk as children of the application. The deployed applications are returned only if the parent application matches a filter.\nIf the list is empty, no deployed applications are returned. All the deployed applications are used to evaluate the parent application aggregated health state, regardless of the input filters.\nThe application filter may specify multiple deployed application filters.\nFor example, it can specify a filter to return all deployed applications with health state Error and another filter to always include a deployed application on a specified node."
+ }
+ }
+ },
+ "ApplicationId": {
+ "type": "string",
+ "description": "The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the application name is \"fabric:/myapp/app1\",\nthe application identity would be \"myapp\\~app1\" in 6.0+ and \"myapp/app1\" in previous versions."
+ },
+ "ApplicationInfo": {
+ "description": "Information about a Service Fabric application.",
+ "properties": {
+ "Id": {
+ "$ref": "#/definitions/ApplicationId",
+ "description": "The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the application name is \"fabric:/myapp/app1\",\nthe application identity would be \"myapp\\~app1\" in 6.0+ and \"myapp/app1\" in previous versions."
+ },
+ "Name": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "TypeName": {
+ "$ref": "#/definitions/ApplicationTypeName",
+ "description": "The application type name as defined in the application manifest."
+ },
+ "TypeVersion": {
+ "$ref": "#/definitions/ApplicationTypeVersion",
+ "description": "The version of the application type as defined in the application manifest."
+ },
+ "Status": {
+ "$ref": "#/definitions/ApplicationStatus",
+ "description": "The status of the application."
+ },
+ "Parameters": {
+ "$ref": "#/definitions/ApplicationParameterList",
+ "description": "List of application parameters with overridden values from their default values specified in the application manifest."
+ },
+ "HealthState": {
+ "$ref": "#/definitions/HealthState",
+ "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc."
+ },
+ "ApplicationDefinitionKind": {
+ "$ref": "#/definitions/ApplicationDefinitionKind",
+ "description": "The mechanism used to define a Service Fabric application."
+ }
+ }
+ },
+ "ApplicationLoadInfo": {
+ "description": "Load Information about a Service Fabric application.",
+ "properties": {
+ "Id": {
+ "$ref": "#/definitions/ApplicationId",
+ "description": "The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the application name is \"fabric:/myapp/app1\",\nthe application identity would be \"myapp\\~app1\" in 6.0+ and \"myapp/app1\" in previous versions."
+ },
+ "MinimumNodes": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The minimum number of nodes for this application.\nIt is the number of nodes where Service Fabric will reserve Capacity in the cluster which equals to ReservedLoad * MinimumNodes for this Application instance.\nFor applications that do not have application capacity defined this value will be zero."
+ },
+ "MaximumNodes": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The maximum number of nodes where this application can be instantiated.\nIt is the number of nodes this application is allowed to span.\nFor applications that do not have application capacity defined this value will be zero."
+ },
+ "NodeCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The number of nodes on which this application is instantiated.\nFor applications that do not have application capacity defined this value will be zero."
+ },
+ "ApplicationLoadMetricInformation": {
+ "$ref": "#/definitions/ApplicationLoadMetricInformationList",
+ "description": "List of application load metric information."
+ }
+ }
+ },
+ "ApplicationName": {
+ "type": "string",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "ApplicationNameInfo": {
+ "description": "Information about the application name.",
+ "properties": {
+ "Id": {
+ "$ref": "#/definitions/ApplicationId",
+ "description": "The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the application name is \"fabric:/myapp/app1\",\nthe application identity would be \"myapp\\~app1\" in 6.0+ and \"myapp/app1\" in previous versions."
+ },
+ "Name": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ }
+ }
+ },
+ "ApplicationPackageCleanupPolicy": {
+ "type": "string",
+ "description": "The kind of action that needs to be taken for cleaning up the application package after successful provision.",
+ "enum": [
+ "Invalid",
+ "Default",
+ "Automatic",
+ "Manual"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationPackageCleanupPolicy",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates that the application package cleanup policy is invalid. This value is default. The value is zero."
+ },
+ {
+ "value": "Default",
+ "description": "Indicates that the cleanup policy of application packages is based on the cluster setting \"CleanupApplicationPackageOnProvisionSuccess.\" The value is 1."
+ },
+ {
+ "value": "Automatic",
+ "description": "Indicates that the service fabric runtime determines when to do the application package cleanup. By default, cleanup is done on successful provision. The value is 2."
+ },
+ {
+ "value": "Manual",
+ "description": "Indicates that the user has to explicitly clean up the application package. The value is 3."
+ }
+ ]
+ }
+ },
+ "ApplicationParameter": {
+ "description": "Describes an application parameter override to be applied when creating or upgrading an application.",
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "properties": {
+ "Key": {
+ "type": "string",
+ "description": "The name of the parameter."
+ },
+ "Value": {
+ "type": "string",
+ "description": "The value of the parameter."
+ }
+ }
+ },
+ "ApplicationParameterList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationParameter"
+ },
+ "description": "List of application parameters with overridden values from their default values specified in the application manifest."
+ },
+ "ApplicationsHealthEvaluation": {
+ "x-ms-discriminator-value": "Applications",
+ "description": "Represents health evaluation for applications, containing health evaluations for each unhealthy application that impacted current aggregated health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "MaxPercentUnhealthyApplications": {
+ "type": "integer",
+ "description": "Maximum allowed percentage of unhealthy applications from the ClusterHealthPolicy."
+ },
+ "TotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of applications from the health store."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ApplicationHealthEvaluation that impacted the aggregated health."
+ }
+ }
+ },
+ "ApplicationStatus": {
+ "type": "string",
+ "description": "The status of the application.",
+ "enum": [
+ "Invalid",
+ "Ready",
+ "Upgrading",
+ "Creating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the application status is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Ready",
+ "description": "Indicates the application status is ready. The value is 1."
+ },
+ {
+ "value": "Upgrading",
+ "description": "Indicates the application status is upgrading. The value is 2."
+ },
+ {
+ "value": "Creating",
+ "description": "Indicates the application status is creating. The value is 3."
+ },
+ {
+ "value": "Deleting",
+ "description": "Indicates the application status is deleting. The value is 4."
+ },
+ {
+ "value": "Failed",
+ "description": "Indicates the creation or deletion of application was terminated due to persistent failures. Another create/delete request can be accepted to resume a failed application. The value is 5."
+ }
+ ]
+ }
+ },
+ "ApplicationTypeApplicationsHealthEvaluation": {
+ "x-ms-discriminator-value": "ApplicationTypeApplications",
+ "description": "Represents health evaluation for applications of a particular application type. The application type applications evaluation can be returned when cluster health evaluation returns unhealthy aggregated health state, either Error or Warning. It contains health evaluations for each unhealthy application of the included application type that impacted current aggregated health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "ApplicationTypeName": {
+ "$ref": "#/definitions/ApplicationTypeName",
+ "description": "The application type name as defined in the application manifest."
+ },
+ "MaxPercentUnhealthyApplications": {
+ "type": "integer",
+ "description": "Maximum allowed percentage of unhealthy applications for the application type, specified as an entry in ApplicationTypeHealthPolicyMap."
+ },
+ "TotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of applications of the application type found in the health store."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ApplicationHealthEvaluation of this application type that impacted the aggregated health."
+ }
+ }
+ },
+ "ApplicationTypeDefinitionKind": {
+ "type": "string",
+ "description": "The mechanism used to define a Service Fabric application type.",
+ "enum": [
+ "Invalid",
+ "ServiceFabricApplicationPackage",
+ "Compose"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationTypeDefinitionKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the application type definition kind is invalid. All Service Fabric enumerations have the invalid type. The value is 0."
+ },
+ {
+ "value": "ServiceFabricApplicationPackage",
+ "description": "Indicates the application type is defined and created by a Service Fabric application package provided by the user. The value is 1."
+ },
+ {
+ "value": "Compose",
+ "description": "Indicates the application type is defined and created implicitly as part of a compose deployment. The value is 2."
+ }
+ ]
+ }
+ },
+ "ApplicationTypeHealthPolicyMap": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationTypeHealthPolicyMapItem"
+ },
+ "description": "Defines a map with max percentage unhealthy applications for specific application types.\nEach entry specifies as key the application type name and as value an integer that represents the MaxPercentUnhealthyApplications percentage used to evaluate the applications of the specified application type.\n\nThe application type health policy map can be used during cluster health evaluation to describe special application types.\nThe application types included in the map are evaluated against the percentage specified in the map, and not with the global MaxPercentUnhealthyApplications defined in the cluster health policy.\nThe applications of application types specified in the map are not counted against the global pool of applications.\nFor example, if some applications of a type are critical, the cluster administrator can add an entry to the map for that application type\nand assign it a value of 0% (that is, do not tolerate any failures).\nAll other applications can be evaluated with MaxPercentUnhealthyApplications set to 20% to tolerate some failures out of the thousands of application instances.\nThe application type health policy map is used only if the cluster manifest enables application type health evaluation using the configuration entry for HealthManager/EnableApplicationTypeHealthEvaluation."
+ },
+ "ApplicationTypeHealthPolicyMapItem": {
+ "description": "Defines an item in ApplicationTypeHealthPolicyMap.",
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "properties": {
+ "Key": {
+ "type": "string",
+ "description": "The key of the application type health policy map item. This is the name of the application type."
+ },
+ "Value": {
+ "type": "integer",
+ "description": "The value of the application type health policy map item.\nThe max percent unhealthy applications allowed for the application type. Must be between zero and 100."
+ }
+ }
+ },
+ "ApplicationTypeInfo": {
+ "description": "Information about an application type.",
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/ApplicationTypeName",
+ "description": "The application type name as defined in the application manifest."
+ },
+ "Version": {
+ "$ref": "#/definitions/ApplicationTypeVersion",
+ "description": "The version of the application type as defined in the application manifest."
+ },
+ "DefaultParameterList": {
+ "$ref": "#/definitions/ApplicationTypeParameterList",
+ "description": "List of application type parameters that can be overridden when creating or updating the application."
+ },
+ "Status": {
+ "$ref": "#/definitions/ApplicationTypeStatus",
+ "description": "The status of the application type."
+ },
+ "StatusDetails": {
+ "type": "string",
+ "description": "Additional detailed information about the status of the application type."
+ },
+ "ApplicationTypeDefinitionKind": {
+ "$ref": "#/definitions/ApplicationTypeDefinitionKind",
+ "description": "The mechanism used to define a Service Fabric application type."
+ }
+ }
+ },
+ "PagedApplicationTypeInfoList": {
+ "description": "The list of application types that are provisioned or being provisioned in the cluster. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "List of application type information.",
+ "items": {
+ "$ref": "#/definitions/ApplicationTypeInfo"
+ }
+ }
+ }
+ },
+ "ApplicationTypeManifest": {
+ "description": "Contains the manifest describing an application type registered in a Service Fabric cluster.",
+ "properties": {
+ "Manifest": {
+ "type": "string",
+ "description": "The XML manifest as a string."
+ }
+ }
+ },
+ "ApplicationTypeName": {
+ "type": "string",
+ "description": "The application type name as defined in the application manifest."
+ },
+ "ApplicationTypeParameterList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationParameter"
+ },
+ "description": "List of application type parameters that can be overridden when creating or updating the application."
+ },
+ "ApplicationTypeStatus": {
+ "type": "string",
+ "description": "The status of the application type.",
+ "enum": [
+ "Invalid",
+ "Provisioning",
+ "Available",
+ "Unprovisioning",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationTypeStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the application type status is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Provisioning",
+ "description": "Indicates that the application type is being provisioned in the cluster. The value is 1."
+ },
+ {
+ "value": "Available",
+ "description": "Indicates that the application type is fully provisioned and is available for use. An application of this type and version can be created. The value is 2."
+ },
+ {
+ "value": "Unprovisioning",
+ "description": "Indicates that the application type is in process of being unprovisioned from the cluster. The value is 3."
+ },
+ {
+ "value": "Failed",
+ "description": "Indicates that the application type provisioning failed and it is unavailable for use. The failure details can be obtained from the application type information query. The failed application type information remains in the cluster until it is unprovisioned or reprovisioned successfully. The value is 4."
+ }
+ ]
+ }
+ },
+ "ApplicationUnhealthyEvaluations": {
+ "description": "List of health evaluations that resulted in the current aggregated health state.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthEvaluationWrapper"
+ }
+ },
+ "ApplicationUpgradeDescription": {
+ "description": "Describes the parameters for an application upgrade. Note that upgrade description replaces the existing application description. This means that if the parameters are not specified, the existing parameters on the applications will be overwritten with the empty parameters list. This would result in the application using the default value of the parameters from the application manifest. If you do not want to change any existing parameter values, please get the application parameters first using the GetApplicationInfo query and then supply those values as Parameters in this ApplicationUpgradeDescription.",
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/TargetApplicationName",
+ "description": "The name of the target application, including the 'fabric:' URI scheme."
+ },
+ "TargetApplicationTypeVersion": {
+ "$ref": "#/definitions/TargetApplicationTypeVersion",
+ "description": "The target application type version (found in the application manifest) for the application upgrade."
+ },
+ "Parameters": {
+ "$ref": "#/definitions/ApplicationParameterList",
+ "description": "List of application parameters with overridden values from their default values specified in the application manifest."
+ },
+ "UpgradeKind": {
+ "$ref": "#/definitions/UpgradeKind",
+ "description": "The kind of upgrade out of the following possible values."
+ },
+ "RollingUpgradeMode": {
+ "$ref": "#/definitions/UpgradeMode",
+ "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored."
+ },
+ "UpgradeReplicaSetCheckTimeoutInSeconds": {
+ "$ref": "#/definitions/UpgradeReplicaSetCheckTimeout",
+ "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer)."
+ },
+ "ForceRestart": {
+ "$ref": "#/definitions/ForceRestart",
+ "description": "If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data)."
+ },
+ "SortOrder": {
+ "$ref": "#/definitions/UpgradeSortOrder",
+ "description": "Defines the order in which an upgrade proceeds through the cluster."
+ },
+ "MonitoringPolicy": {
+ "$ref": "#/definitions/MonitoringPolicyDescription",
+ "description": "Describes the parameters for monitoring an upgrade in Monitored mode."
+ },
+ "ApplicationHealthPolicy": {
+ "$ref": "#/definitions/ApplicationHealthPolicy",
+ "description": "Defines a health policy used to evaluate the health of an application or one of its children entities."
+ },
+ "InstanceCloseDelayDurationInSeconds": {
+ "$ref": "#/definitions/InstanceCloseDelayDurationInSeconds",
+ "description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster\nupgrade, only for those instances which have a non-zero delay duration configured in the service description. See InstanceCloseDelayDurationSeconds property in $ref: \"#/definitions/StatelessServiceDescription.yaml\" for details.\nNote, the default value of InstanceCloseDelayDurationInSeconds is 4294967295, which indicates that the behavior will entirely depend on the delay configured in the stateless service description."
+ }
+ },
+ "required": [
+ "Name",
+ "TargetApplicationTypeVersion",
+ "UpgradeKind"
+ ]
+ },
+ "ApplicationUpgradeProgressInfo": {
+ "description": "Describes the parameters for an application upgrade.",
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/TargetApplicationName",
+ "description": "The name of the target application, including the 'fabric:' URI scheme."
+ },
+ "TypeName": {
+ "$ref": "#/definitions/ApplicationTypeName",
+ "description": "The application type name as defined in the application manifest."
+ },
+ "TargetApplicationTypeVersion": {
+ "$ref": "#/definitions/TargetApplicationTypeVersion",
+ "description": "The target application type version (found in the application manifest) for the application upgrade."
+ },
+ "UpgradeDomains": {
+ "$ref": "#/definitions/UpgradeDomainInfoList",
+ "description": "List of upgrade domains and their statuses."
+ },
+ "UpgradeState": {
+ "$ref": "#/definitions/UpgradeState",
+ "description": "The state of the upgrade domain."
+ },
+ "NextUpgradeDomain": {
+ "$ref": "#/definitions/NextUpgradeDomain",
+ "description": "The name of the next upgrade domain to be processed."
+ },
+ "RollingUpgradeMode": {
+ "$ref": "#/definitions/UpgradeMode",
+ "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored."
+ },
+ "UpgradeDescription": {
+ "$ref": "#/definitions/ApplicationUpgradeDescription",
+ "description": "Describes the parameters for an application upgrade. Note that upgrade description replaces the existing application description. This means that if the parameters are not specified, the existing parameters on the applications will be overwritten with the empty parameters list. This would result in the application using the default value of the parameters from the application manifest. If you do not want to change any existing parameter values, please get the application parameters first using the GetApplicationInfo query and then supply those values as Parameters in this ApplicationUpgradeDescription."
+ },
+ "UpgradeDurationInMilliseconds": {
+ "type": "string",
+ "description": "The estimated total amount of time spent processing the overall upgrade."
+ },
+ "UpgradeDomainDurationInMilliseconds": {
+ "type": "string",
+ "description": "The estimated total amount of time spent processing the current upgrade domain."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of health evaluations that resulted in the current aggregated health state."
+ },
+ "CurrentUpgradeDomainProgress": {
+ "$ref": "#/definitions/CurrentUpgradeDomainProgressInfo",
+ "description": "Information about the current in-progress upgrade domain."
+ },
+ "StartTimestampUtc": {
+ "type": "string",
+ "description": "The estimated UTC datetime when the upgrade started."
+ },
+ "FailureTimestampUtc": {
+ "type": "string",
+ "description": "The estimated UTC datetime when the upgrade failed and FailureAction was executed."
+ },
+ "FailureReason": {
+ "$ref": "#/definitions/FailureReason",
+ "description": "The cause of an upgrade failure that resulted in FailureAction being executed."
+ },
+ "UpgradeDomainProgressAtFailure": {
+ "$ref": "#/definitions/FailureUpgradeDomainProgressInfo",
+ "description": "Information about the upgrade domain progress at the time of upgrade failure."
+ },
+ "UpgradeStatusDetails": {
+ "type": "string",
+ "description": "Additional detailed information about the status of the pending upgrade."
+ }
+ }
+ },
+ "ByteArray": {
+ "description": "Array of bytes to be sent as an integer array. Each element of array is a number between 0 and 255.",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "ClusterConfiguration": {
+ "description": "Information about the standalone cluster configuration.",
+ "properties": {
+ "ClusterConfiguration": {
+ "type": "string",
+ "description": "The contents of the cluster configuration file."
+ }
+ }
+ },
+ "ClusterEvent": {
+ "description": "Represents the base for all Cluster Events.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricEvent"
+ }
+ ],
+ "x-ms-discriminator-value": "ClusterEvent"
+ },
+ "ClusterEventList": {
+ "description": "A list of ClusterEvent objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClusterEvent"
+ }
+ },
+ "ClusterHealth": {
+ "description": "Represents the health of the cluster.\nContains the cluster aggregated health state, the cluster application and node health states as well as the health events and the unhealthy evaluations.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealth"
+ }
+ ],
+ "properties": {
+ "NodeHealthStates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NodeHealthState"
+ },
+ "description": "Cluster node health states as found in the health store."
+ },
+ "ApplicationHealthStates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationHealthState"
+ },
+ "description": "Cluster application health states as found in the health store."
+ }
+ }
+ },
+ "ClusterHealthChunk": {
+ "description": "Represents the health chunk of the cluster.\nContains the cluster aggregated health state, and the cluster entities that respect the input filter.",
+ "properties": {
+ "HealthState": {
+ "$ref": "#/definitions/HealthState",
+ "description": "The HealthState representing the aggregated health state of the cluster computed by Health Manager.\nThe health evaluation of the entity reflects all events reported on the entity and its children (if any).\nThe aggregation is done by applying the desired cluster health policy and the application health policies."
+ },
+ "NodeHealthStateChunks": {
+ "$ref": "#/definitions/NodeHealthStateChunkList",
+ "description": "The list of node health state chunks in the cluster that respect the filters in the cluster health chunk query description."
+ },
+ "ApplicationHealthStateChunks": {
+ "$ref": "#/definitions/ApplicationHealthStateChunkList",
+ "description": "The list of application health state chunks in the cluster that respect the filters in the cluster health chunk query description."
+ }
+ }
+ },
+ "ClusterHealthChunkQueryDescription": {
+ "description": "The cluster health chunk query description, which can specify the health policies to evaluate cluster health and very expressive filters to select which cluster entities to include in response.",
+ "properties": {
+ "NodeFilters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NodeHealthStateFilter"
+ },
+ "description": "Defines a list of filters that specify which nodes to be included in the returned cluster health chunk.\nIf no filters are specified, no nodes are returned. All the nodes are used to evaluate the cluster's aggregated health state, regardless of the input filters.\nThe cluster health chunk query may specify multiple node filters.\nFor example, it can specify a filter to return all nodes with health state Error and another filter to always include a node identified by its NodeName."
+ },
+ "ApplicationFilters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationHealthStateFilter"
+ },
+ "description": "Defines a list of filters that specify which applications to be included in the returned cluster health chunk.\nIf no filters are specified, no applications are returned. All the applications are used to evaluate the cluster's aggregated health state, regardless of the input filters.\nThe cluster health chunk query may specify multiple application filters.\nFor example, it can specify a filter to return all applications with health state Error and another filter to always include applications of a specified application type."
+ },
+ "ClusterHealthPolicy": {
+ "$ref": "#/definitions/ClusterHealthPolicy",
+ "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node."
+ },
+ "ApplicationHealthPolicies": {
+ "$ref": "#/definitions/ApplicationHealthPolicies",
+ "description": "Defines the application health policy map used to evaluate the health of an application or one of its children entities."
+ }
+ }
+ },
+ "ClusterHealthPolicies": {
+ "description": "Health policies to evaluate cluster health.",
+ "properties": {
+ "ApplicationHealthPolicyMap": {
+ "$ref": "#/definitions/ApplicationHealthPolicyMap",
+ "description": "Defines a map that contains specific application health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.\nIf an application is not specified in the map, the application health evaluation uses the ApplicationHealthPolicy found in its application manifest or the default application health policy (if no health policy is defined in the manifest).\nThe map is empty by default."
+ },
+ "ClusterHealthPolicy": {
+ "$ref": "#/definitions/ClusterHealthPolicy",
+ "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node."
+ }
+ }
+ },
+ "ClusterHealthPolicy": {
+ "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.",
+ "properties": {
+ "ConsiderWarningAsError": {
+ "type": "boolean",
+ "description": "Indicates whether warnings are treated with the same severity as errors.",
+ "default": false
+ },
+ "MaxPercentUnhealthyNodes": {
+ "type": "integer",
+ "description": "The maximum allowed percentage of unhealthy nodes before reporting an error. For example, to allow 10% of nodes to be unhealthy, this value would be 10.\n\nThe percentage represents the maximum tolerated percentage of nodes that can be unhealthy before the cluster is considered in error.\nIf the percentage is respected but there is at least one unhealthy node, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy nodes over the total number of nodes in the cluster.\nThe computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.\n\nIn large clusters, some nodes will always be down or out for repairs, so this percentage should be configured to tolerate that.",
+ "default": 0
+ },
+ "MaxPercentUnhealthyApplications": {
+ "type": "integer",
+ "description": "The maximum allowed percentage of unhealthy applications before reporting an error. For example, to allow 10% of applications to be unhealthy, this value would be 10.\n\nThe percentage represents the maximum tolerated percentage of applications that can be unhealthy before the cluster is considered in error.\nIf the percentage is respected but there is at least one unhealthy application, the health is evaluated as Warning.\nThis is calculated by dividing the number of unhealthy applications over the total number of application instances in the cluster, excluding applications of application types that are included in the ApplicationTypeHealthPolicyMap.\nThe computation rounds up to tolerate one failure on small numbers of applications. Default percentage is zero.",
+ "default": 0
+ },
+ "ApplicationTypeHealthPolicyMap": {
+ "$ref": "#/definitions/ApplicationTypeHealthPolicyMap",
+ "description": "Defines a map with max percentage unhealthy applications for specific application types.\nEach entry specifies as key the application type name and as value an integer that represents the MaxPercentUnhealthyApplications percentage used to evaluate the applications of the specified application type.\n\nThe application type health policy map can be used during cluster health evaluation to describe special application types.\nThe application types included in the map are evaluated against the percentage specified in the map, and not with the global MaxPercentUnhealthyApplications defined in the cluster health policy.\nThe applications of application types specified in the map are not counted against the global pool of applications.\nFor example, if some applications of a type are critical, the cluster administrator can add an entry to the map for that application type\nand assign it a value of 0% (that is, do not tolerate any failures).\nAll other applications can be evaluated with MaxPercentUnhealthyApplications set to 20% to tolerate some failures out of the thousands of application instances.\nThe application type health policy map is used only if the cluster manifest enables application type health evaluation using the configuration entry for HealthManager/EnableApplicationTypeHealthEvaluation."
+ }
+ }
+ },
+ "ClusterManifest": {
+ "description": "Information about the cluster manifest.",
+ "properties": {
+ "Manifest": {
+ "type": "string",
+ "description": "The contents of the cluster manifest file."
+ }
+ }
+ },
+ "ClusterLoadInfo": {
+ "description": "Information about load in a Service Fabric cluster. It holds a summary of all metrics and their load in a cluster.",
+ "properties": {
+ "LastBalancingStartTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The starting time of last resource balancing run."
+ },
+ "LastBalancingEndTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The end time of last resource balancing run."
+ },
+ "LoadMetricInformation": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LoadMetricInformation"
+ },
+ "description": "List that contains metrics and their load information in this cluster."
+ }
+ }
+ },
+ "LoadMetricInformation": {
+ "description": "Represents data structure that contains load information for a certain metric in a cluster.",
+ "properties": {
+ "Name": {
+ "type": "string",
+ "description": "Name of the metric for which this load information is provided."
+ },
+ "IsBalancedBefore": {
+ "type": "boolean",
+ "description": "Value that indicates whether the metrics is balanced or not before resource balancer run"
+ },
+ "IsBalancedAfter": {
+ "type": "boolean",
+ "description": "Value that indicates whether the metrics is balanced or not after resource balancer run."
+ },
+ "DeviationBefore": {
+ "type": "string",
+ "format": "double",
+ "description": "The standard average deviation of the metrics before resource balancer run."
+ },
+ "DeviationAfter": {
+ "type": "string",
+ "format": "double",
+ "description": "The standard average deviation of the metrics after resource balancer run."
+ },
+ "BalancingThreshold": {
+ "type": "string",
+ "format": "double",
+ "description": "The balancing threshold for a certain metric."
+ },
+ "Action": {
+ "type": "string",
+ "description": "The current action being taken with regard to this metric"
+ },
+ "ActivityThreshold": {
+ "type": "string",
+ "format": "double",
+ "description": "The Activity Threshold specified for this metric in the system Cluster Manifest."
+ },
+ "ClusterCapacity": {
+ "type": "string",
+ "description": "The total cluster capacity for a given metric"
+ },
+ "ClusterLoad": {
+ "type": "string",
+ "description": "The total cluster load. In future releases of Service Fabric this parameter will be deprecated in favor of CurrentClusterLoad."
+ },
+ "CurrentClusterLoad": {
+ "type": "string",
+ "format": "double",
+ "description": "The total cluster load."
+ },
+ "ClusterRemainingCapacity": {
+ "type": "string",
+ "description": "The remaining capacity for the metric in the cluster. In future releases of Service Fabric this parameter will be deprecated in favor of ClusterCapacityRemaining."
+ },
+ "ClusterCapacityRemaining": {
+ "type": "string",
+ "description": "The remaining capacity for the metric in the cluster."
+ },
+ "IsClusterCapacityViolation": {
+ "type": "boolean",
+ "description": "Indicates that the metric is currently over capacity in the cluster."
+ },
+ "NodeBufferPercentage": {
+ "type": "string",
+ "format": "double",
+ "description": "The reserved percentage of total node capacity for this metric."
+ },
+ "ClusterBufferedCapacity": {
+ "type": "string",
+ "description": "Remaining capacity in the cluster excluding the reserved space. In future releases of Service Fabric this parameter will be deprecated in favor of BufferedClusterCapacityRemaining."
+ },
+ "BufferedClusterCapacityRemaining": {
+ "type": "string",
+ "format": "double",
+ "description": "Remaining capacity in the cluster excluding the reserved space."
+ },
+ "ClusterRemainingBufferedCapacity": {
+ "type": "string",
+ "description": "The remaining percentage of cluster total capacity for this metric."
+ },
+ "MinNodeLoadValue": {
+ "type": "string",
+ "description": "The minimum load on any node for this metric. In future releases of Service Fabric this parameter will be deprecated in favor of MinimumNodeLoad."
+ },
+ "MinimumNodeLoad": {
+ "type": "string",
+ "format": "double",
+ "description": "The minimum load on any node for this metric."
+ },
+ "MinNodeLoadNodeId": {
+ "$ref": "#/definitions/NodeId",
+ "description": "The node id of the node with the minimum load for this metric."
+ },
+ "MaxNodeLoadValue": {
+ "type": "string",
+ "description": "The maximum load on any node for this metric. In future releases of Service Fabric this parameter will be deprecated in favor of MaximumNodeLoad."
+ },
+ "MaximumNodeLoad": {
+ "type": "string",
+ "format": "double",
+ "description": "The maximum load on any node for this metric."
+ },
+ "MaxNodeLoadNodeId": {
+ "$ref": "#/definitions/NodeId",
+ "description": "The node id of the node with the maximum load for this metric."
+ },
+ "PlannedLoadRemoval": {
+ "type": "string",
+ "format": "double",
+ "description": "This value represents the load of the replicas that are planned to be removed in the future within the cluster.\nThis kind of load is reported for replicas that are currently being moving to other nodes and for replicas that are currently being dropped but still use the load on the source node."
+ }
+ }
+ },
+ "ClusterVersion": {
+ "description": "The cluster version.",
+ "properties": {
+ "Version": {
+ "type": "string",
+ "description": "The Service Fabric cluster runtime version."
+ }
+ }
+ },
+ "ContainerApiRequestBody": {
+ "description": "parameters for making container API call.",
+ "properties": {
+ "HttpVerb": {
+ "type": "string",
+ "description": "HTTP verb of container REST API, defaults to \"GET\""
+ },
+ "UriPath": {
+ "type": "string",
+ "description": "URI path of container REST API"
+ },
+ "Content-Type": {
+ "type": "string",
+ "description": "Content type of container REST API request, defaults to \"application/json\""
+ },
+ "Body": {
+ "type": "string",
+ "description": "HTTP request body of container REST API"
+ }
+ },
+ "required": [
+ "UriPath"
+ ]
+ },
+ "ContainerApiResponse": {
+ "description": "Response body that wraps container API result.",
+ "properties": {
+ "ContainerApiResult": {
+ "$ref": "#/definitions/ContainerApiResult",
+ "description": "Container API result."
+ }
+ },
+ "required": [
+ "ContainerApiResult"
+ ]
+ },
+ "ContainerApiResult": {
+ "description": "Container API result.",
+ "properties": {
+ "Status": {
+ "type": "integer",
+ "description": "HTTP status code returned by the target container API"
+ },
+ "Content-Type": {
+ "type": "string",
+ "description": "HTTP content type"
+ },
+ "Content-Encoding": {
+ "type": "string",
+ "description": "HTTP content encoding"
+ },
+ "Body": {
+ "type": "string",
+ "description": "container API result body"
+ }
+ },
+ "required": [
+ "Status"
+ ]
+ },
+ "ContainerInstanceEvent": {
+ "description": "Represents the base for all Container Events.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricEvent"
+ }
+ ],
+ "x-ms-discriminator-value": "ContainerInstanceEvent"
+ },
+ "ContainerInstanceEventList": {
+ "description": "A list of ContainerInstanceEvent objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerInstanceEvent"
+ }
+ },
+ "ContinuationToken": {
+ "type": "string",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "ConfigParameterOverrideList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConfigParameterOverride"
+ },
+ "description": "List that contains parameters, sections that they belong and their values."
+ },
+ "ConfigParameterOverride": {
+ "description": "Information about a configuration parameter override.",
+ "properties": {
+ "SectionName": {
+ "type": "string",
+ "description": "Name of the section for the parameter override."
+ },
+ "ParameterName": {
+ "type": "string",
+ "description": "Name of the parameter that has been overridden."
+ },
+ "ParameterValue": {
+ "type": "string",
+ "description": "Value of the overridden parameter."
+ },
+ "Timeout": {
+ "type": "string",
+ "format": "duration",
+ "description": "The duration until config override is considered as valid."
+ },
+ "PersistAcrossUpgrade": {
+ "type": "boolean",
+ "description": "A value that indicates whether config override will be removed on upgrade or will still be considered as valid."
+ }
+ },
+ "required": [
+ "SectionName",
+ "ParameterName",
+ "ParameterValue"
+ ]
+ },
+ "CurrentUpgradeDomainProgressInfo": {
+ "description": "Information about the current in-progress upgrade domain.",
+ "properties": {
+ "DomainName": {
+ "$ref": "#/definitions/UpgradeDomainName",
+ "description": "The name of the upgrade domain"
+ },
+ "NodeUpgradeProgressList": {
+ "$ref": "#/definitions/NodeUpgradeProgressInfoList",
+ "description": "List of upgrading nodes and their statuses"
+ }
+ }
+ },
+ "CurrentUpgradeDomainDuration": {
+ "type": "string",
+ "description": "The estimated amount of time spent processing current Upgrade Domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.",
+ "default": "PT0H2M0S"
+ },
+ "DeactivationIntentDescription": {
+ "description": "Describes the intent or reason for deactivating the node.",
+ "properties": {
+ "DeactivationIntent": {
+ "type": "string",
+ "description": "Describes the intent or reason for deactivating the node. The possible values are following.",
+ "enum": [
+ "Pause",
+ "Restart",
+ "RemoveData"
+ ],
+ "x-ms-enum": {
+ "name": "DeactivationIntent",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Pause",
+ "description": "Indicates that the node should be paused. The value is 1."
+ },
+ {
+ "value": "Restart",
+ "description": "Indicates that the intent is for the node to be restarted after a short period of time. The value is 2."
+ },
+ {
+ "value": "RemoveData",
+ "description": "Indicates the intent is for the node to remove data. The value is 3."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "DeltaNodesCheckHealthEvaluation": {
+ "x-ms-discriminator-value": "DeltaNodesCheck",
+ "description": "Represents health evaluation for delta nodes, containing health evaluations for each unhealthy node that impacted current aggregated health state.\nCan be returned during cluster upgrade when the aggregated health state of the cluster is Warning or Error.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "BaselineErrorCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of nodes with aggregated heath state Error in the health store at the beginning of the cluster upgrade."
+ },
+ "BaselineTotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of nodes in the health store at the beginning of the cluster upgrade."
+ },
+ "MaxPercentDeltaUnhealthyNodes": {
+ "type": "integer",
+ "description": "Maximum allowed percentage of delta unhealthy nodes from the ClusterUpgradeHealthPolicy."
+ },
+ "TotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of nodes in the health store."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the aggregated health state.\nIncludes all the unhealthy NodeHealthEvaluation that impacted the aggregated health."
+ }
+ }
+ },
+ "DeployedApplicationHealth": {
+ "description": "Information about the health of an application deployed on a Service Fabric node.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealth"
+ }
+ ],
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "Name of the application deployed on the node whose health information is described by this object."
+ },
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "Name of the node where this application is deployed."
+ },
+ "DeployedServicePackageHealthStates": {
+ "$ref": "#/definitions/DeployedServicePackageHealthStateList",
+ "description": "Deployed service package health states for the current deployed application as found in the health store."
+ }
+ }
+ },
+ "DeployedApplicationHealthEvaluation": {
+ "x-ms-discriminator-value": "DeployedApplication",
+ "description": "Represents health evaluation for a deployed application, containing information about the data and the algorithm used by the health store to evaluate health.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "Name of the node where the application is deployed to."
+ },
+ "ApplicationName": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the current aggregated health state of the deployed application.\nThe types of the unhealthy evaluations can be DeployedServicePackagesHealthEvaluation or EventHealthEvaluation."
+ }
+ }
+ },
+ "DeployedApplicationHealthState": {
+ "description": "Represents the health state of a deployed application, which contains the entity identifier and the aggregated health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthState"
+ }
+ ],
+ "properties": {
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "Name of the node on which the service package is deployed."
+ },
+ "ApplicationName": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ }
+ }
+ },
+ "DeployedApplicationHealthStateChunk": {
+ "description": "Represents the health state chunk of a deployed application, which contains the node where the application is deployed, the aggregated health state and any deployed service packages that respect the chunk query description filters.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthStateChunk"
+ }
+ ],
+ "properties": {
+ "NodeName": {
+ "type": "string",
+ "description": "The name of node where the application is deployed."
+ },
+ "DeployedServicePackageHealthStateChunks": {
+ "$ref": "#/definitions/DeployedServicePackageHealthStateChunkList",
+ "description": "The list of deployed service package health state chunks belonging to the deployed application that respect the filters in the cluster health chunk query description."
+ }
+ }
+ },
+ "DeployedApplicationHealthStateChunkList": {
+ "description": "The list of deployed application health state chunks that respect the input filters in the chunk query. Returned by get cluster health state chunks query.",
+ "properties": {
+ "Items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeployedApplicationHealthStateChunk"
+ },
+ "description": "The list of deployed application health state chunks that respect the input filters in the chunk query."
+ }
+ }
+ },
+ "DeployedApplicationHealthStateFilter": {
+ "description": "Defines matching criteria to determine whether a deployed application should be included as a child of an application in the cluster health chunk.\nThe deployed applications are only returned if the parent application matches a filter specified in the cluster health chunk query description.\nOne filter can match zero, one or multiple deployed applications, depending on its properties.",
+ "properties": {
+ "NodeNameFilter": {
+ "type": "string",
+ "description": "The name of the node where the application is deployed in order to match the filter.\nIf specified, the filter is applied only to the application deployed on the specified node.\nIf the application is not deployed on the node with the specified name, no deployed application is returned in the cluster health chunk based on this filter.\nOtherwise, the deployed application is included in the cluster health chunk if it respects the other filter properties.\nIf not specified, all deployed applications that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter."
+ },
+ "HealthStateFilter": {
+ "type": "integer",
+ "default": 0,
+ "description": "The filter for the health state of the deployed applications. It allows selecting deployed applications if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only deployed applications that match the filter are returned. All deployed applications are used to evaluate the cluster aggregated health state.\nIf not specified, default value is None, unless the node name is specified. If the filter has default value and node name is specified, the matching deployed application is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches deployed applications with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535."
+ },
+ "DeployedServicePackageFilters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeployedServicePackageHealthStateFilter"
+ },
+ "description": "Defines a list of filters that specify which deployed service packages to be included in the returned cluster health chunk as children of the parent deployed application. The deployed service packages are returned only if the parent deployed application matches a filter.\nIf the list is empty, no deployed service packages are returned. All the deployed service packages are used to evaluate the parent deployed application aggregated health state, regardless of the input filters.\nThe deployed application filter may specify multiple deployed service package filters.\nFor example, it can specify a filter to return all deployed service packages with health state Error and another filter to always include a deployed service package on a node."
+ }
+ }
+ },
+ "DeployedApplicationInfo": {
+ "description": "Information about application deployed on the node.",
+ "properties": {
+ "Id": {
+ "$ref": "#/definitions/ApplicationId",
+ "description": "The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the application name is \"fabric:/myapp/app1\",\nthe application identity would be \"myapp\\~app1\" in 6.0+ and \"myapp/app1\" in previous versions."
+ },
+ "Name": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "TypeName": {
+ "$ref": "#/definitions/ApplicationTypeName",
+ "description": "The application type name as defined in the application manifest."
+ },
+ "Status": {
+ "$ref": "#/definitions/DeployedApplicationStatus",
+ "description": "The status of the application deployed on the node. Following are the possible values."
+ },
+ "WorkDirectory": {
+ "type": "string",
+ "description": "The work directory of the application on the node. The work directory can be used to store application data."
+ },
+ "LogDirectory": {
+ "type": "string",
+ "description": "The log directory of the application on the node. The log directory can be used to store application logs."
+ },
+ "TempDirectory": {
+ "type": "string",
+ "description": "The temp directory of the application on the node. The code packages belonging to the application are forked with this directory set as their temporary directory."
+ },
+ "HealthState": {
+ "$ref": "#/definitions/HealthState",
+ "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc."
+ }
+ }
+ },
+ "DeployedApplicationInfoList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeployedApplicationInfo"
+ },
+ "description": "List of deployed application information."
+ },
+ "DeployedApplicationsHealthEvaluation": {
+ "x-ms-discriminator-value": "DeployedApplications",
+ "description": "Represents health evaluation for deployed applications, containing health evaluations for each unhealthy deployed application that impacted current aggregated health state.\nCan be returned when evaluating application health and the aggregated health state is either Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "MaxPercentUnhealthyDeployedApplications": {
+ "type": "integer",
+ "description": "Maximum allowed percentage of unhealthy deployed applications from the ApplicationHealthPolicy."
+ },
+ "TotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of deployed applications of the application in the health store."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy DeployedApplicationHealthEvaluation that impacted the aggregated health."
+ }
+ }
+ },
+ "DeployedApplicationStatus": {
+ "type": "string",
+ "description": "The status of the application deployed on the node. Following are the possible values.",
+ "enum": [
+ "Invalid",
+ "Downloading",
+ "Activating",
+ "Active",
+ "Upgrading",
+ "Deactivating"
+ ],
+ "x-ms-enum": {
+ "name": "DeployedApplicationStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates that deployment status is not valid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Downloading",
+ "description": "Indicates that the package is downloading from the ImageStore. The value is 1."
+ },
+ {
+ "value": "Activating",
+ "description": "Indicates that the package is activating. The value is 2."
+ },
+ {
+ "value": "Active",
+ "description": "Indicates that the package is active. The value is 3."
+ },
+ {
+ "value": "Upgrading",
+ "description": "Indicates that the package is upgrading. The value is 4."
+ },
+ {
+ "value": "Deactivating",
+ "description": "Indicates that the package is deactivating. The value is 5."
+ }
+ ]
+ }
+ },
+ "DeployedServicePackageHealth": {
+ "description": "Information about the health of a service package for a specific application deployed on a Service Fabric node.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealth"
+ }
+ ],
+ "properties": {
+ "ApplicationName": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "ServiceManifestName": {
+ "$ref": "#/definitions/ServiceManifestName",
+ "description": "Name of the service manifest."
+ },
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "Name of the node where this service package is deployed."
+ }
+ }
+ },
+ "DeployedServicePackageHealthEvaluation": {
+ "x-ms-discriminator-value": "DeployedServicePackage",
+ "description": "Represents health evaluation for a deployed service package, containing information about the data and the algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated health state is either Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "ApplicationName": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "ServiceManifestName": {
+ "$ref": "#/definitions/ServiceManifestName",
+ "description": "The name of the service manifest."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the current aggregated health state. The type of the unhealthy evaluations can be EventHealthEvaluation."
+ }
+ }
+ },
+ "DeployedServicePackageHealthState": {
+ "description": "Represents the health state of a deployed service package, containing the entity identifier and the aggregated health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthState"
+ }
+ ],
+ "properties": {
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "Name of the node on which the service package is deployed."
+ },
+ "ApplicationName": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "ServiceManifestName": {
+ "$ref": "#/definitions/ServiceManifestName",
+ "description": "Name of the manifest describing the service package."
+ },
+ "ServicePackageActivationId": {
+ "$ref": "#/definitions/ServicePackageActivationId",
+ "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string."
+ }
+ }
+ },
+ "DeployedServicePackageHealthStateChunk": {
+ "description": "Represents the health state chunk of a deployed service package, which contains the service manifest name and the service package aggregated health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthStateChunk"
+ }
+ ],
+ "properties": {
+ "ServiceManifestName": {
+ "$ref": "#/definitions/ServiceManifestName",
+ "description": "The name of the service manifest."
+ },
+ "ServicePackageActivationId": {
+ "$ref": "#/definitions/ServicePackageActivationId",
+ "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string."
+ }
+ }
+ },
+ "DeployedServicePackageHealthStateChunkList": {
+ "description": "The list of deployed service package health state chunks that respect the input filters in the chunk query. Returned by get cluster health state chunks query.",
+ "properties": {
+ "Items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeployedServicePackageHealthStateChunk"
+ },
+ "description": "The list of deployed service package health state chunks that respect the input filters in the chunk query."
+ }
+ }
+ },
+ "DeployedServicePackageHealthStateFilter": {
+ "description": "Defines matching criteria to determine whether a deployed service package should be included as a child of a deployed application in the cluster health chunk.\nThe deployed service packages are only returned if the parent entities match a filter specified in the cluster health chunk query description. The parent deployed application and its parent application must be included in the cluster health chunk.\nOne filter can match zero, one or multiple deployed service packages, depending on its properties.",
+ "properties": {
+ "ServiceManifestNameFilter": {
+ "type": "string",
+ "description": "The name of the service manifest which identifies the deployed service packages that matches the filter.\nIf specified, the filter is applied only to the specified deployed service packages, if any.\nIf no deployed service packages with specified manifest name exist, nothing is returned in the cluster health chunk based on this filter.\nIf any deployed service package exists, they are included in the cluster health chunk if it respects the other filter properties.\nIf not specified, all deployed service packages that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter."
+ },
+ "ServicePackageActivationIdFilter": {
+ "type": "string",
+ "description": "The activation ID of a deployed service package that matches the filter.\nIf not specified, the filter applies to all deployed service packages that match the other parameters.\nIf specified, the filter matches only the deployed service package with the specified activation ID."
+ },
+ "HealthStateFilter": {
+ "type": "integer",
+ "default": 0,
+ "description": "The filter for the health state of the deployed service packages. It allows selecting deployed service packages if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only deployed service packages that match the filter are returned. All deployed service packages are used to evaluate the parent deployed application aggregated health state.\nIf not specified, default value is None, unless the deployed service package ID is specified. If the filter has default value and deployed service package ID is specified, the matching deployed service package is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches deployed service packages with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535."
+ }
+ }
+ },
+ "DeployedServicePackageHealthStateList": {
+ "description": "List of health states for a service package deployed on a Service Fabric node.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeployedServicePackageHealthState"
+ }
+ },
+ "DeployedServicePackagesHealthEvaluation": {
+ "x-ms-discriminator-value": "DeployedServicePackages",
+ "description": "Represents health evaluation for deployed service packages, containing health evaluations for each unhealthy deployed service package that impacted current aggregated health state. Can be returned when evaluating deployed application health and the aggregated health state is either Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "TotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of deployed service packages of the deployed application in the health store."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy DeployedServicePackageHealthEvaluation that impacted the aggregated health."
+ }
+ }
+ },
+ "DeployedServiceReplicaInfo": {
+ "discriminator": "ServiceKind",
+ "description": "Information about a Service Fabric service replica deployed on a node.",
+ "required": [
+ "ServiceKind"
+ ],
+ "properties": {
+ "ServiceKind": {
+ "$ref": "#/definitions/ServiceKind",
+ "description": "The kind of service (Stateless or Stateful)."
+ },
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The full name of the service with 'fabric:' URI scheme."
+ },
+ "ServiceTypeName": {
+ "$ref": "#/definitions/ServiceTypeName",
+ "description": "Name of the service type as specified in the service manifest."
+ },
+ "ServiceManifestName": {
+ "$ref": "#/definitions/ServiceManifestName",
+ "description": "The name of the service manifest in which this service type is defined."
+ },
+ "CodePackageName": {
+ "$ref": "#/definitions/CodePackageName",
+ "description": "The name of the code package that hosts this replica."
+ },
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different."
+ },
+ "ReplicaStatus": {
+ "$ref": "#/definitions/ReplicaStatus",
+ "description": "The status of a replica of a service."
+ },
+ "Address": {
+ "type": "string",
+ "description": "The last address returned by the replica in Open or ChangeRole."
+ },
+ "ServicePackageActivationId": {
+ "$ref": "#/definitions/ServicePackageActivationId",
+ "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string."
+ },
+ "HostProcessId": {
+ "type": "string",
+ "description": "Host process ID of the process that is hosting the replica. This will be zero if the replica is down. In hyper-v containers this host process ID will be from different kernel."
+ }
+ }
+ },
+ "DeployedServiceReplicaInfoList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeployedServiceReplicaInfo"
+ },
+ "description": "List of deployed service replica information."
+ },
+ "DeployedStatefulServiceReplicaInfo": {
+ "description": "Information about a stateful service replica deployed on a node.",
+ "x-ms-discriminator-value": "Stateful",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeployedServiceReplicaInfo"
+ }
+ ],
+ "properties": {
+ "ReplicaId": {
+ "$ref": "#/definitions/ReplicaId",
+ "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id."
+ },
+ "ReplicaRole": {
+ "$ref": "#/definitions/ReplicaRole",
+ "description": "The role of a replica of a stateful service."
+ },
+ "ReconfigurationInformation": {
+ "$ref": "#/definitions/ReconfigurationInformation",
+ "description": "Information about current reconfiguration like phase, type, previous configuration role of replica and reconfiguration start date time."
+ }
+ }
+ },
+ "DeployedStatelessServiceInstanceInfo": {
+ "description": "Information about a stateless service instance deployed on a node.",
+ "x-ms-discriminator-value": "Stateless",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeployedServiceReplicaInfo"
+ }
+ ],
+ "properties": {
+ "InstanceId": {
+ "$ref": "#/definitions/InstanceId",
+ "description": "Id of a stateless service instance. InstanceId is used by Service Fabric to uniquely identify an instance of a partition of a stateless service. It is unique within a partition and does not change for the lifetime of the instance. If the instance has failed over on the same or different node, it will get a different value for the InstanceId."
+ }
+ }
+ },
+ "EntityHealth": {
+ "description": "Health information common to all entities in the cluster. It contains the aggregated health state, health events and unhealthy evaluation.",
+ "properties": {
+ "AggregatedHealthState": {
+ "$ref": "#/definitions/HealthState",
+ "description": "The HealthState representing the aggregated health state of the entity computed by Health Manager.\nThe health evaluation of the entity reflects all events reported on the entity and its children (if any).\nThe aggregation is done by applying the desired health policy."
+ },
+ "HealthEvents": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthEvent"
+ },
+ "description": "The list of health events reported on the entity."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager."
+ },
+ "HealthStatistics": {
+ "$ref": "#/definitions/HealthStatistics",
+ "description": "Shows the health statistics for all children types of the queried entity."
+ }
+ }
+ },
+ "EntityHealthState": {
+ "description": "A base type for the health state of various entities in the cluster. It contains the aggregated health state.",
+ "properties": {
+ "AggregatedHealthState": {
+ "$ref": "#/definitions/HealthState",
+ "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc."
+ }
+ }
+ },
+ "EntityHealthStateChunk": {
+ "description": "A base type for the health state chunk of various entities in the cluster. It contains the aggregated health state.",
+ "properties": {
+ "HealthState": {
+ "$ref": "#/definitions/HealthState",
+ "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc."
+ }
+ }
+ },
+ "EntityHealthStateChunkList": {
+ "description": "A base type for the list of health state chunks found in the cluster. It contains the total number of health states that match the input filters.",
+ "properties": {
+ "TotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of entity health state objects that match the specified filters from the cluster health chunk query description."
+ }
+ }
+ },
+ "Epoch": {
+ "description": "An Epoch is a configuration number for the partition as a whole. When the configuration of the replica set changes, for example when the Primary replica changes, the operations that are replicated from the new Primary replica are said to be a new Epoch from the ones which were sent by the old Primary replica.",
+ "properties": {
+ "ConfigurationVersion": {
+ "type": "string",
+ "description": "The current configuration number of this Epoch. The configuration number is an increasing value that is updated whenever the configuration of this replica set changes."
+ },
+ "DataLossVersion": {
+ "type": "string",
+ "description": "The current data loss number of this Epoch. The data loss number property is an increasing value which is updated whenever data loss is suspected, as when loss of a quorum of replicas in the replica set that includes the Primary replica."
+ }
+ }
+ },
+ "EventHealthEvaluation": {
+ "x-ms-discriminator-value": "Event",
+ "description": "Represents health evaluation of a HealthEvent that was reported on the entity.\nThe health evaluation is returned when evaluating health of an entity results in Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "ConsiderWarningAsError": {
+ "type": "boolean",
+ "description": "Indicates whether warnings are treated with the same severity as errors. The field is specified in the health policy used to evaluate the entity."
+ },
+ "UnhealthyEvent": {
+ "$ref": "#/definitions/HealthEvent",
+ "description": "Represents health information reported on a health entity, such as cluster, application or node, with additional metadata added by the Health Manager."
+ }
+ }
+ },
+ "EventList": {
+ "description": "A list of FabricEvent objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FabricEvent"
+ }
+ },
+ "FabricCodeVersionInfo": {
+ "description": "Information about a Service Fabric code version.",
+ "properties": {
+ "CodeVersion": {
+ "description": "The product version of Service Fabric.",
+ "type": "string"
+ }
+ }
+ },
+ "FabricCodeVersionInfoList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FabricCodeVersionInfo"
+ },
+ "description": "List of all Service Fabric code versions."
+ },
+ "FabricConfigVersionInfo": {
+ "description": "Information about a Service Fabric config version.",
+ "properties": {
+ "ConfigVersion": {
+ "description": "The config version of Service Fabric.",
+ "type": "string"
+ }
+ }
+ },
+ "FabricConfigVersionInfoList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FabricConfigVersionInfo"
+ },
+ "description": "List of all Service Fabric config versions."
+ },
+ "FabricEvent": {
+ "discriminator": "Kind",
+ "description": "Represents the base for all Fabric Events.",
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/FabricEventKind",
+ "description": "The kind of FabricEvent."
+ },
+ "EventInstanceId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "The identifier for the FabricEvent instance."
+ },
+ "Category": {
+ "type": "string",
+ "description": "The category of event."
+ },
+ "TimeStamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time event was logged."
+ },
+ "HasCorrelatedEvents": {
+ "type": "boolean",
+ "description": "Shows there is existing related events available."
+ }
+ },
+ "required": [
+ "Kind",
+ "EventInstanceId",
+ "TimeStamp"
+ ]
+ },
+ "FabricEventKind": {
+ "type": "string",
+ "description": "The kind of FabricEvent.",
+ "enum": [
+ "ClusterEvent",
+ "ContainerInstanceEvent",
+ "NodeEvent",
+ "ApplicationEvent",
+ "ServiceEvent",
+ "PartitionEvent",
+ "ReplicaEvent",
+ "PartitionAnalysisEvent",
+ "ApplicationCreated",
+ "ApplicationDeleted",
+ "ApplicationNewHealthReport",
+ "ApplicationHealthReportExpired",
+ "ApplicationUpgradeCompleted",
+ "ApplicationUpgradeDomainCompleted",
+ "ApplicationUpgradeRollbackCompleted",
+ "ApplicationUpgradeRollbackStarted",
+ "ApplicationUpgradeStarted",
+ "DeployedApplicationNewHealthReport",
+ "DeployedApplicationHealthReportExpired",
+ "ApplicationProcessExited",
+ "ApplicationContainerInstanceExited",
+ "NodeAborted",
+ "NodeAddedToCluster",
+ "NodeClosed",
+ "NodeDeactivateCompleted",
+ "NodeDeactivateStarted",
+ "NodeDown",
+ "NodeNewHealthReport",
+ "NodeHealthReportExpired",
+ "NodeOpenSucceeded",
+ "NodeOpenFailed",
+ "NodeRemovedFromCluster",
+ "NodeUp",
+ "PartitionNewHealthReport",
+ "PartitionHealthReportExpired",
+ "PartitionReconfigured",
+ "PartitionPrimaryMoveAnalysis",
+ "ServiceCreated",
+ "ServiceDeleted",
+ "ServiceNewHealthReport",
+ "ServiceHealthReportExpired",
+ "DeployedServicePackageNewHealthReport",
+ "DeployedServicePackageHealthReportExpired",
+ "StatefulReplicaNewHealthReport",
+ "StatefulReplicaHealthReportExpired",
+ "StatelessReplicaNewHealthReport",
+ "StatelessReplicaHealthReportExpired",
+ "ClusterNewHealthReport",
+ "ClusterHealthReportExpired",
+ "ClusterUpgradeCompleted",
+ "ClusterUpgradeDomainCompleted",
+ "ClusterUpgradeRollbackCompleted",
+ "ClusterUpgradeRollbackStarted",
+ "ClusterUpgradeStarted",
+ "ChaosStopped",
+ "ChaosStarted",
+ "ChaosCodePackageRestartScheduled",
+ "ChaosReplicaRemovalScheduled",
+ "ChaosPartitionSecondaryMoveScheduled",
+ "ChaosPartitionPrimaryMoveScheduled",
+ "ChaosReplicaRestartScheduled",
+ "ChaosNodeRestartScheduled"
+ ],
+ "x-ms-enum": {
+ "name": "FabricEventKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "ClusterEvent"
+ },
+ {
+ "value": "ContainerInstanceEvent"
+ },
+ {
+ "value": "NodeEvent"
+ },
+ {
+ "value": "ApplicationEvent"
+ },
+ {
+ "value": "ServiceEvent"
+ },
+ {
+ "value": "PartitionEvent"
+ },
+ {
+ "value": "ReplicaEvent"
+ },
+ {
+ "value": "PartitionAnalysisEvent"
+ },
+ {
+ "value": "ApplicationCreated"
+ },
+ {
+ "value": "ApplicationDeleted"
+ },
+ {
+ "value": "ApplicationNewHealthReport"
+ },
+ {
+ "value": "ApplicationHealthReportExpired"
+ },
+ {
+ "value": "ApplicationUpgradeCompleted"
+ },
+ {
+ "value": "ApplicationUpgradeDomainCompleted"
+ },
+ {
+ "value": "ApplicationUpgradeRollbackCompleted"
+ },
+ {
+ "value": "ApplicationUpgradeRollbackStarted"
+ },
+ {
+ "value": "ApplicationUpgradeStarted"
+ },
+ {
+ "value": "DeployedApplicationNewHealthReport"
+ },
+ {
+ "value": "DeployedApplicationHealthReportExpired"
+ },
+ {
+ "value": "ApplicationProcessExited"
+ },
+ {
+ "value": "ApplicationContainerInstanceExited"
+ },
+ {
+ "value": "NodeAborted"
+ },
+ {
+ "value": "NodeAddedToCluster"
+ },
+ {
+ "value": "NodeClosed"
+ },
+ {
+ "value": "NodeDeactivateCompleted"
+ },
+ {
+ "value": "NodeDeactivateStarted"
+ },
+ {
+ "value": "NodeDown"
+ },
+ {
+ "value": "NodeNewHealthReport"
+ },
+ {
+ "value": "NodeHealthReportExpired"
+ },
+ {
+ "value": "NodeOpenSucceeded"
+ },
+ {
+ "value": "NodeOpenFailed"
+ },
+ {
+ "value": "NodeRemovedFromCluster"
+ },
+ {
+ "value": "NodeUp"
+ },
+ {
+ "value": "PartitionNewHealthReport"
+ },
+ {
+ "value": "PartitionHealthReportExpired"
+ },
+ {
+ "value": "PartitionReconfigured"
+ },
+ {
+ "value": "PartitionPrimaryMoveAnalysis"
+ },
+ {
+ "value": "ServiceCreated"
+ },
+ {
+ "value": "ServiceDeleted"
+ },
+ {
+ "value": "ServiceNewHealthReport"
+ },
+ {
+ "value": "ServiceHealthReportExpired"
+ },
+ {
+ "value": "DeployedServicePackageNewHealthReport"
+ },
+ {
+ "value": "DeployedServicePackageHealthReportExpired"
+ },
+ {
+ "value": "StatefulReplicaNewHealthReport"
+ },
+ {
+ "value": "StatefulReplicaHealthReportExpired"
+ },
+ {
+ "value": "StatelessReplicaNewHealthReport"
+ },
+ {
+ "value": "StatelessReplicaHealthReportExpired"
+ },
+ {
+ "value": "ClusterNewHealthReport"
+ },
+ {
+ "value": "ClusterHealthReportExpired"
+ },
+ {
+ "value": "ClusterUpgradeCompleted"
+ },
+ {
+ "value": "ClusterUpgradeDomainCompleted"
+ },
+ {
+ "value": "ClusterUpgradeRollbackCompleted"
+ },
+ {
+ "value": "ClusterUpgradeRollbackStarted"
+ },
+ {
+ "value": "ClusterUpgradeStarted"
+ },
+ {
+ "value": "ChaosStopped"
+ },
+ {
+ "value": "ChaosStarted"
+ },
+ {
+ "value": "ChaosCodePackageRestartScheduled"
+ },
+ {
+ "value": "ChaosReplicaRemovalScheduled"
+ },
+ {
+ "value": "ChaosPartitionSecondaryMoveScheduled"
+ },
+ {
+ "value": "ChaosPartitionPrimaryMoveScheduled"
+ },
+ {
+ "value": "ChaosReplicaRestartScheduled"
+ },
+ {
+ "value": "ChaosNodeRestartScheduled"
+ }
+ ]
+ }
+ },
+ "ClusterConfigurationUpgradeStatusInfo": {
+ "description": "Information about a standalone cluster configuration upgrade status.",
+ "properties": {
+ "UpgradeState": {
+ "$ref": "#/definitions/UpgradeState",
+ "description": "The state of the upgrade domain."
+ },
+ "ProgressStatus": {
+ "type": "integer",
+ "description": "The cluster manifest version."
+ },
+ "ConfigVersion": {
+ "type": "string",
+ "description": "The cluster configuration version."
+ },
+ "Details": {
+ "type": "string",
+ "description": "The cluster upgrade status details."
+ }
+ }
+ },
+ "FailureAction": {
+ "type": "string",
+ "description": "The compensating action to perform when a Monitored upgrade encounters monitoring policy or health policy violations.\nInvalid indicates the failure action is invalid. Rollback specifies that the upgrade will start rolling back automatically.\nManual indicates that the upgrade will switch to UnmonitoredManual upgrade mode.",
+ "enum": [
+ "Invalid",
+ "Rollback",
+ "Manual"
+ ],
+ "x-ms-enum": {
+ "name": "FailureAction",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the failure action is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Rollback",
+ "description": "The upgrade will start rolling back automatically. The value is 1"
+ },
+ {
+ "value": "Manual",
+ "description": "The upgrade will switch to UnmonitoredManual upgrade mode. The value is 2"
+ }
+ ]
+ }
+ },
+ "FailureReason": {
+ "type": "string",
+ "description": "The cause of an upgrade failure that resulted in FailureAction being executed.",
+ "enum": [
+ "None",
+ "Interrupted",
+ "HealthCheck",
+ "UpgradeDomainTimeout",
+ "OverallUpgradeTimeout"
+ ],
+ "x-ms-enum": {
+ "name": "FailureReason",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "Indicates the reason is invalid or unknown. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Interrupted",
+ "description": "There was an external request to roll back the upgrade. The value is 1"
+ },
+ {
+ "value": "HealthCheck",
+ "description": "The upgrade failed due to health policy violations. The value is 2"
+ },
+ {
+ "value": "UpgradeDomainTimeout",
+ "description": "An upgrade domain took longer than the allowed upgrade domain timeout to process. The value is 3"
+ },
+ {
+ "value": "OverallUpgradeTimeout",
+ "description": "The overall upgrade took longer than the allowed upgrade timeout to process. The value is 4"
+ }
+ ]
+ }
+ },
+ "FailureUpgradeDomainProgressInfo": {
+ "description": "Information about the upgrade domain progress at the time of upgrade failure.",
+ "properties": {
+ "DomainName": {
+ "$ref": "#/definitions/UpgradeDomainName",
+ "description": "The name of the upgrade domain"
+ },
+ "NodeUpgradeProgressList": {
+ "$ref": "#/definitions/NodeUpgradeProgressInfoList",
+ "description": "List of upgrading nodes and their statuses"
+ }
+ }
+ },
+ "ForceRestart": {
+ "type": "boolean",
+ "description": "If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data).",
+ "default": false
+ },
+ "HealthCheckRetryTimeout": {
+ "type": "string",
+ "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.",
+ "default": "PT0H10M0S"
+ },
+ "HealthCheckStableDuration": {
+ "type": "string",
+ "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.",
+ "default": "PT0H2M0S"
+ },
+ "HealthCheckWaitDuration": {
+ "type": "string",
+ "description": "The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.",
+ "default": "0"
+ },
+ "HealthEvaluation": {
+ "discriminator": "Kind",
+ "description": "Represents a health evaluation which describes the data and the algorithm used by health manager to evaluate the health of an entity.",
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/HealthEvaluationKind",
+ "description": "The health manager in the cluster performs health evaluations in determining the aggregated health state of an entity. This enumeration provides information on the kind of evaluation that was performed. Following are the possible values."
+ },
+ "AggregatedHealthState": {
+ "$ref": "#/definitions/HealthState",
+ "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of the health evaluation, which represents a summary of the evaluation process."
+ }
+ },
+ "required": [
+ "Kind"
+ ]
+ },
+ "HealthEvaluationKind": {
+ "type": "string",
+ "description": "The health manager in the cluster performs health evaluations in determining the aggregated health state of an entity. This enumeration provides information on the kind of evaluation that was performed. Following are the possible values.",
+ "enum": [
+ "Invalid",
+ "Event",
+ "Replicas",
+ "Partitions",
+ "DeployedServicePackages",
+ "DeployedApplications",
+ "Services",
+ "Nodes",
+ "Applications",
+ "SystemApplication",
+ "UpgradeDomainDeployedApplications",
+ "UpgradeDomainNodes",
+ "Replica",
+ "Partition",
+ "DeployedServicePackage",
+ "DeployedApplication",
+ "Service",
+ "Node",
+ "Application",
+ "DeltaNodesCheck",
+ "UpgradeDomainDeltaNodesCheck",
+ "ApplicationTypeApplications"
+ ],
+ "x-ms-enum": {
+ "name": "HealthEvaluationKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates that the health evaluation is invalid. The value is zero."
+ },
+ {
+ "value": "Event",
+ "description": "Indicates that the health evaluation is for a health event. The value is 1."
+ },
+ {
+ "value": "Replicas",
+ "description": "Indicates that the health evaluation is for the replicas of a partition. The value is 2."
+ },
+ {
+ "value": "Partitions",
+ "description": "Indicates that the health evaluation is for the partitions of a service. The value is 3."
+ },
+ {
+ "value": "DeployedServicePackages",
+ "description": "Indicates that the health evaluation is for the deployed service packages of a deployed application. The value is 4."
+ },
+ {
+ "value": "DeployedApplications",
+ "description": "Indicates that the health evaluation is for the deployed applications of an application. The value is 5."
+ },
+ {
+ "value": "Services",
+ "description": "Indicates that the health evaluation is for services of an application. The value is 6."
+ },
+ {
+ "value": "Nodes",
+ "description": "Indicates that the health evaluation is for the cluster nodes. The value is 7."
+ },
+ {
+ "value": "Applications",
+ "description": "Indicates that the health evaluation is for the cluster applications. The value is 8."
+ },
+ {
+ "value": "SystemApplication",
+ "description": "Indicates that the health evaluation is for the system application. The value is 9."
+ },
+ {
+ "value": "UpgradeDomainDeployedApplications",
+ "description": "Indicates that the health evaluation is for the deployed applications of an application in an upgrade domain. The value is 10."
+ },
+ {
+ "value": "UpgradeDomainNodes",
+ "description": "Indicates that the health evaluation is for the cluster nodes in an upgrade domain. The value is 11."
+ },
+ {
+ "value": "Replica",
+ "description": "Indicates that the health evaluation is for a replica. The value is 13."
+ },
+ {
+ "value": "Partition",
+ "description": "Indicates that the health evaluation is for a partition. The value is 14."
+ },
+ {
+ "value": "DeployedServicePackage",
+ "description": "Indicates that the health evaluation is for a deployed service package. The value is 16."
+ },
+ {
+ "value": "DeployedApplication",
+ "description": "Indicates that the health evaluation is for a deployed application. The value is 17."
+ },
+ {
+ "value": "Service",
+ "description": "Indicates that the health evaluation is for a service. The value is 15."
+ },
+ {
+ "value": "Node",
+ "description": "Indicates that the health evaluation is for a node. The value is 12."
+ },
+ {
+ "value": "Application",
+ "description": "Indicates that the health evaluation is for an application. The value is 18."
+ },
+ {
+ "value": "DeltaNodesCheck",
+ "description": "Indicates that the health evaluation is for the delta of unhealthy cluster nodes. The value is 19."
+ },
+ {
+ "value": "UpgradeDomainDeltaNodesCheck",
+ "description": "Indicates that the health evaluation is for the delta of unhealthy upgrade domain cluster nodes. The value is 20."
+ },
+ {
+ "value": "ApplicationTypeApplications",
+ "description": "– Indicates that the health evaluation is for applications of an application type. The value is 21."
+ }
+ ]
+ }
+ },
+ "HealthEvaluationWrapper": {
+ "description": "Wrapper object for health evaluation.",
+ "properties": {
+ "HealthEvaluation": {
+ "$ref": "#/definitions/HealthEvaluation",
+ "description": "Represents a health evaluation which describes the data and the algorithm used by health manager to evaluate the health of an entity."
+ }
+ }
+ },
+ "HealthEvent": {
+ "description": "Represents health information reported on a health entity, such as cluster, application or node, with additional metadata added by the Health Manager.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthInformation"
+ }
+ ],
+ "properties": {
+ "IsExpired": {
+ "type": "boolean",
+ "description": "Returns true if the health event is expired, otherwise false."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date and time when the health report was sent by the source."
+ },
+ "LastModifiedUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date and time when the health report was last modified by the health store."
+ },
+ "LastOkTransitionAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "If the current health state is 'Ok', this property returns the time at which the health report was first reported with 'Ok'.\nFor periodic reporting, many reports with the same state may have been generated.\nThis property returns the date and time when the first 'Ok' health report was received.\n\nIf the current health state is 'Error' or 'Warning', returns the date and time at which the health state was last in 'Ok', before transitioning to a different state.\n\nIf the health state was never 'Ok', the value will be zero date-time."
+ },
+ "LastWarningTransitionAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "If the current health state is 'Warning', this property returns the time at which the health report was first reported with 'Warning'. For periodic reporting, many reports with the same state may have been generated however, this property returns only the date and time at the first 'Warning' health report was received.\n\nIf the current health state is 'Ok' or 'Error', returns the date and time at which the health state was last in 'Warning', before transitioning to a different state.\n\nIf the health state was never 'Warning', the value will be zero date-time."
+ },
+ "LastErrorTransitionAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "If the current health state is 'Error', this property returns the time at which the health report was first reported with 'Error'. For periodic reporting, many reports with the same state may have been generated however, this property returns only the date and time at the first 'Error' health report was received.\n\nIf the current health state is 'Ok' or 'Warning', returns the date and time at which the health state was last in 'Error', before transitioning to a different state.\n\nIf the health state was never 'Error', the value will be zero date-time."
+ }
+ }
+ },
+ "HealthInformation": {
+ "description": "Represents common health report information. It is included in all health reports sent to health store and in all health events returned by health queries.",
+ "required": [
+ "SourceId",
+ "Property",
+ "HealthState"
+ ],
+ "properties": {
+ "SourceId": {
+ "type": "string",
+ "description": "The source name that identifies the client/watchdog/system component that generated the health information."
+ },
+ "Property": {
+ "type": "string",
+ "description": "The property of the health information. An entity can have health reports for different properties.\nThe property is a string and not a fixed enumeration to allow the reporter flexibility to categorize the state condition that triggers the report.\nFor example, a reporter with SourceId \"LocalWatchdog\" can monitor the state of the available disk on a node,\nso it can report \"AvailableDisk\" property on that node.\nThe same reporter can monitor the node connectivity, so it can report a property \"Connectivity\" on the same node.\nIn the health store, these reports are treated as separate health events for the specified node.\n\nTogether with the SourceId, the property uniquely identifies the health information."
+ },
+ "HealthState": {
+ "$ref": "#/definitions/HealthState",
+ "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc."
+ },
+ "TimeToLiveInMilliSeconds": {
+ "type": "string",
+ "format": "duration",
+ "description": "The duration for which this health report is valid. This field uses ISO8601 format for specifying the duration.\nWhen clients report periodically, they should send reports with higher frequency than time to live.\nIf clients report on transition, they can set the time to live to infinite.\nWhen time to live expires, the health event that contains the health information\nis either removed from health store, if RemoveWhenExpired is true, or evaluated at error, if RemoveWhenExpired false.\n\nIf not specified, time to live defaults to infinite value."
+ },
+ "Description": {
+ "type": "string",
+ "description": "The description of the health information. It represents free text used to add human readable information about the report.\nThe maximum string length for the description is 4096 characters.\nIf the provided string is longer, it will be automatically truncated.\nWhen truncated, the last characters of the description contain a marker \"[Truncated]\", and total string size is 4096 characters.\nThe presence of the marker indicates to users that truncation occurred.\nNote that when truncated, the description has less than 4096 characters from the original string."
+ },
+ "SequenceNumber": {
+ "type": "string",
+ "description": "The sequence number for this health report as a numeric string.\nThe report sequence number is used by the health store to detect stale reports.\nIf not specified, a sequence number is auto-generated by the health client when a report is added."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Value that indicates whether the report is removed from health store when it expires.\nIf set to true, the report is removed from the health store after it expires.\nIf set to false, the report is treated as an error when expired. The value of this property is false by default.\nWhen clients report periodically, they should set RemoveWhenExpired false (default).\nThis way, if the reporter has issues (e.g. deadlock) and can't report, the entity is evaluated at error when the health report expires.\nThis flags the entity as being in Error health state."
+ },
+ "HealthReportId": {
+ "type": "string",
+ "description": "A health report ID which identifies the health report and can be used to find more detailed information about a specific health event at\naka.ms/sfhealthid"
+ }
+ }
+ },
+ "Int64RangePartitionInformation": {
+ "description": "Describes the partition information for the integer range that is based on partition schemes.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionInformation"
+ }
+ ],
+ "x-ms-discriminator-value": "Int64Range",
+ "properties": {
+ "LowKey": {
+ "type": "string",
+ "description": "Specifies the minimum key value handled by this partition."
+ },
+ "HighKey": {
+ "type": "string",
+ "description": "Specifies the maximum key value handled by this partition."
+ }
+ }
+ },
+ "MinInstanceCount": {
+ "type": "integer",
+ "default": 1,
+ "minimum": 1,
+ "description": "MinInstanceCount is the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service."
+ },
+ "MinInstancePercentage": {
+ "type": "integer",
+ "default": 0,
+ "minimum": 0,
+ "maximum": 100,
+ "description": "MinInstancePercentage is the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service."
+ },
+ "MonitoringPolicyDescription": {
+ "description": "Describes the parameters for monitoring an upgrade in Monitored mode.",
+ "properties": {
+ "FailureAction": {
+ "$ref": "#/definitions/FailureAction",
+ "description": "The compensating action to perform when a Monitored upgrade encounters monitoring policy or health policy violations.\nInvalid indicates the failure action is invalid. Rollback specifies that the upgrade will start rolling back automatically.\nManual indicates that the upgrade will switch to UnmonitoredManual upgrade mode."
+ },
+ "HealthCheckWaitDurationInMilliseconds": {
+ "$ref": "#/definitions/HealthCheckWaitDuration",
+ "description": "The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds."
+ },
+ "HealthCheckStableDurationInMilliseconds": {
+ "$ref": "#/definitions/HealthCheckStableDuration",
+ "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds."
+ },
+ "HealthCheckRetryTimeoutInMilliseconds": {
+ "$ref": "#/definitions/HealthCheckRetryTimeout",
+ "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds."
+ },
+ "UpgradeTimeoutInMilliseconds": {
+ "$ref": "#/definitions/UpgradeTimeout",
+ "description": "The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds."
+ },
+ "UpgradeDomainTimeoutInMilliseconds": {
+ "$ref": "#/definitions/UpgradeDomainTimeout",
+ "description": "The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds."
+ }
+ }
+ },
+ "NamedPartitionInformation": {
+ "description": "Describes the partition information for the name as a string that is based on partition schemes.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionInformation"
+ }
+ ],
+ "x-ms-discriminator-value": "Named",
+ "properties": {
+ "Name": {
+ "type": "string",
+ "description": "Name of the partition."
+ }
+ }
+ },
+ "NextUpgradeDomain": {
+ "type": "string",
+ "description": "The name of the next upgrade domain to be processed."
+ },
+ "NodeDeactivationInfo": {
+ "description": "Information about the node deactivation. This information is valid for a node that is undergoing deactivation or has already been deactivated.",
+ "properties": {
+ "NodeDeactivationIntent": {
+ "$ref": "#/definitions/NodeDeactivationIntent",
+ "description": "The intent or the reason for deactivating the node. Following are the possible values for it."
+ },
+ "NodeDeactivationStatus": {
+ "$ref": "#/definitions/NodeDeactivationStatus",
+ "description": "The status of node deactivation operation. Following are the possible values."
+ },
+ "NodeDeactivationTask": {
+ "$ref": "#/definitions/NodeDeactivationTaskList",
+ "description": "List of tasks representing the deactivation operation on the node."
+ },
+ "PendingSafetyChecks": {
+ "$ref": "#/definitions/SafetyCheckInfoList",
+ "description": "List of pending safety checks"
+ }
+ }
+ },
+ "NodeDeactivationIntent": {
+ "type": "string",
+ "description": "The intent or the reason for deactivating the node. Following are the possible values for it.",
+ "enum": [
+ "Invalid",
+ "Pause",
+ "Restart",
+ "RemoveData",
+ "RemoveNode"
+ ],
+ "x-ms-enum": {
+ "name": "NodeDeactivationIntent",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the node deactivation intent is invalid. All Service Fabric enumerations have the invalid type. The value is zero. This value is not used."
+ },
+ {
+ "value": "Pause",
+ "description": "Indicates that the node should be paused. The value is 1."
+ },
+ {
+ "value": "Restart",
+ "description": "Indicates that the intent is for the node to be restarted after a short period of time. Service Fabric does not restart the node, this action is done outside of Service Fabric. The value is 2."
+ },
+ {
+ "value": "RemoveData",
+ "description": "Indicates that the intent is to reimage the node. Service Fabric does not reimage the node, this action is done outside of Service Fabric. The value is 3."
+ },
+ {
+ "value": "RemoveNode",
+ "description": "Indicates that the node is being decommissioned and is not expected to return. Service Fabric does not decommission the node, this action is done outside of Service Fabric. The value is 4."
+ }
+ ]
+ }
+ },
+ "NodeDeactivationStatus": {
+ "type": "string",
+ "description": "The status of node deactivation operation. Following are the possible values.",
+ "enum": [
+ "None",
+ "SafetyCheckInProgress",
+ "SafetyCheckComplete",
+ "Completed"
+ ],
+ "x-ms-enum": {
+ "name": "NodeDeactivationStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "No status is associated with the task. The value is zero."
+ },
+ {
+ "value": "SafetyCheckInProgress",
+ "description": "When a node is deactivated Service Fabric performs checks to ensure that the operation is safe to proceed to ensure availability of the service and reliability of the state. This value indicates that one or more safety checks are in progress. The value is 1."
+ },
+ {
+ "value": "SafetyCheckComplete",
+ "description": "When a node is deactivated Service Fabric performs checks to ensure that the operation is safe to proceed to ensure availability of the service and reliability of the state. This value indicates that all safety checks have been completed. The value is 2."
+ },
+ {
+ "value": "Completed",
+ "description": "The task is completed. The value is 3."
+ }
+ ]
+ }
+ },
+ "NodeDeactivationTask": {
+ "description": "The task representing the deactivation operation on the node.",
+ "properties": {
+ "NodeDeactivationTaskId": {
+ "$ref": "#/definitions/NodeDeactivationTaskId",
+ "description": "Identity of the task related to deactivation operation on the node."
+ },
+ "NodeDeactivationIntent": {
+ "$ref": "#/definitions/NodeDeactivationIntent",
+ "description": "The intent or the reason for deactivating the node. Following are the possible values for it."
+ }
+ }
+ },
+ "NodeDeactivationTaskId": {
+ "description": "Identity of the task related to deactivation operation on the node.",
+ "properties": {
+ "Id": {
+ "type": "string",
+ "description": "Value of the task id."
+ },
+ "NodeDeactivationTaskType": {
+ "$ref": "#/definitions/NodeDeactivationTaskType",
+ "description": "The type of the task that performed the node deactivation. Following are the possible values."
+ }
+ }
+ },
+ "NodeDeactivationTaskList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NodeDeactivationTask"
+ },
+ "description": "List of tasks representing the deactivation operation on the node."
+ },
+ "NodeDeactivationTaskType": {
+ "type": "string",
+ "description": "The type of the task that performed the node deactivation. Following are the possible values.",
+ "enum": [
+ "Invalid",
+ "Infrastructure",
+ "Repair",
+ "Client"
+ ],
+ "x-ms-enum": {
+ "name": "NodeDeactivationTaskType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the node deactivation task type is invalid. All Service Fabric enumerations have the invalid type. The value is zero. This value is not used."
+ },
+ {
+ "value": "Infrastructure",
+ "description": "Specifies the task created by Infrastructure hosting the nodes. The value is 1."
+ },
+ {
+ "value": "Repair",
+ "description": "Specifies the task that was created by the Repair Manager service. The value is 2."
+ },
+ {
+ "value": "Client",
+ "description": "Specifies that the task was created by using the public API. The value is 3."
+ }
+ ]
+ }
+ },
+ "NodeEvent": {
+ "description": "Represents the base for all Node Events.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricEvent"
+ }
+ ],
+ "properties": {
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ }
+ },
+ "required": [
+ "NodeName"
+ ],
+ "x-ms-discriminator-value": "NodeEvent"
+ },
+ "NodeEventList": {
+ "description": "A list of NodeEvent objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ },
+ "NodeHealth": {
+ "description": "Information about the health of a Service Fabric node.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealth"
+ }
+ ],
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/NodeName",
+ "description": "Name of the node whose health information is described by this object."
+ }
+ }
+ },
+ "NodeHealthEvaluation": {
+ "x-ms-discriminator-value": "Node",
+ "description": "Represents health evaluation for a node, containing information about the data and the algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated health state is either Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the current aggregated health state of the node. The types of the unhealthy evaluations can be EventHealthEvaluation."
+ }
+ }
+ },
+ "NodeHealthState": {
+ "description": "Represents the health state of a node, which contains the node identifier and its aggregated health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthState"
+ }
+ ],
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "Id": {
+ "$ref": "#/definitions/NodeId",
+ "description": "An internal ID used by Service Fabric to uniquely identify a node. Node Id is deterministically generated from node name."
+ }
+ }
+ },
+ "NodeHealthStateChunk": {
+ "description": "Represents the health state chunk of a node, which contains the node name and its aggregated health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthStateChunk"
+ }
+ ],
+ "properties": {
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ }
+ }
+ },
+ "NodeHealthStateChunkList": {
+ "description": "The list of node health state chunks in the cluster that respect the input filters in the chunk query. Returned by get cluster health state chunks query.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthStateChunkList"
+ }
+ ],
+ "properties": {
+ "Items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NodeHealthStateChunk"
+ },
+ "description": "The list of node health state chunks that respect the input filters in the chunk query."
+ }
+ }
+ },
+ "NodeHealthStateFilter": {
+ "description": "Defines matching criteria to determine whether a node should be included in the returned cluster health chunk.\nOne filter can match zero, one or multiple nodes, depending on its properties.\nCan be specified in the cluster health chunk query description.",
+ "properties": {
+ "NodeNameFilter": {
+ "type": "string",
+ "description": "Name of the node that matches the filter. The filter is applied only to the specified node, if it exists.\nIf the node doesn't exist, no node is returned in the cluster health chunk based on this filter.\nIf the node exists, it is included in the cluster health chunk if the health state matches the other filter properties.\nIf not specified, all nodes that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter."
+ },
+ "HealthStateFilter": {
+ "type": "integer",
+ "default": 0,
+ "description": "The filter for the health state of the nodes. It allows selecting nodes if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only nodes that match the filter are returned. All nodes are used to evaluate the cluster aggregated health state.\nIf not specified, default value is None, unless the node name is specified. If the filter has default value and node name is specified, the matching node is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches nodes with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535."
+ }
+ }
+ },
+ "NodeId": {
+ "description": "An internal ID used by Service Fabric to uniquely identify a node. Node Id is deterministically generated from node name.",
+ "properties": {
+ "Id": {
+ "type": "string",
+ "description": "Value of the node Id. This is a 128 bit integer."
+ }
+ }
+ },
+ "NodeIdList": {
+ "description": "A list of NodeIds.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NodeId"
+ }
+ },
+ "NodeInfo": {
+ "description": "Information about a node in Service Fabric cluster.",
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "IpAddressOrFQDN": {
+ "type": "string",
+ "description": "The IP address or fully qualified domain name of the node."
+ },
+ "Type": {
+ "type": "string",
+ "description": "The type of the node."
+ },
+ "CodeVersion": {
+ "type": "string",
+ "description": "The version of Service Fabric binaries that the node is running."
+ },
+ "ConfigVersion": {
+ "type": "string",
+ "description": "The version of Service Fabric cluster manifest that the node is using."
+ },
+ "NodeStatus": {
+ "$ref": "#/definitions/NodeStatus",
+ "description": "The status of the node."
+ },
+ "NodeUpTimeInSeconds": {
+ "type": "string",
+ "description": "Time in seconds since the node has been in NodeStatus Up. Value zero indicates that the node is not Up."
+ },
+ "HealthState": {
+ "$ref": "#/definitions/HealthState",
+ "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc."
+ },
+ "IsSeedNode": {
+ "type": "boolean",
+ "description": "Indicates if the node is a seed node or not. Returns true if the node is a seed node, otherwise false. A quorum of seed nodes are required for proper operation of Service Fabric cluster."
+ },
+ "UpgradeDomain": {
+ "type": "string",
+ "description": "The upgrade domain of the node."
+ },
+ "FaultDomain": {
+ "type": "string",
+ "description": "The fault domain of the node."
+ },
+ "Id": {
+ "$ref": "#/definitions/NodeId",
+ "description": "An internal ID used by Service Fabric to uniquely identify a node. Node Id is deterministically generated from node name."
+ },
+ "InstanceId": {
+ "type": "string",
+ "description": "The ID representing the node instance. While the ID of the node is deterministically generated from the node name and remains same across restarts, the InstanceId changes every time node restarts."
+ },
+ "NodeDeactivationInfo": {
+ "$ref": "#/definitions/NodeDeactivationInfo",
+ "description": "Information about the node deactivation. This information is valid for a node that is undergoing deactivation or has already been deactivated."
+ },
+ "IsStopped": {
+ "type": "boolean",
+ "description": "Indicates if the node is stopped by calling stop node API or not. Returns true if the node is stopped, otherwise false."
+ },
+ "NodeDownTimeInSeconds": {
+ "type": "string",
+ "description": "Time in seconds since the node has been in NodeStatus Down. Value zero indicates node is not NodeStatus Down."
+ },
+ "NodeUpAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date time in UTC when the node came up. If the node has never been up then this value will be zero date time."
+ },
+ "NodeDownAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date time in UTC when the node went down. If node has never been down then this value will be zero date time."
+ }
+ }
+ },
+ "NodeLoadInfo": {
+ "description": "Information about load on a Service Fabric node. It holds a summary of all metrics and their load on a node.",
+ "properties": {
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "Name of the node for which the load information is provided by this object."
+ },
+ "NodeLoadMetricInformation": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NodeLoadMetricInformation"
+ },
+ "description": "List that contains metrics and their load information on this node."
+ }
+ }
+ },
+ "NodeLoadMetricInformation": {
+ "description": "Represents data structure that contains load information for a certain metric on a node.",
+ "properties": {
+ "Name": {
+ "type": "string",
+ "description": "Name of the metric for which this load information is provided."
+ },
+ "NodeCapacity": {
+ "type": "string",
+ "description": "Total capacity on the node for this metric."
+ },
+ "NodeLoad": {
+ "type": "string",
+ "description": "Current load on the node for this metric. In future releases of Service Fabric this parameter will be deprecated in favor of CurrentNodeLoad."
+ },
+ "NodeRemainingCapacity": {
+ "type": "string",
+ "description": "The remaining capacity on the node for this metric. In future releases of Service Fabric this parameter will be deprecated in favor of NodeCapacityRemaining."
+ },
+ "IsCapacityViolation": {
+ "type": "boolean",
+ "description": "Indicates if there is a capacity violation for this metric on the node."
+ },
+ "NodeBufferedCapacity": {
+ "type": "string",
+ "description": "The value that indicates the reserved capacity for this metric on the node."
+ },
+ "NodeRemainingBufferedCapacity": {
+ "type": "string",
+ "description": "The remaining reserved capacity for this metric on the node. In future releases of Service Fabric this parameter will be deprecated in favor of BufferedNodeCapacityRemaining."
+ },
+ "CurrentNodeLoad": {
+ "type": "string",
+ "format": "double",
+ "description": "Current load on the node for this metric."
+ },
+ "NodeCapacityRemaining": {
+ "type": "string",
+ "format": "double",
+ "description": "The remaining capacity on the node for the metric."
+ },
+ "BufferedNodeCapacityRemaining": {
+ "type": "string",
+ "format": "double",
+ "description": "The remaining capacity which is not reserved by NodeBufferPercentage for this metric on the node."
+ },
+ "PlannedNodeLoadRemoval": {
+ "type": "string",
+ "format": "double",
+ "description": "This value represents the load of the replicas that are planned to be removed in the future.\nThis kind of load is reported for replicas that are currently being moving to other nodes and for replicas that are currently being dropped but still use the load on the source node."
+ }
+ }
+ },
+ "NodeName": {
+ "type": "string",
+ "description": "The name of a Service Fabric node."
+ },
+ "NodeType": {
+ "type": "string",
+ "description": "The type name of a Service Fabric node.\nRefer to the article [The relationship between Service Fabric node types and Virtual Machine Scale Sets](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-nodetypes) for more details."
+ },
+ "NodesHealthEvaluation": {
+ "x-ms-discriminator-value": "Nodes",
+ "description": "Represents health evaluation for nodes, containing health evaluations for each unhealthy node that impacted current aggregated health state. Can be returned when evaluating cluster health and the aggregated health state is either Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "MaxPercentUnhealthyNodes": {
+ "type": "integer",
+ "description": "Maximum allowed percentage of unhealthy nodes from the ClusterHealthPolicy."
+ },
+ "TotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of nodes found in the health store."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health."
+ }
+ }
+ },
+ "NodeStatus": {
+ "type": "string",
+ "description": "The status of the node.",
+ "enum": [
+ "Invalid",
+ "Up",
+ "Down",
+ "Enabling",
+ "Disabling",
+ "Disabled",
+ "Unknown",
+ "Removed"
+ ],
+ "x-ms-enum": {
+ "name": "NodeStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the node status is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Up",
+ "description": "Indicates the node is up. The value is 1."
+ },
+ {
+ "value": "Down",
+ "description": "Indicates the node is down. The value is 2."
+ },
+ {
+ "value": "Enabling",
+ "description": "Indicates the node is in process of being enabled. The value is 3."
+ },
+ {
+ "value": "Disabling",
+ "description": "Indicates the node is in the process of being disabled. The value is 4."
+ },
+ {
+ "value": "Disabled",
+ "description": "Indicates the node is disabled. The value is 5."
+ },
+ {
+ "value": "Unknown",
+ "description": "Indicates the node is unknown. A node would be in Unknown state if Service Fabric does not have authoritative information about that node. This can happen if the system learns about a node at runtime.The value is 6."
+ },
+ {
+ "value": "Removed",
+ "description": "Indicates the node is removed. A node would be in Removed state if NodeStateRemoved API has been called for this node. In other words, Service Fabric has been informed that the persisted state on the node has been permanently lost. The value is 7."
+ }
+ ]
+ }
+ },
+ "NodeUpgradePhase": {
+ "type": "string",
+ "description": "The state of the upgrading node.",
+ "enum": [
+ "Invalid",
+ "PreUpgradeSafetyCheck",
+ "Upgrading",
+ "PostUpgradeSafetyCheck"
+ ],
+ "x-ms-enum": {
+ "name": "NodeUpgradePhase",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the upgrade state is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "PreUpgradeSafetyCheck",
+ "description": "The upgrade has not started yet due to pending safety checks. The value is 1"
+ },
+ {
+ "value": "Upgrading",
+ "description": "The upgrade is in progress. The value is 2"
+ },
+ {
+ "value": "PostUpgradeSafetyCheck",
+ "description": "The upgrade has completed and post upgrade safety checks are being performed. The value is 3"
+ }
+ ]
+ }
+ },
+ "NodeUpgradeProgressInfo": {
+ "description": "Information about the upgrading node and its status",
+ "properties": {
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "UpgradePhase": {
+ "$ref": "#/definitions/NodeUpgradePhase",
+ "description": "The state of the upgrading node."
+ },
+ "PendingSafetyChecks": {
+ "$ref": "#/definitions/SafetyCheckInfoList",
+ "description": "List of pending safety checks"
+ }
+ }
+ },
+ "NodeUpgradeProgressInfoList": {
+ "type": "array",
+ "description": "List of upgrading nodes and their statuses",
+ "items": {
+ "$ref": "#/definitions/NodeUpgradeProgressInfo"
+ }
+ },
+ "PagedApplicationInfoList": {
+ "description": "The list of applications in the cluster. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "List of application information.",
+ "items": {
+ "$ref": "#/definitions/ApplicationInfo"
+ }
+ }
+ }
+ },
+ "PagedDeployedApplicationInfoList": {
+ "description": "The list of deployed applications in activating, downloading, or active states on a node.\nThe list is paged when all of the results cannot fit in a single message.\nThe next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "List of deployed application information.",
+ "items": {
+ "$ref": "#/definitions/DeployedApplicationInfo"
+ }
+ }
+ }
+ },
+ "PagedNodeInfoList": {
+ "description": "The list of nodes in the cluster. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "List of node information.",
+ "items": {
+ "$ref": "#/definitions/NodeInfo"
+ }
+ }
+ }
+ },
+ "PagedServicePartitionInfoList": {
+ "description": "The list of partition in the cluster for a service. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "List of service partition information.",
+ "items": {
+ "$ref": "#/definitions/ServicePartitionInfo"
+ }
+ }
+ }
+ },
+ "PagedReplicaInfoList": {
+ "description": "The list of replicas in the cluster for a given partition. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "List of replica information.",
+ "items": {
+ "$ref": "#/definitions/ReplicaInfo"
+ }
+ }
+ }
+ },
+ "PagedServiceInfoList": {
+ "description": "The list of services in the cluster for an application. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "List of service information.",
+ "items": {
+ "$ref": "#/definitions/ServiceInfo"
+ }
+ }
+ }
+ },
+ "PartitionAnalysisEvent": {
+ "description": "Represents the base for all Partition Analysis Events.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionEvent"
+ }
+ ],
+ "properties": {
+ "Metadata": {
+ "$ref": "#/definitions/AnalysisEventMetadata",
+ "description": "Metadata about an Analysis Event."
+ }
+ },
+ "required": [
+ "Metadata"
+ ],
+ "x-ms-discriminator-value": "PartitionAnalysisEvent"
+ },
+ "PartitionEvent": {
+ "description": "Represents the base for all Partition Events.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricEvent"
+ }
+ ],
+ "properties": {
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different."
+ }
+ },
+ "required": [
+ "PartitionId"
+ ],
+ "x-ms-discriminator-value": "PartitionEvent"
+ },
+ "PartitionEventList": {
+ "description": "A list of PartitionEvent objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PartitionEvent"
+ }
+ },
+ "PartitionHealth": {
+ "description": "Information about the health of a Service Fabric partition.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealth"
+ }
+ ],
+ "properties": {
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "ID of the partition whose health information is described by this object."
+ },
+ "ReplicaHealthStates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicaHealthState"
+ },
+ "description": "The list of replica health states associated with the partition."
+ }
+ }
+ },
+ "PartitionHealthEvaluation": {
+ "x-ms-discriminator-value": "Partition",
+ "description": "Represents health evaluation for a partition, containing information about the data and the algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated health state is either Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "Id of the partition whose health evaluation is described by this object."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the current aggregated health state of the partition. The types of the unhealthy evaluations can be ReplicasHealthEvaluation or EventHealthEvaluation."
+ }
+ }
+ },
+ "PartitionHealthState": {
+ "description": "Represents the health state of a partition, which contains the partition identifier and its aggregated health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthState"
+ }
+ ],
+ "properties": {
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "Id of the partition whose health state is described by this object."
+ }
+ }
+ },
+ "PartitionHealthStateChunk": {
+ "description": "Represents the health state chunk of a partition, which contains the partition ID, its aggregated health state and any replicas that respect the filters in the cluster health chunk query description.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthStateChunk"
+ }
+ ],
+ "properties": {
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "The Id of the partition."
+ },
+ "ReplicaHealthStateChunks": {
+ "$ref": "#/definitions/ReplicaHealthStateChunkList",
+ "description": "The list of replica health state chunks belonging to the partition that respect the filters in the cluster health chunk query description."
+ }
+ }
+ },
+ "PartitionHealthStateChunkList": {
+ "description": "The list of partition health state chunks that respect the input filters in the chunk query description.\nReturned by get cluster health state chunks query as part of the parent application hierarchy.",
+ "properties": {
+ "Items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PartitionHealthStateChunk"
+ },
+ "description": "The list of partition health state chunks that respect the input filters in the chunk query."
+ }
+ }
+ },
+ "PartitionHealthStateFilter": {
+ "description": "Defines matching criteria to determine whether a partition should be included as a child of a service in the cluster health chunk.\nThe partitions are only returned if the parent entities match a filter specified in the cluster health chunk query description. The parent service and application must be included in the cluster health chunk.\nOne filter can match zero, one or multiple partitions, depending on its properties.",
+ "properties": {
+ "PartitionIdFilter": {
+ "type": "string",
+ "format": "uuid",
+ "description": "ID of the partition that matches the filter. The filter is applied only to the specified partition, if it exists.\nIf the partition doesn't exist, no partition is returned in the cluster health chunk based on this filter.\nIf the partition exists, it is included in the cluster health chunk if it respects the other filter properties.\nIf not specified, all partitions that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter."
+ },
+ "HealthStateFilter": {
+ "type": "integer",
+ "default": 0,
+ "description": "The filter for the health state of the partitions. It allows selecting partitions if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only partitions that match the filter are returned. All partitions are used to evaluate the cluster aggregated health state.\nIf not specified, default value is None, unless the partition ID is specified. If the filter has default value and partition ID is specified, the matching partition is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches partitions with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535."
+ },
+ "ReplicaFilters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicaHealthStateFilter"
+ },
+ "description": "Defines a list of filters that specify which replicas to be included in the returned cluster health chunk as children of the parent partition. The replicas are returned only if the parent partition matches a filter.\nIf the list is empty, no replicas are returned. All the replicas are used to evaluate the parent partition aggregated health state, regardless of the input filters.\nThe partition filter may specify multiple replica filters.\nFor example, it can specify a filter to return all replicas with health state Error and another filter to always include a replica identified by its replica id."
+ }
+ }
+ },
+ "PartitionId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different."
+ },
+ "PartitionInformation": {
+ "discriminator": "ServicePartitionKind",
+ "description": "Information about the partition identity, partitioning scheme and keys supported by it.",
+ "required": [
+ "ServicePartitionKind"
+ ],
+ "properties": {
+ "ServicePartitionKind": {
+ "$ref": "#/definitions/ServicePartitionKind",
+ "description": "The kind of partitioning scheme used to partition the service."
+ },
+ "Id": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different."
+ }
+ }
+ },
+ "ProvisionFabricDescription": {
+ "description": "Describes the parameters for provisioning a cluster.",
+ "properties": {
+ "CodeFilePath": {
+ "type": "string",
+ "description": "The cluster code package file path."
+ },
+ "ClusterManifestFilePath": {
+ "type": "string",
+ "description": "The cluster manifest file path."
+ }
+ }
+ },
+ "ProvisionApplicationTypeKind": {
+ "type": "string",
+ "description": "The kind of application type registration or provision requested. The application package can be registered or provisioned either from the image store or from an external store. Following are the kinds of the application type provision.",
+ "enum": [
+ "Invalid",
+ "ImageStorePath",
+ "ExternalStore"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisionApplicationTypeKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates that the provision kind is invalid. This value is default and should not be used. The value is zero."
+ },
+ {
+ "value": "ImageStorePath",
+ "description": "Indicates that the provision is for a package that was previously uploaded to the image store. The value is 1."
+ },
+ {
+ "value": "ExternalStore",
+ "description": "Indicates that the provision is for an application package that was previously uploaded to an external store. The application package ends with the extension *.sfpkg. The value is 2."
+ }
+ ]
+ }
+ },
+ "ProvisionApplicationTypeDescriptionBase": {
+ "discriminator": "Kind",
+ "description": "Represents the type of registration or provision requested, and if the operation needs to be asynchronous or not. Supported types of provision operations are from either image store or external store.",
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/ProvisionApplicationTypeKind",
+ "description": "The kind of application type registration or provision requested. The application package can be registered or provisioned either from the image store or from an external store. Following are the kinds of the application type provision."
+ },
+ "Async": {
+ "type": "boolean",
+ "description": "Indicates whether or not provisioning should occur asynchronously. When set to true, the provision operation returns when the request is accepted by the system, and the provision operation continues without any timeout limit. The default value is false. For large application packages, we recommend setting the value to true."
+ }
+ },
+ "required": [
+ "Kind",
+ "Async"
+ ]
+ },
+ "ProvisionApplicationTypeDescription": {
+ "description": "Describes the operation to register or provision an application type using an application package uploaded to the Service Fabric image store.",
+ "required": [
+ "ApplicationTypeBuildPath"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProvisionApplicationTypeDescriptionBase"
+ }
+ ],
+ "properties": {
+ "ApplicationTypeBuildPath": {
+ "description": "The relative path for the application package in the image store specified during the prior upload operation.",
+ "type": "string"
+ },
+ "ApplicationPackageCleanupPolicy": {
+ "$ref": "#/definitions/ApplicationPackageCleanupPolicy",
+ "description": "The kind of action that needs to be taken for cleaning up the application package after successful provision."
+ }
+ },
+ "x-ms-discriminator-value": "ImageStorePath"
+ },
+ "ExternalStoreProvisionApplicationTypeDescription": {
+ "description": "Describes the operation to register or provision an application type using an application package from an external store instead of a package uploaded to the Service Fabric image store.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProvisionApplicationTypeDescriptionBase"
+ }
+ ],
+ "properties": {
+ "ApplicationPackageDownloadUri": {
+ "description": "The path to the '.sfpkg' application package from where the application package can be downloaded using HTTP or HTTPS protocols. The application package can be stored in an external store that provides GET operation to download the file. Supported protocols are HTTP and HTTPS, and the path must allow READ access.",
+ "type": "string"
+ },
+ "ApplicationTypeName": {
+ "description": "The application type name represents the name of the application type found in the application manifest.",
+ "type": "string"
+ },
+ "ApplicationTypeVersion": {
+ "description": "The application type version represents the version of the application type found in the application manifest.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "ExternalStore",
+ "required": [
+ "ApplicationPackageDownloadUri",
+ "ApplicationTypeName",
+ "ApplicationTypeVersion"
+ ]
+ },
+ "UnprovisionFabricDescription": {
+ "description": "Describes the parameters for unprovisioning a cluster.",
+ "properties": {
+ "CodeVersion": {
+ "type": "string",
+ "description": "The cluster code package version."
+ },
+ "ConfigVersion": {
+ "type": "string",
+ "description": "The cluster manifest version."
+ }
+ }
+ },
+ "ResumeClusterUpgradeDescription": {
+ "description": "Describes the parameters for resuming a cluster upgrade.",
+ "properties": {
+ "UpgradeDomain": {
+ "type": "string",
+ "description": "The next upgrade domain for this cluster upgrade."
+ }
+ },
+ "required": [
+ "UpgradeDomain"
+ ]
+ },
+ "StartClusterUpgradeDescription": {
+ "description": "Describes the parameters for starting a cluster upgrade.",
+ "properties": {
+ "CodeVersion": {
+ "type": "string",
+ "description": "The cluster code version."
+ },
+ "ConfigVersion": {
+ "type": "string",
+ "description": "The cluster configuration version."
+ },
+ "UpgradeKind": {
+ "$ref": "#/definitions/UpgradeKind",
+ "description": "The kind of upgrade out of the following possible values."
+ },
+ "RollingUpgradeMode": {
+ "$ref": "#/definitions/UpgradeMode",
+ "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored."
+ },
+ "UpgradeReplicaSetCheckTimeoutInSeconds": {
+ "$ref": "#/definitions/UpgradeReplicaSetCheckTimeout",
+ "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer)."
+ },
+ "ForceRestart": {
+ "$ref": "#/definitions/ForceRestart",
+ "description": "If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data)."
+ },
+ "SortOrder": {
+ "$ref": "#/definitions/UpgradeSortOrder",
+ "description": "Defines the order in which an upgrade proceeds through the cluster."
+ },
+ "MonitoringPolicy": {
+ "$ref": "#/definitions/MonitoringPolicyDescription",
+ "description": "Describes the parameters for monitoring an upgrade in Monitored mode."
+ },
+ "ClusterHealthPolicy": {
+ "$ref": "#/definitions/ClusterHealthPolicy",
+ "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node."
+ },
+ "EnableDeltaHealthEvaluation": {
+ "type": "boolean",
+ "description": "When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain."
+ },
+ "ClusterUpgradeHealthPolicy": {
+ "$ref": "#/definitions/ClusterUpgradeHealthPolicyObject",
+ "description": "Defines a health policy used to evaluate the health of the cluster during a cluster upgrade."
+ },
+ "ApplicationHealthPolicyMap": {
+ "$ref": "#/definitions/ApplicationHealthPolicies",
+ "description": "Defines the application health policy map used to evaluate the health of an application or one of its children entities."
+ },
+ "InstanceCloseDelayDurationInSeconds": {
+ "$ref": "#/definitions/InstanceCloseDelayDurationInSeconds",
+ "description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster\nupgrade, only for those instances which have a non-zero delay duration configured in the service description. See InstanceCloseDelayDurationSeconds property in $ref: \"#/definitions/StatelessServiceDescription.yaml\" for details.\nNote, the default value of InstanceCloseDelayDurationInSeconds is 4294967295, which indicates that the behavior will entirely depend on the delay configured in the stateless service description."
+ }
+ }
+ },
+ "UpdateClusterUpgradeDescription": {
+ "description": "Parameters for updating a cluster upgrade.",
+ "properties": {
+ "UpgradeKind": {
+ "$ref": "#/definitions/UpgradeType",
+ "description": "The type of upgrade out of the following possible values."
+ },
+ "UpdateDescription": {
+ "$ref": "#/definitions/RollingUpgradeUpdateDescription",
+ "description": "Describes the parameters for updating a rolling upgrade of application or cluster."
+ },
+ "ClusterHealthPolicy": {
+ "$ref": "#/definitions/ClusterHealthPolicy",
+ "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node."
+ },
+ "EnableDeltaHealthEvaluation": {
+ "$ref": "#/definitions/DeltaHealthEvaluationBool",
+ "description": "When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain."
+ },
+ "ClusterUpgradeHealthPolicy": {
+ "$ref": "#/definitions/ClusterUpgradeHealthPolicyObject",
+ "description": "Defines a health policy used to evaluate the health of the cluster during a cluster upgrade."
+ },
+ "ApplicationHealthPolicyMap": {
+ "$ref": "#/definitions/ApplicationHealthPolicies",
+ "description": "Defines the application health policy map used to evaluate the health of an application or one of its children entities."
+ }
+ }
+ },
+ "SafetyCheckKind": {
+ "type": "string",
+ "description": "The kind of safety check performed by service fabric before continuing with the operations. These checks ensure the availability of the service and the reliability of the state. Following are the kinds of safety checks.",
+ "enum": [
+ "Invalid",
+ "EnsureSeedNodeQuorum",
+ "EnsurePartitionQuorum",
+ "WaitForPrimaryPlacement",
+ "WaitForPrimarySwap",
+ "WaitForReconfiguration",
+ "WaitForInbuildReplica",
+ "EnsureAvailability"
+ ],
+ "x-ms-enum": {
+ "name": "SafetyCheckKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates that the upgrade safety check kind is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "EnsureSeedNodeQuorum",
+ "description": "Indicates that if we bring down the node then this will result in global seed node quorum loss. The value is 1."
+ },
+ {
+ "value": "EnsurePartitionQuorum",
+ "description": "Indicates that there is some partition for which if we bring down the replica on the node, it will result in quorum loss for that partition. The value is 2."
+ },
+ {
+ "value": "WaitForPrimaryPlacement",
+ "description": "Indicates that there is some replica on the node that was moved out of this node due to upgrade. Service Fabric is now waiting for the primary to be moved back to this node. The value is 3."
+ },
+ {
+ "value": "WaitForPrimarySwap",
+ "description": "Indicates that Service Fabric is waiting for a primary replica to be moved out of the node before starting upgrade on that node. The value is 4."
+ },
+ {
+ "value": "WaitForReconfiguration",
+ "description": "Indicates that there is some replica on the node that is involved in a reconfiguration. Service Fabric is waiting for the reconfiguration to be complete before staring upgrade on that node. The value is 5."
+ },
+ {
+ "value": "WaitForInbuildReplica",
+ "description": "Indicates that there is either a replica on the node that is going through copy, or there is a primary replica on the node that is copying data to some other replica. In both cases, bringing down the replica on the node due to upgrade will abort the copy. The value is 6."
+ },
+ {
+ "value": "EnsureAvailability",
+ "description": "Indicates that there is either a stateless service partition on the node having exactly one instance, or there is a primary replica on the node for which the partition is quorum loss. In both cases, bringing down the replicas due to upgrade will result in loss of availability. The value is 7."
+ }
+ ]
+ }
+ },
+ "SafetyCheck": {
+ "discriminator": "Kind",
+ "description": "Represents a safety check performed by service fabric before continuing with the operations. These checks ensure the availability of the service and the reliability of the state.",
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/SafetyCheckKind",
+ "description": "The kind of safety check performed by service fabric before continuing with the operations. These checks ensure the availability of the service and the reliability of the state. Following are the kinds of safety checks."
+ }
+ },
+ "required": [
+ "Kind"
+ ]
+ },
+ "PartitionSafetyCheck": {
+ "description": "Represents a safety check for the service partition being performed by service fabric before continuing with operations.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SafetyCheck"
+ }
+ ],
+ "properties": {
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "Id of the partition which is undergoing the safety check."
+ }
+ }
+ },
+ "EnsureAvailabilitySafetyCheck": {
+ "description": "Safety check that waits to ensure the availability of the partition. It waits until there are replicas available such that bringing down this replica will not cause availability loss for the partition.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionSafetyCheck"
+ }
+ ],
+ "x-ms-discriminator-value": "EnsureAvailability"
+ },
+ "EnsurePartitionQuorumSafetyCheck": {
+ "description": "Safety check that ensures that a quorum of replicas are not lost for a partition.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionSafetyCheck"
+ }
+ ],
+ "x-ms-discriminator-value": "EnsurePartitionQuorum"
+ },
+ "SeedNodeSafetyCheck": {
+ "description": "Represents a safety check for the seed nodes being performed by service fabric before continuing with node level operations.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SafetyCheck"
+ }
+ ],
+ "x-ms-discriminator-value": "EnsureSeedNodeQuorum"
+ },
+ "PartitionsHealthEvaluation": {
+ "x-ms-discriminator-value": "Partitions",
+ "description": "Represents health evaluation for the partitions of a service, containing health evaluations for each unhealthy partition that impacts current aggregated health state. Can be returned when evaluating service health and the aggregated health state is either Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "MaxPercentUnhealthyPartitionsPerService": {
+ "type": "integer",
+ "description": "Maximum allowed percentage of unhealthy partitions per service from the ServiceTypeHealthPolicy."
+ },
+ "TotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of partitions of the service from the health store."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy PartitionHealthEvaluation that impacted the aggregated health."
+ }
+ }
+ },
+ "ReplicaEvent": {
+ "description": "Represents the base for all Replica Events.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricEvent"
+ }
+ ],
+ "properties": {
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different."
+ },
+ "ReplicaId": {
+ "$ref": "#/definitions/ReplicaId_Integer",
+ "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id."
+ }
+ },
+ "required": [
+ "PartitionId",
+ "ReplicaId"
+ ],
+ "x-ms-discriminator-value": "ReplicaEvent"
+ },
+ "ReplicaEventList": {
+ "description": "A list of ReplicaEvent objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicaEvent"
+ }
+ },
+ "ReplicaHealth": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealth"
+ }
+ ],
+ "discriminator": "ServiceKind",
+ "description": "Represents a base class for stateful service replica or stateless service instance health.\nContains the replica aggregated health state, the health events and the unhealthy evaluations.",
+ "properties": {
+ "ServiceKind": {
+ "$ref": "#/definitions/ServiceKind",
+ "description": "The kind of service (Stateless or Stateful)."
+ },
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "Id of the partition to which this replica belongs."
+ }
+ },
+ "required": [
+ "ServiceKind"
+ ]
+ },
+ "ReplicaHealthEvaluation": {
+ "x-ms-discriminator-value": "Replica",
+ "description": "Represents health evaluation for a replica, containing information about the data and the algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated health state is either Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "Id of the partition to which the replica belongs."
+ },
+ "ReplicaOrInstanceId": {
+ "$ref": "#/definitions/ReplicaOrInstanceId",
+ "description": "Id of a stateful service replica or a stateless service instance. This ID is used in the queries that apply to both stateful and stateless services. It is used by Service Fabric to uniquely identify a replica of a partition of a stateful service or an instance of a stateless service partition. It is unique within a partition and does not change for the lifetime of the replica or the instance. If a stateful replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the ID. If a stateless instance is failed over on the same or different node it will get a different value for the ID."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the current aggregated health state of the replica. The types of the unhealthy evaluations can be EventHealthEvaluation."
+ }
+ }
+ },
+ "ReplicaHealthState": {
+ "discriminator": "ServiceKind",
+ "required": [
+ "ServiceKind"
+ ],
+ "description": "Represents a base class for stateful service replica or stateless service instance health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthState"
+ }
+ ],
+ "properties": {
+ "ServiceKind": {
+ "$ref": "#/definitions/ServiceKind",
+ "description": "The kind of service (Stateless or Stateful)."
+ },
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "The ID of the partition to which this replica belongs."
+ }
+ }
+ },
+ "ReplicaHealthStateChunk": {
+ "description": "Represents the health state chunk of a stateful service replica or a stateless service instance.\nThe replica health state contains the replica ID and its aggregated health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthStateChunk"
+ }
+ ],
+ "properties": {
+ "ReplicaOrInstanceId": {
+ "$ref": "#/definitions/ReplicaOrInstanceId",
+ "description": "Id of a stateful service replica or a stateless service instance. This ID is used in the queries that apply to both stateful and stateless services. It is used by Service Fabric to uniquely identify a replica of a partition of a stateful service or an instance of a stateless service partition. It is unique within a partition and does not change for the lifetime of the replica or the instance. If a stateful replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the ID. If a stateless instance is failed over on the same or different node it will get a different value for the ID."
+ }
+ }
+ },
+ "ReplicaHealthStateChunkList": {
+ "description": "The list of replica health state chunks that respect the input filters in the chunk query. Returned by get cluster health state chunks query.",
+ "properties": {
+ "Items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicaHealthStateChunk"
+ },
+ "description": "The list of replica health state chunks that respect the input filters in the chunk query."
+ }
+ }
+ },
+ "ReplicaHealthStateFilter": {
+ "description": "Defines matching criteria to determine whether a replica should be included as a child of a partition in the cluster health chunk.\nThe replicas are only returned if the parent entities match a filter specified in the cluster health chunk query description. The parent partition, service and application must be included in the cluster health chunk.\nOne filter can match zero, one or multiple replicas, depending on its properties.",
+ "properties": {
+ "ReplicaOrInstanceIdFilter": {
+ "type": "string",
+ "description": "Id of the stateful service replica or stateless service instance that matches the filter. The filter is applied only to the specified replica, if it exists.\nIf the replica doesn't exist, no replica is returned in the cluster health chunk based on this filter.\nIf the replica exists, it is included in the cluster health chunk if it respects the other filter properties.\nIf not specified, all replicas that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter."
+ },
+ "HealthStateFilter": {
+ "type": "integer",
+ "default": 0,
+ "description": "The filter for the health state of the replicas. It allows selecting replicas if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only replicas that match the filter are returned. All replicas are used to evaluate the parent partition aggregated health state.\nIf not specified, default value is None, unless the replica ID is specified. If the filter has default value and replica ID is specified, the matching replica is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches replicas with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535."
+ }
+ }
+ },
+ "ReplicaId": {
+ "type": "string",
+ "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id."
+ },
+ "ReplicaId_Integer": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id."
+ },
+ "ReplicaOrInstanceId": {
+ "type": "string",
+ "description": "Id of a stateful service replica or a stateless service instance. This ID is used in the queries that apply to both stateful and stateless services. It is used by Service Fabric to uniquely identify a replica of a partition of a stateful service or an instance of a stateless service partition. It is unique within a partition and does not change for the lifetime of the replica or the instance. If a stateful replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the ID. If a stateless instance is failed over on the same or different node it will get a different value for the ID."
+ },
+ "ReplicaInfo": {
+ "discriminator": "ServiceKind",
+ "description": "Information about the identity, status, health, node name, uptime, and other details about the replica.",
+ "required": [
+ "ServiceKind"
+ ],
+ "properties": {
+ "ServiceKind": {
+ "$ref": "#/definitions/ServiceKind",
+ "description": "The kind of service (Stateless or Stateful)."
+ },
+ "ReplicaStatus": {
+ "$ref": "#/definitions/ReplicaStatus",
+ "description": "The status of a replica of a service."
+ },
+ "HealthState": {
+ "$ref": "#/definitions/HealthState",
+ "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc."
+ },
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "Address": {
+ "type": "string",
+ "description": "The address the replica is listening on."
+ },
+ "LastInBuildDurationInSeconds": {
+ "type": "string",
+ "description": "The last in build duration of the replica in seconds."
+ }
+ }
+ },
+ "ReplicaRole": {
+ "type": "string",
+ "description": "The role of a replica of a stateful service.",
+ "enum": [
+ "Unknown",
+ "None",
+ "Primary",
+ "IdleSecondary",
+ "ActiveSecondary"
+ ],
+ "x-ms-enum": {
+ "name": "ReplicaRole",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Unknown",
+ "description": "Indicates the initial role that a replica is created in. The value is zero."
+ },
+ {
+ "value": "None",
+ "description": "Specifies that the replica has no responsibility in regard to the replica set. The value is 1"
+ },
+ {
+ "value": "Primary",
+ "description": "Refers to the replica in the set on which all read and write operations are complete in order to enforce strong consistency semantics. Read operations are handled directly by the Primary replica, while write operations must be acknowledged by a quorum of the replicas in the replica set. There can only be one Primary replica in a replica set at a time. The value is 2."
+ },
+ {
+ "value": "IdleSecondary",
+ "description": "Refers to a replica in the set that receives a state transfer from the Primary replica to prepare for becoming an active Secondary replica. There can be multiple Idle Secondary replicas in a replica set at a time. Idle Secondary replicas do not count as a part of a write quorum. The value is 3."
+ },
+ {
+ "value": "ActiveSecondary",
+ "description": "Refers to a replica in the set that receives state updates from the Primary replica, applies them, and sends acknowledgements back. Secondary replicas must participate in the write quorum for a replica set. There can be multiple active Secondary replicas in a replica set at a time. The number of active Secondary replicas is configurable that the reliability subsystem should maintain. The value is 4."
+ }
+ ]
+ }
+ },
+ "ReplicasHealthEvaluation": {
+ "x-ms-discriminator-value": "Replicas",
+ "description": "Represents health evaluation for replicas, containing health evaluations for each unhealthy replica that impacted current aggregated health state. Can be returned when evaluating partition health and the aggregated health state is either Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "MaxPercentUnhealthyReplicasPerPartition": {
+ "type": "integer",
+ "description": "Maximum allowed percentage of unhealthy replicas per partition from the ApplicationHealthPolicy."
+ },
+ "TotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of replicas in the partition from the health store."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ReplicaHealthEvaluation that impacted the aggregated health."
+ }
+ }
+ },
+ "ReplicaStatus": {
+ "type": "string",
+ "description": "The status of a replica of a service.",
+ "enum": [
+ "Invalid",
+ "InBuild",
+ "Standby",
+ "Ready",
+ "Down",
+ "Dropped"
+ ],
+ "x-ms-enum": {
+ "name": "ReplicaStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the replica status is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "InBuild",
+ "description": "The replica is being built. This means that a primary replica is seeding this replica. The value is 1."
+ },
+ {
+ "value": "Standby",
+ "description": "The replica is in standby. The value is 2."
+ },
+ {
+ "value": "Ready",
+ "description": "The replica is ready. The value is 3."
+ },
+ {
+ "value": "Down",
+ "description": "The replica is down. The value is 4."
+ },
+ {
+ "value": "Dropped",
+ "description": "Replica is dropped. This means that the replica has been removed from the replica set. If it is persisted, its state has been deleted. The value is 5."
+ }
+ ]
+ }
+ },
+ "RestartNodeDescription": {
+ "description": "Describes the parameters to restart a Service Fabric node.",
+ "properties": {
+ "NodeInstanceId": {
+ "type": "string",
+ "description": "The instance ID of the target node. If instance ID is specified the node is restarted only if it matches with the current instance of the node. A default value of \"0\" would match any instance ID. The instance ID can be obtained using get node query.",
+ "default": "0"
+ },
+ "CreateFabricDump": {
+ "type": "string",
+ "description": "Specify True to create a dump of the fabric node process. This is case-sensitive.",
+ "enum": [
+ "False",
+ "True"
+ ],
+ "default": "False",
+ "x-ms-enum": {
+ "name": "CreateFabricDump",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "False"
+ },
+ {
+ "value": "True"
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "NodeInstanceId"
+ ]
+ },
+ "SafetyCheckInfoList": {
+ "type": "array",
+ "description": "List of pending safety checks",
+ "items": {
+ "$ref": "#/definitions/SafetyCheckWrapper"
+ }
+ },
+ "SafetyCheckWrapper": {
+ "description": "A wrapper for the safety check object. Safety checks are performed by service fabric before continuing with the operations. These checks ensure the availability of the service and the reliability of the state.",
+ "properties": {
+ "SafetyCheck": {
+ "$ref": "#/definitions/SafetyCheck",
+ "description": "Represents a safety check performed by service fabric before continuing with the operations. These checks ensure the availability of the service and the reliability of the state."
+ }
+ }
+ },
+ "ServiceEvent": {
+ "description": "Represents the base for all Service Events.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricEvent"
+ }
+ ],
+ "properties": {
+ "ServiceId": {
+ "$ref": "#/definitions/ServiceId",
+ "description": "The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the service name is \"fabric:/myapp/app1/svc1\",\nthe service identity would be \"myapp~app1\\~svc1\" in 6.0+ and \"myapp/app1/svc1\" in previous versions."
+ }
+ },
+ "required": [
+ "ServiceId"
+ ],
+ "x-ms-discriminator-value": "ServiceEvent"
+ },
+ "ServiceEventList": {
+ "description": "A list of ServiceEvent objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceEvent"
+ }
+ },
+ "ServiceFromTemplateDescription": {
+ "description": "Defines description for creating a Service Fabric service from a template defined in the application manifest.",
+ "required": [
+ "ApplicationName",
+ "ServiceName",
+ "ServiceTypeName"
+ ],
+ "properties": {
+ "ApplicationName": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The full name of the service with 'fabric:' URI scheme."
+ },
+ "ServiceTypeName": {
+ "$ref": "#/definitions/ServiceTypeName",
+ "description": "Name of the service type as specified in the service manifest."
+ },
+ "InitializationData": {
+ "$ref": "#/definitions/ByteArray",
+ "description": "The initialization data for the newly created service instance."
+ },
+ "ServicePackageActivationMode": {
+ "$ref": "#/definitions/ServicePackageActivationMode",
+ "description": "The activation mode of service package to be used for a service."
+ },
+ "ServiceDnsName": {
+ "type": "string",
+ "description": "The DNS name of the service. It requires the DNS system service to be enabled in Service Fabric cluster."
+ }
+ }
+ },
+ "ServiceHealthEvaluation": {
+ "x-ms-discriminator-value": "Service",
+ "description": "Represents health evaluation for a service, containing information about the data and the algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated health state is either Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "Name of the service whose health evaluation is described by this object."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the current aggregated health state of the service. The types of the unhealthy evaluations can be PartitionsHealthEvaluation or EventHealthEvaluation."
+ }
+ }
+ },
+ "ServiceHealthState": {
+ "description": "Represents the health state of a service, which contains the service identifier and its aggregated health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthState"
+ }
+ ],
+ "properties": {
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "Name of the service whose health state is represented by this object."
+ }
+ }
+ },
+ "ServiceHealthStateChunk": {
+ "description": "Represents the health state chunk of a service, which contains the service name, its aggregated health state and any partitions that respect the filters in the cluster health chunk query description.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthStateChunk"
+ }
+ ],
+ "properties": {
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The name of the service whose health state chunk is provided in this object."
+ },
+ "PartitionHealthStateChunks": {
+ "$ref": "#/definitions/PartitionHealthStateChunkList",
+ "description": "The list of partition health state chunks belonging to the service that respect the filters in the cluster health chunk query description."
+ }
+ }
+ },
+ "ServiceHealthStateChunkList": {
+ "description": "The list of service health state chunks that respect the input filters in the chunk query. Returned by get cluster health state chunks query.",
+ "properties": {
+ "Items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceHealthStateChunk"
+ },
+ "description": "The list of service health state chunks that respect the input filters in the chunk query."
+ }
+ }
+ },
+ "ServiceHealthStateFilter": {
+ "description": "Defines matching criteria to determine whether a service should be included as a child of an application in the cluster health chunk.\nThe services are only returned if the parent application matches a filter specified in the cluster health chunk query description.\nOne filter can match zero, one or multiple services, depending on its properties.",
+ "properties": {
+ "ServiceNameFilter": {
+ "type": "string",
+ "description": "The name of the service that matches the filter. The filter is applied only to the specified service, if it exists.\nIf the service doesn't exist, no service is returned in the cluster health chunk based on this filter.\nIf the service exists, it is included as the application's child if the health state matches the other filter properties.\nIf not specified, all services that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter."
+ },
+ "HealthStateFilter": {
+ "type": "integer",
+ "default": 0,
+ "description": "The filter for the health state of the services. It allows selecting services if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only services that match the filter are returned. All services are used to evaluate the cluster aggregated health state.\nIf not specified, default value is None, unless the service name is specified. If the filter has default value and service name is specified, the matching service is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches services with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535."
+ },
+ "PartitionFilters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PartitionHealthStateFilter"
+ },
+ "description": "Defines a list of filters that specify which partitions to be included in the returned cluster health chunk as children of the service. The partitions are returned only if the parent service matches a filter.\nIf the list is empty, no partitions are returned. All the partitions are used to evaluate the parent service aggregated health state, regardless of the input filters.\nThe service filter may specify multiple partition filters.\nFor example, it can specify a filter to return all partitions with health state Error and another filter to always include a partition identified by its partition ID."
+ }
+ }
+ },
+ "ServiceHealth": {
+ "description": "Information about the health of a Service Fabric service.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealth"
+ }
+ ],
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The name of the service whose health information is described by this object."
+ },
+ "PartitionHealthStates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PartitionHealthState"
+ },
+ "description": "The list of partition health states associated with the service."
+ }
+ }
+ },
+ "ServiceId": {
+ "type": "string",
+ "description": "The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the service name is \"fabric:/myapp/app1/svc1\",\nthe service identity would be \"myapp~app1\\~svc1\" in 6.0+ and \"myapp/app1/svc1\" in previous versions."
+ },
+ "ServiceName": {
+ "type": "string",
+ "description": "The full name of the service with 'fabric:' URI scheme."
+ },
+ "ServiceManifestName": {
+ "type": "string",
+ "description": "The name of the service manifest."
+ },
+ "ServiceTypeName": {
+ "type": "string",
+ "description": "Name of the service type as specified in the service manifest."
+ },
+ "ServiceInfo": {
+ "discriminator": "ServiceKind",
+ "description": "Information about a Service Fabric service.",
+ "properties": {
+ "Id": {
+ "$ref": "#/definitions/ServiceId",
+ "description": "The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the service name is \"fabric:/myapp/app1/svc1\",\nthe service identity would be \"myapp~app1\\~svc1\" in 6.0+ and \"myapp/app1/svc1\" in previous versions."
+ },
+ "ServiceKind": {
+ "$ref": "#/definitions/ServiceKind",
+ "description": "The kind of service (Stateless or Stateful)."
+ },
+ "Name": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The full name of the service with 'fabric:' URI scheme."
+ },
+ "TypeName": {
+ "$ref": "#/definitions/ServiceTypeName",
+ "description": "Name of the service type as specified in the service manifest."
+ },
+ "ManifestVersion": {
+ "description": "The version of the service manifest.",
+ "type": "string"
+ },
+ "HealthState": {
+ "$ref": "#/definitions/HealthState",
+ "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc."
+ },
+ "ServiceStatus": {
+ "$ref": "#/definitions/ServiceStatus",
+ "description": "The status of the application."
+ },
+ "IsServiceGroup": {
+ "description": "Whether the service is in a service group.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "ServiceKind"
+ ]
+ },
+ "ServiceKind": {
+ "type": "string",
+ "description": "The kind of service (Stateless or Stateful).",
+ "enum": [
+ "Invalid",
+ "Stateless",
+ "Stateful"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the service kind is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Stateless",
+ "description": "Does not use Service Fabric to make its state highly available or reliable. The value is 1."
+ },
+ {
+ "value": "Stateful",
+ "description": "Uses Service Fabric to make its state or part of its state highly available and reliable. The value is 2."
+ }
+ ]
+ }
+ },
+ "ServiceNameInfo": {
+ "description": "Information about the service name.",
+ "properties": {
+ "Id": {
+ "$ref": "#/definitions/ServiceId",
+ "description": "The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the service name is \"fabric:/myapp/app1/svc1\",\nthe service identity would be \"myapp~app1\\~svc1\" in 6.0+ and \"myapp/app1/svc1\" in previous versions."
+ },
+ "Name": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The full name of the service with 'fabric:' URI scheme."
+ }
+ }
+ },
+ "ServicePackageActivationId": {
+ "type": "string",
+ "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string."
+ },
+ "ServicePartitionInfo": {
+ "discriminator": "ServiceKind",
+ "description": "Information about a partition of a Service Fabric service.",
+ "required": [
+ "ServiceKind"
+ ],
+ "properties": {
+ "ServiceKind": {
+ "$ref": "#/definitions/ServiceKind",
+ "description": "The kind of service (Stateless or Stateful)."
+ },
+ "HealthState": {
+ "$ref": "#/definitions/HealthState",
+ "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc."
+ },
+ "PartitionStatus": {
+ "$ref": "#/definitions/ServicePartitionStatus",
+ "description": "The status of the service fabric service partition."
+ },
+ "PartitionInformation": {
+ "$ref": "#/definitions/PartitionInformation",
+ "description": "Information about the partition identity, partitioning scheme and keys supported by it."
+ }
+ }
+ },
+ "ServicePartitionKind": {
+ "type": "string",
+ "description": "The kind of partitioning scheme used to partition the service.",
+ "enum": [
+ "Invalid",
+ "Singleton",
+ "Int64Range",
+ "Named"
+ ],
+ "x-ms-enum": {
+ "name": "ServicePartitionKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the partition kind is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Singleton",
+ "description": "Indicates that there is only one partition, and SingletonPartitionSchemeDescription was specified while creating the service. The value is 1."
+ },
+ {
+ "value": "Int64Range",
+ "description": "Indicates that the partition is based on Int64 key ranges, and UniformInt64RangePartitionSchemeDescription was specified while creating the service. The value is 2."
+ },
+ {
+ "value": "Named",
+ "description": "Indicates that the partition is based on string names, and NamedPartitionInformation was specified while creating the service. The value is 3."
+ }
+ ]
+ }
+ },
+ "ServicePartitionStatus": {
+ "type": "string",
+ "description": "The status of the service fabric service partition.",
+ "enum": [
+ "Invalid",
+ "Ready",
+ "NotReady",
+ "InQuorumLoss",
+ "Reconfiguring",
+ "Deleting"
+ ],
+ "x-ms-enum": {
+ "name": "ServicePartitionStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the partition status is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Ready",
+ "description": "Indicates that the partition is ready. This means that for a stateless service partition there is at least one instance that is up and for a stateful service partition the number of ready replicas is greater than or equal to the MinReplicaSetSize. The value is 1."
+ },
+ {
+ "value": "NotReady",
+ "description": "Indicates that the partition is not ready. This status is returned when none of the other states apply. The value is 2."
+ },
+ {
+ "value": "InQuorumLoss",
+ "description": "Indicates that the partition is in quorum loss. This means that number of replicas that are up and participating in a replica set is less than MinReplicaSetSize for this partition. The value is 3."
+ },
+ {
+ "value": "Reconfiguring",
+ "description": "Indicates that the partition is undergoing reconfiguration of its replica sets. This can happen due to failover, upgrade, load balancing or addition or removal of replicas from the replica set. The value is 4."
+ },
+ {
+ "value": "Deleting",
+ "description": "Indicates that the partition is being deleted. The value is 5."
+ }
+ ]
+ }
+ },
+ "ServicePlacementInvalidDomainPolicyDescription": {
+ "x-ms-discriminator-value": "InvalidDomain",
+ "description": "Describes the policy to be used for placement of a Service Fabric service where a particular fault or upgrade domain should not be used for placement of the instances or replicas of that service.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServicePlacementPolicyDescription"
+ }
+ ],
+ "properties": {
+ "DomainName": {
+ "type": "string",
+ "description": "The name of the domain that should not be used for placement."
+ }
+ }
+ },
+ "ServicePlacementNonPartiallyPlaceServicePolicyDescription": {
+ "x-ms-discriminator-value": "NonPartiallyPlaceService",
+ "description": "Describes the policy to be used for placement of a Service Fabric service where all replicas must be able to be placed in order for any replicas to be created.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServicePlacementPolicyDescription"
+ }
+ ]
+ },
+ "ServicePlacementPolicyDescription": {
+ "discriminator": "Type",
+ "description": "Describes the policy to be used for placement of a Service Fabric service.",
+ "required": [
+ "Type"
+ ],
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/ServicePlacementPolicyType",
+ "description": "The type of placement policy for a service fabric service. Following are the possible values."
+ }
+ }
+ },
+ "ServicePlacementPolicyDescriptionList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServicePlacementPolicyDescription"
+ },
+ "description": "List of service placement policy descriptions."
+ },
+ "ServicePlacementPolicyType": {
+ "type": "string",
+ "description": "The type of placement policy for a service fabric service. Following are the possible values.",
+ "enum": [
+ "Invalid",
+ "InvalidDomain",
+ "RequireDomain",
+ "PreferPrimaryDomain",
+ "RequireDomainDistribution",
+ "NonPartiallyPlaceService"
+ ],
+ "x-ms-enum": {
+ "name": "ServicePlacementPolicyType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the type of the placement policy is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "InvalidDomain",
+ "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementInvalidDomainPolicyDescription, which indicates that a particular fault or upgrade domain cannot be used for placement of this service. The value is 1."
+ },
+ {
+ "value": "RequireDomain",
+ "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementRequireDomainDistributionPolicyDescription indicating that the replicas of the service must be placed in a specific domain. The value is 2."
+ },
+ {
+ "value": "PreferPrimaryDomain",
+ "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementPreferPrimaryDomainPolicyDescription, which indicates that if possible the Primary replica for the partitions of the service should be located in a particular domain as an optimization. The value is 3."
+ },
+ {
+ "value": "RequireDomainDistribution",
+ "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementRequireDomainDistributionPolicyDescription, indicating that the system will disallow placement of any two replicas from the same partition in the same domain at any time. The value is 4."
+ },
+ {
+ "value": "NonPartiallyPlaceService",
+ "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementNonPartiallyPlaceServicePolicyDescription, which indicates that if possible all replicas of a particular partition of the service should be placed atomically. The value is 5."
+ }
+ ]
+ }
+ },
+ "ServicePlacementPreferPrimaryDomainPolicyDescription": {
+ "x-ms-discriminator-value": "PreferPrimaryDomain",
+ "description": "Describes the policy to be used for placement of a Service Fabric service where the service's Primary replicas should optimally be placed in a particular domain.\n\nThis placement policy is usually used with fault domains in scenarios where the Service Fabric cluster is geographically distributed in order to indicate that a service's primary replica should be located in a particular fault domain, which in geo-distributed scenarios usually aligns with regional or datacenter boundaries. Note that since this is an optimization it is possible that the Primary replica may not end up located in this domain due to failures, capacity limits, or other constraints.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServicePlacementPolicyDescription"
+ }
+ ],
+ "properties": {
+ "DomainName": {
+ "type": "string",
+ "description": "The name of the domain that should used for placement as per this policy."
+ }
+ }
+ },
+ "ServicePlacementRequiredDomainPolicyDescription": {
+ "x-ms-discriminator-value": "RequireDomain",
+ "description": "Describes the policy to be used for placement of a Service Fabric service where the instances or replicas of that service must be placed in a particular domain",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServicePlacementPolicyDescription"
+ }
+ ],
+ "properties": {
+ "DomainName": {
+ "type": "string",
+ "description": "The name of the domain that should used for placement as per this policy."
+ }
+ }
+ },
+ "ServicePlacementRequireDomainDistributionPolicyDescription": {
+ "x-ms-discriminator-value": "RequireDomainDistribution",
+ "description": "Describes the policy to be used for placement of a Service Fabric service where two replicas from the same partition should never be placed in the same fault or upgrade domain.\n\nWhile this is not common it can expose the service to an increased risk of concurrent failures due to unplanned outages or other cases of subsequent/concurrent failures. As an example, consider a case where replicas are deployed across different data center, with one replica per location. In the event that one of the datacenters goes offline, normally the replica that was placed in that datacenter will be packed into one of the remaining datacenters. If this is not desirable then this policy should be set.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServicePlacementPolicyDescription"
+ }
+ ],
+ "properties": {
+ "DomainName": {
+ "type": "string",
+ "description": "The name of the domain that should used for placement as per this policy."
+ }
+ }
+ },
+ "ServicesHealthEvaluation": {
+ "x-ms-discriminator-value": "Services",
+ "description": "Represents health evaluation for services of a certain service type belonging to an application, containing health evaluations for each unhealthy service that impacted current aggregated health state. Can be returned when evaluating application health and the aggregated health state is either Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "ServiceTypeName": {
+ "type": "string",
+ "description": "Name of the service type of the services."
+ },
+ "MaxPercentUnhealthyServices": {
+ "type": "integer",
+ "description": "Maximum allowed percentage of unhealthy services from the ServiceTypeHealthPolicy."
+ },
+ "TotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of services of the current service type in the application from the health store."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ServiceHealthEvaluation that impacted the aggregated health."
+ }
+ }
+ },
+ "ServiceStatus": {
+ "type": "string",
+ "description": "The status of the application.",
+ "enum": [
+ "Unknown",
+ "Active",
+ "Upgrading",
+ "Deleting",
+ "Creating",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Unknown",
+ "description": "Indicates the service status is unknown. The value is zero."
+ },
+ {
+ "value": "Active",
+ "description": "Indicates the service status is active. The value is 1."
+ },
+ {
+ "value": "Upgrading",
+ "description": "Indicates the service is upgrading. The value is 2."
+ },
+ {
+ "value": "Deleting",
+ "description": "Indicates the service is being deleted. The value is 3."
+ },
+ {
+ "value": "Creating",
+ "description": "Indicates the service is being created. The value is 4."
+ },
+ {
+ "value": "Failed",
+ "description": "Indicates creation or deletion was terminated due to persistent failures. Another create/delete request can be accepted. The value is 5."
+ }
+ ]
+ }
+ },
+ "ServiceTypeDescription": {
+ "discriminator": "Kind",
+ "description": "Describes a service type defined in the service manifest of a provisioned application type. The properties the ones defined in the service manifest.",
+ "required": [
+ "Kind"
+ ],
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/ServiceKind",
+ "description": "The kind of service (Stateless or Stateful)."
+ },
+ "IsStateful": {
+ "type": "boolean",
+ "description": "Indicates whether the service type is a stateful service type or a stateless service type. This property is true if the service type is a stateful service type, false otherwise."
+ },
+ "ServiceTypeName": {
+ "$ref": "#/definitions/ServiceTypeName",
+ "description": "Name of the service type as specified in the service manifest."
+ },
+ "PlacementConstraints": {
+ "type": "string",
+ "description": "The placement constraint to be used when instantiating this service in a Service Fabric cluster."
+ },
+ "LoadMetrics": {
+ "$ref": "#/definitions/ServiceLoadMetricsList",
+ "description": "The service load metrics is given as an array of ServiceLoadMetricDescription objects."
+ },
+ "ServicePlacementPolicies": {
+ "$ref": "#/definitions/ServicePlacementPolicyDescriptionList",
+ "description": "List of service placement policy descriptions."
+ },
+ "Extensions": {
+ "$ref": "#/definitions/ServiceTypeExtensionDescriptionList",
+ "description": "List of service type extensions."
+ }
+ }
+ },
+ "ServiceTypeExtensionDescription": {
+ "description": "Describes extension of a service type defined in the service manifest.",
+ "properties": {
+ "Key": {
+ "type": "string",
+ "description": "The name of the extension."
+ },
+ "Value": {
+ "type": "string",
+ "description": "The extension value."
+ }
+ }
+ },
+ "ServiceTypeExtensionDescriptionList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceTypeExtensionDescription"
+ },
+ "description": "List of service type extensions."
+ },
+ "ServiceTypeHealthPolicy": {
+ "description": "Represents the health policy used to evaluate the health of services belonging to a service type.",
+ "properties": {
+ "MaxPercentUnhealthyPartitionsPerService": {
+ "type": "integer",
+ "description": "The maximum allowed percentage of unhealthy partitions per service. Allowed values are Byte values from zero to 100\n\nThe percentage represents the maximum tolerated percentage of partitions that can be unhealthy before the service is considered in error.\nIf the percentage is respected but there is at least one unhealthy partition, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy partitions over the total number of partitions in the service.\nThe computation rounds up to tolerate one failure on small numbers of partitions. Default percentage is zero.",
+ "default": 0
+ },
+ "MaxPercentUnhealthyReplicasPerPartition": {
+ "type": "integer",
+ "description": "The maximum allowed percentage of unhealthy replicas per partition. Allowed values are Byte values from zero to 100.\n\nThe percentage represents the maximum tolerated percentage of replicas that can be unhealthy before the partition is considered in error.\nIf the percentage is respected but there is at least one unhealthy replica, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy replicas over the total number of replicas in the partition.\nThe computation rounds up to tolerate one failure on small numbers of replicas. Default percentage is zero.",
+ "default": 0
+ },
+ "MaxPercentUnhealthyServices": {
+ "type": "integer",
+ "description": "The maximum allowed percentage of unhealthy services. Allowed values are Byte values from zero to 100.\n\nThe percentage represents the maximum tolerated percentage of services that can be unhealthy before the application is considered in error.\nIf the percentage is respected but there is at least one unhealthy service, the health is evaluated as Warning.\nThis is calculated by dividing the number of unhealthy services of the specific service type over the total number of services of the specific service type.\nThe computation rounds up to tolerate one failure on small numbers of services. Default percentage is zero.",
+ "default": 0
+ }
+ }
+ },
+ "ServiceTypeHealthPolicyMap": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceTypeHealthPolicyMapItem"
+ },
+ "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type. For example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently. With policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation."
+ },
+ "ServiceTypeHealthPolicyMapItem": {
+ "description": "Defines an item in ServiceTypeHealthPolicyMap.",
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "properties": {
+ "Key": {
+ "type": "string",
+ "description": "The key of the service type health policy map item. This is the name of the service type."
+ },
+ "Value": {
+ "$ref": "#/definitions/ServiceTypeHealthPolicy",
+ "description": "The value of the service type health policy map item. This is the ServiceTypeHealthPolicy for this service type."
+ }
+ }
+ },
+ "ServiceTypeInfo": {
+ "description": "Information about a service type that is defined in a service manifest of a provisioned application type.",
+ "properties": {
+ "ServiceTypeDescription": {
+ "$ref": "#/definitions/ServiceTypeDescription",
+ "description": "Describes a service type defined in the service manifest of a provisioned application type. The properties the ones defined in the service manifest."
+ },
+ "ServiceManifestName": {
+ "$ref": "#/definitions/ServiceManifestName",
+ "description": "The name of the service manifest in which this service type is defined."
+ },
+ "ServiceManifestVersion": {
+ "type": "string",
+ "description": "The version of the service manifest in which this service type is defined."
+ },
+ "IsServiceGroup": {
+ "type": "boolean",
+ "description": "Indicates whether the service is a service group. If it is, the property value is true otherwise false."
+ }
+ }
+ },
+ "ServiceTypeInfoList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceTypeInfo"
+ },
+ "description": "List of service type information."
+ },
+ "ServiceTypeManifest": {
+ "description": "Contains the manifest describing a service type registered as part of an application in a Service Fabric cluster.",
+ "properties": {
+ "Manifest": {
+ "type": "string",
+ "description": "The XML manifest as a string."
+ }
+ }
+ },
+ "SingletonPartitionInformation": {
+ "description": "Information about a partition that is singleton. The services with singleton partitioning scheme are effectively non-partitioned. They only have one partition.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionInformation"
+ }
+ ],
+ "x-ms-discriminator-value": "Singleton"
+ },
+ "StatefulServiceInfo": {
+ "description": "Information about a stateful Service Fabric service.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceInfo"
+ }
+ ],
+ "properties": {
+ "HasPersistedState": {
+ "description": "Whether the service has persisted state.",
+ "type": "boolean"
+ }
+ },
+ "x-ms-discriminator-value": "Stateful"
+ },
+ "StatefulServicePartitionInfo": {
+ "description": "Information about a partition of a stateful Service Fabric service..",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServicePartitionInfo"
+ }
+ ],
+ "x-ms-discriminator-value": "Stateful",
+ "properties": {
+ "TargetReplicaSetSize": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The target replica set size as a number."
+ },
+ "MinReplicaSetSize": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The minimum replica set size as a number."
+ },
+ "LastQuorumLossDuration": {
+ "type": "string",
+ "format": "duration",
+ "description": "The duration for which this partition was in quorum loss. If the partition is currently in quorum loss, it returns the duration since it has been in that state. This field is using ISO8601 format for specifying the duration."
+ },
+ "PrimaryEpoch": {
+ "$ref": "#/definitions/Epoch",
+ "description": "An Epoch is a configuration number for the partition as a whole. When the configuration of the replica set changes, for example when the Primary replica changes, the operations that are replicated from the new Primary replica are said to be a new Epoch from the ones which were sent by the old Primary replica."
+ }
+ }
+ },
+ "StatefulServiceReplicaHealth": {
+ "description": "Represents the health of the stateful service replica.\nContains the replica aggregated health state, the health events and the unhealthy evaluations.",
+ "x-ms-discriminator-value": "Stateful",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicaHealth"
+ }
+ ],
+ "properties": {
+ "ReplicaId": {
+ "$ref": "#/definitions/ReplicaId",
+ "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id."
+ }
+ }
+ },
+ "StatefulServiceReplicaHealthState": {
+ "x-ms-discriminator-value": "Stateful",
+ "description": "Represents the health state of the stateful service replica, which contains the replica ID and the aggregated health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicaHealthState"
+ }
+ ],
+ "properties": {
+ "ReplicaId": {
+ "$ref": "#/definitions/ReplicaId",
+ "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id."
+ }
+ }
+ },
+ "StatefulServiceTypeDescription": {
+ "description": "Describes a stateful service type defined in the service manifest of a provisioned application type.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceTypeDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "Stateful",
+ "properties": {
+ "HasPersistedState": {
+ "type": "boolean",
+ "description": "A flag indicating whether this is a persistent service which stores states on the local disk. If it is then the value of this property is true, if not it is false."
+ }
+ }
+ },
+ "StatelessServiceInfo": {
+ "description": "Information about a stateless Service Fabric service.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceInfo"
+ }
+ ],
+ "x-ms-discriminator-value": "Stateless"
+ },
+ "StatelessServiceInstanceHealth": {
+ "description": "Represents the health of the stateless service instance.\nContains the instance aggregated health state, the health events and the unhealthy evaluations.",
+ "x-ms-discriminator-value": "Stateless",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicaHealth"
+ }
+ ],
+ "properties": {
+ "InstanceId": {
+ "$ref": "#/definitions/InstanceId",
+ "description": "Id of a stateless service instance. InstanceId is used by Service Fabric to uniquely identify an instance of a partition of a stateless service. It is unique within a partition and does not change for the lifetime of the instance. If the instance has failed over on the same or different node, it will get a different value for the InstanceId."
+ }
+ }
+ },
+ "StatelessServiceInstanceHealthState": {
+ "x-ms-discriminator-value": "Stateless",
+ "description": "Represents the health state of the stateless service instance, which contains the instance ID and the aggregated health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicaHealthState"
+ }
+ ],
+ "properties": {
+ "ReplicaId": {
+ "$ref": "#/definitions/ReplicaId",
+ "description": "Id of the stateless service instance on the wire this field is called ReplicaId."
+ }
+ }
+ },
+ "StatelessServicePartitionInfo": {
+ "description": "Information about a partition of a stateless Service Fabric service.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServicePartitionInfo"
+ }
+ ],
+ "x-ms-discriminator-value": "Stateless",
+ "properties": {
+ "InstanceCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of instances of this partition."
+ },
+ "MinInstanceCount": {
+ "$ref": "#/definitions/MinInstanceCount",
+ "description": "MinInstanceCount is the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service."
+ },
+ "MinInstancePercentage": {
+ "$ref": "#/definitions/MinInstancePercentage",
+ "description": "MinInstancePercentage is the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service."
+ }
+ }
+ },
+ "StatelessServiceTypeDescription": {
+ "description": "Describes a stateless service type defined in the service manifest of a provisioned application type.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceTypeDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "Stateless",
+ "properties": {
+ "UseImplicitHost": {
+ "type": "boolean",
+ "description": "A flag indicating if this type is not implemented and hosted by a user service process, but is implicitly hosted by a system created process. This value is true for services using the guest executable services, false otherwise."
+ }
+ }
+ },
+ "SystemApplicationHealthEvaluation": {
+ "x-ms-discriminator-value": "SystemApplication",
+ "description": "Represents health evaluation for the fabric:/System application, containing information about the data and the algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated health state of the cluster is either Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the current aggregated health state of the system application. The types of the unhealthy evaluations can be DeployedApplicationsHealthEvaluation, ServicesHealthEvaluation or EventHealthEvaluation."
+ }
+ }
+ },
+ "TargetApplicationName": {
+ "type": "string",
+ "description": "The name of the target application, including the 'fabric:' URI scheme."
+ },
+ "TargetApplicationTypeVersion": {
+ "type": "string",
+ "description": "The target application type version (found in the application manifest) for the application upgrade."
+ },
+ "TargetDeploymentName": {
+ "type": "string",
+ "description": "The name of the target deployment."
+ },
+ "UnhealthyEvaluations": {
+ "description": "List of health evaluations that resulted in the current aggregated health state.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthEvaluationWrapper"
+ }
+ },
+ "UpgradeDomainDeltaNodesCheckHealthEvaluation": {
+ "x-ms-discriminator-value": "UpgradeDomainDeltaNodesCheck",
+ "description": "Represents health evaluation for delta unhealthy cluster nodes in an upgrade domain, containing health evaluations for each unhealthy node that impacted current aggregated health state.\nCan be returned during cluster upgrade when cluster aggregated health state is Warning or Error.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "UpgradeDomainName": {
+ "type": "string",
+ "description": "Name of the upgrade domain where nodes health is currently evaluated."
+ },
+ "BaselineErrorCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of upgrade domain nodes with aggregated heath state Error in the health store at the beginning of the cluster upgrade."
+ },
+ "BaselineTotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of upgrade domain nodes in the health store at the beginning of the cluster upgrade."
+ },
+ "MaxPercentDeltaUnhealthyNodes": {
+ "type": "integer",
+ "description": "Maximum allowed percentage of upgrade domain delta unhealthy nodes from the ClusterUpgradeHealthPolicy."
+ },
+ "TotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of upgrade domain nodes in the health store."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health."
+ }
+ }
+ },
+ "UpgradeDomainInfo": {
+ "description": "Information about an upgrade domain.",
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/UpgradeDomainName",
+ "description": "The name of the upgrade domain"
+ },
+ "State": {
+ "$ref": "#/definitions/UpgradeDomainState",
+ "description": "The state of the upgrade domain."
+ }
+ }
+ },
+ "UpgradeDomainInfoList": {
+ "type": "array",
+ "description": "List of upgrade domains and their statuses.",
+ "items": {
+ "$ref": "#/definitions/UpgradeDomainInfo"
+ }
+ },
+ "UpgradeDomainName": {
+ "type": "string",
+ "description": "The name of the upgrade domain"
+ },
+ "UpgradeDomainNodesHealthEvaluation": {
+ "x-ms-discriminator-value": "UpgradeDomainNodes",
+ "description": "Represents health evaluation for cluster nodes in an upgrade domain, containing health evaluations for each unhealthy node that impacted current aggregated health state. Can be returned when evaluating cluster health during cluster upgrade and the aggregated health state is either Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "UpgradeDomainName": {
+ "type": "string",
+ "description": "Name of the upgrade domain where nodes health is currently evaluated."
+ },
+ "MaxPercentUnhealthyNodes": {
+ "type": "integer",
+ "description": "Maximum allowed percentage of unhealthy nodes from the ClusterHealthPolicy."
+ },
+ "TotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of nodes in the current upgrade domain."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health."
+ }
+ }
+ },
+ "UpgradeDomainState": {
+ "type": "string",
+ "description": "The state of the upgrade domain.",
+ "enum": [
+ "Invalid",
+ "Pending",
+ "InProgress",
+ "Completed"
+ ],
+ "x-ms-enum": {
+ "name": "UpgradeDomainState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the upgrade domain state is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Pending",
+ "description": "The upgrade domain has not started upgrading yet. The value is 1"
+ },
+ {
+ "value": "InProgress",
+ "description": "The upgrade domain is being upgraded but not complete yet. The value is 2"
+ },
+ {
+ "value": "Completed",
+ "description": "The upgrade domain has completed upgrade. The value is 3"
+ }
+ ]
+ }
+ },
+ "UpgradeDomainTimeout": {
+ "type": "string",
+ "description": "The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.",
+ "default": "P10675199DT02H48M05.4775807S"
+ },
+ "UpgradeDuration": {
+ "type": "string",
+ "description": "The estimated amount of time that the overall upgrade elapsed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.",
+ "default": "PT0H2M0S"
+ },
+ "UpgradeKind": {
+ "type": "string",
+ "description": "The kind of upgrade out of the following possible values.",
+ "default": "Rolling",
+ "enum": [
+ "Invalid",
+ "Rolling"
+ ],
+ "x-ms-enum": {
+ "name": "UpgradeKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the upgrade kind is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Rolling",
+ "description": "The upgrade progresses one upgrade domain at a time. The value is 1"
+ }
+ ]
+ }
+ },
+ "UpgradeMode": {
+ "type": "string",
+ "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored.",
+ "enum": [
+ "Invalid",
+ "UnmonitoredAuto",
+ "UnmonitoredManual",
+ "Monitored"
+ ],
+ "default": "UnmonitoredAuto",
+ "x-ms-enum": {
+ "name": "UpgradeMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the upgrade mode is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "UnmonitoredAuto",
+ "description": "The upgrade will proceed automatically without performing any health monitoring. The value is 1"
+ },
+ {
+ "value": "UnmonitoredManual",
+ "description": "The upgrade will stop after completing each upgrade domain, giving the opportunity to manually monitor health before proceeding. The value is 2"
+ },
+ {
+ "value": "Monitored",
+ "description": "The upgrade will stop after completing each upgrade domain and automatically monitor health before proceeding. The value is 3"
+ }
+ ]
+ }
+ },
+ "UpgradeSortOrder": {
+ "type": "string",
+ "description": "Defines the order in which an upgrade proceeds through the cluster.",
+ "enum": [
+ "Invalid",
+ "Default",
+ "Numeric",
+ "Lexicographical",
+ "ReverseNumeric",
+ "ReverseLexicographical"
+ ],
+ "default": "Default",
+ "x-ms-enum": {
+ "name": "UpgradeSortOrder",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates that this sort order is not valid. All Service Fabric enumerations have the invalid type. The value is 0."
+ },
+ {
+ "value": "Default",
+ "description": "Indicates that the default sort order (as specified in cluster manifest) will be used. The value is 1."
+ },
+ {
+ "value": "Numeric",
+ "description": "Indicates that forward numeric sort order (UD names sorted as numbers) will be used. The value is 2."
+ },
+ {
+ "value": "Lexicographical",
+ "description": "Indicates that forward lexicographical sort order (UD names sorted as strings) will be used. The value is 3."
+ },
+ {
+ "value": "ReverseNumeric",
+ "description": "Indicates that reverse numeric sort order (UD names sorted as numbers) will be used. The value is 4."
+ },
+ {
+ "value": "ReverseLexicographical",
+ "description": "Indicates that reverse lexicographical sort order (UD names sorted as strings) will be used. The value is 5."
+ }
+ ]
+ }
+ },
+ "UpgradeType": {
+ "type": "string",
+ "description": "The type of upgrade out of the following possible values.",
+ "default": "Rolling",
+ "enum": [
+ "Invalid",
+ "Rolling",
+ "Rolling_ForceRestart"
+ ],
+ "x-ms-enum": {
+ "name": "UpgradeType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the upgrade kind is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Rolling",
+ "description": "The upgrade progresses one upgrade domain at a time. The value is 1."
+ },
+ {
+ "value": "Rolling_ForceRestart",
+ "description": "The upgrade gets restarted by force. The value is 2."
+ }
+ ]
+ }
+ },
+ "UpgradeReplicaSetCheckTimeout": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer).",
+ "default": 42949672925
+ },
+ "UpgradeState": {
+ "type": "string",
+ "description": "The state of the upgrade domain.",
+ "enum": [
+ "Invalid",
+ "RollingBackInProgress",
+ "RollingBackCompleted",
+ "RollingForwardPending",
+ "RollingForwardInProgress",
+ "RollingForwardCompleted",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "UpgradeState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the upgrade state is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "RollingBackInProgress",
+ "description": "The upgrade is rolling back to the previous version but is not complete yet. The value is 1"
+ },
+ {
+ "value": "RollingBackCompleted",
+ "description": "The upgrade has finished rolling back. The value is 2"
+ },
+ {
+ "value": "RollingForwardPending",
+ "description": "The current upgrade domain has finished upgrading. The overall upgrade is waiting for an explicit move next request in UnmonitoredManual mode or performing health checks in Monitored mode. The value is 3"
+ },
+ {
+ "value": "RollingForwardInProgress",
+ "description": "The upgrade is rolling forward to the target version but is not complete yet. The value is 4"
+ },
+ {
+ "value": "RollingForwardCompleted",
+ "description": "The upgrade has finished rolling forward. The value is 5"
+ },
+ {
+ "value": "Failed",
+ "description": "The upgrade has failed and is unable to execute FailureAction. The value is 6"
+ }
+ ]
+ }
+ },
+ "UpgradeTimeout": {
+ "type": "string",
+ "description": "The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.",
+ "default": "P10675199DT02H48M05.4775807S"
+ },
+ "WaitForInbuildReplicaSafetyCheck": {
+ "description": "Safety check that waits for the replica build operation to finish. This indicates that there is a replica that is going through the copy or is providing data for building another replica. Bring the node down will abort this copy operation which are typically expensive involving data movements.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionSafetyCheck"
+ }
+ ],
+ "x-ms-discriminator-value": "WaitForInbuildReplica"
+ },
+ "WaitForPrimaryPlacementSafetyCheck": {
+ "description": "Safety check that waits for the primary replica that was moved out of the node due to upgrade to be placed back again on that node.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionSafetyCheck"
+ }
+ ],
+ "x-ms-discriminator-value": "WaitForPrimaryPlacement"
+ },
+ "WaitForPrimarySwapSafetyCheck": {
+ "description": "Safety check that waits for the primary replica to be moved out of the node before starting an upgrade to ensure the availability of the primary replica for the partition.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionSafetyCheck"
+ }
+ ],
+ "x-ms-discriminator-value": "WaitForPrimarySwap"
+ },
+ "WaitForReconfigurationSafetyCheck": {
+ "description": "Safety check that waits for the current reconfiguration of the partition to be completed before starting an upgrade.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionSafetyCheck"
+ }
+ ],
+ "x-ms-discriminator-value": "WaitForReconfiguration"
+ },
+ "LoadMetricReport": {
+ "description": "Represents the load metric report which contains the time metric was reported, its name and value.",
+ "properties": {
+ "LastReportedUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Gets the UTC time when the load was reported."
+ },
+ "Name": {
+ "type": "string",
+ "description": "The name of the load metric."
+ },
+ "Value": {
+ "type": "string",
+ "format": "int32",
+ "description": "The value of the load metric. In future releases of Service Fabric this parameter will be deprecated in favor of CurrentValue."
+ },
+ "CurrentValue": {
+ "type": "string",
+ "format": "double",
+ "description": "The value of the load metric."
+ }
+ }
+ },
+ "PartitionLoadInformation": {
+ "description": "Represents load information for a partition, which contains the primary and secondary reported load metrics.\nIn case there is no load reported, PartitionLoadInformation will contain the default load for the service of the partition.\nFor default loads, LoadMetricReport's LastReportedUtc is set to 0.",
+ "properties": {
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "Id of the partition."
+ },
+ "PrimaryLoadMetricReports": {
+ "type": "array",
+ "description": "Array of load reports from the primary replica for this partition.",
+ "items": {
+ "$ref": "#/definitions/LoadMetricReport"
+ }
+ },
+ "SecondaryLoadMetricReports": {
+ "type": "array",
+ "description": "Array of aggregated load reports from all secondary replicas for this partition.\nArray only contains the latest reported load for each metric.",
+ "items": {
+ "$ref": "#/definitions/LoadMetricReport"
+ }
+ }
+ }
+ },
+ "StatefulServiceReplicaInfo": {
+ "x-ms-discriminator-value": "Stateful",
+ "description": "Represents a stateful service replica. This includes information about the identity, role, status, health, node name, uptime, and other details about the replica.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicaInfo"
+ }
+ ],
+ "properties": {
+ "ReplicaRole": {
+ "$ref": "#/definitions/ReplicaRole",
+ "description": "The role of a replica of a stateful service."
+ },
+ "ReplicaId": {
+ "$ref": "#/definitions/ReplicaId",
+ "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id."
+ }
+ }
+ },
+ "StatelessServiceInstanceInfo": {
+ "x-ms-discriminator-value": "Stateless",
+ "description": "Represents a stateless service instance. This includes information about the identity, status, health, node name, uptime, and other details about the instance.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicaInfo"
+ }
+ ],
+ "properties": {
+ "InstanceId": {
+ "$ref": "#/definitions/InstanceId",
+ "description": "Id of a stateless service instance. InstanceId is used by Service Fabric to uniquely identify an instance of a partition of a stateless service. It is unique within a partition and does not change for the lifetime of the instance. If the instance has failed over on the same or different node, it will get a different value for the InstanceId."
+ }
+ }
+ },
+ "ClusterFabricCodeVersionString": {
+ "type": "string",
+ "description": "The ServiceFabric code version of the cluster."
+ },
+ "ClusterFabricConfigVersionString": {
+ "type": "string",
+ "description": "The cluster configuration version (specified in the cluster manifest)."
+ },
+ "ClusterUpgradeDescriptionObject": {
+ "description": "Represents a ServiceFabric cluster upgrade",
+ "properties": {
+ "ConfigVersion": {
+ "$ref": "#/definitions/ClusterFabricConfigVersionString",
+ "description": "The cluster configuration version (specified in the cluster manifest)."
+ },
+ "CodeVersion": {
+ "$ref": "#/definitions/ClusterFabricCodeVersionString",
+ "description": "The ServiceFabric code version of the cluster."
+ },
+ "UpgradeKind": {
+ "$ref": "#/definitions/UpgradeKind",
+ "description": "The kind of upgrade out of the following possible values."
+ },
+ "RollingUpgradeMode": {
+ "$ref": "#/definitions/UpgradeMode",
+ "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored."
+ },
+ "UpgradeReplicaSetCheckTimeoutInSeconds": {
+ "$ref": "#/definitions/UpgradeReplicaSetCheckTimeout",
+ "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer)."
+ },
+ "ForceRestart": {
+ "$ref": "#/definitions/ForceRestart",
+ "description": "If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data)."
+ },
+ "SortOrder": {
+ "$ref": "#/definitions/UpgradeSortOrder",
+ "description": "Defines the order in which an upgrade proceeds through the cluster."
+ },
+ "EnableDeltaHealthEvaluation": {
+ "$ref": "#/definitions/DeltaHealthEvaluationBool",
+ "description": "When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain."
+ },
+ "MonitoringPolicy": {
+ "$ref": "#/definitions/MonitoringPolicyDescription",
+ "description": "Describes the parameters for monitoring an upgrade in Monitored mode."
+ },
+ "ClusterHealthPolicy": {
+ "$ref": "#/definitions/ClusterHealthPolicy",
+ "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node."
+ },
+ "ClusterUpgradeHealthPolicy": {
+ "$ref": "#/definitions/ClusterUpgradeHealthPolicyObject",
+ "description": "Defines a health policy used to evaluate the health of the cluster during a cluster upgrade."
+ },
+ "ApplicationHealthPolicyMap": {
+ "$ref": "#/definitions/ApplicationHealthPolicyMap",
+ "description": "Defines a map that contains specific application health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.\nIf an application is not specified in the map, the application health evaluation uses the ApplicationHealthPolicy found in its application manifest or the default application health policy (if no health policy is defined in the manifest).\nThe map is empty by default."
+ }
+ }
+ },
+ "ClusterUpgradeHealthPolicyObject": {
+ "description": "Defines a health policy used to evaluate the health of the cluster during a cluster upgrade.",
+ "properties": {
+ "MaxPercentDeltaUnhealthyNodes": {
+ "type": "integer",
+ "description": "The maximum allowed percentage of nodes health degradation allowed during cluster upgrades. The delta is measured between the state of the nodes at the beginning of upgrade and the state of the nodes at the time of the health evaluation. The check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits. The default value is 10%.",
+ "maximum": 100,
+ "minimum": 0
+ },
+ "MaxPercentUpgradeDomainDeltaUnhealthyNodes": {
+ "type": "integer",
+ "description": "The maximum allowed percentage of upgrade domain nodes health degradation allowed during cluster upgrades. The delta is measured between the state of the upgrade domain nodes at the beginning of upgrade and the state of the upgrade domain nodes at the time of the health evaluation. The check is performed after every upgrade domain upgrade completion for all completed upgrade domains to make sure the state of the upgrade domains is within tolerated limits. The default value is 15%.",
+ "maximum": 100,
+ "minimum": 0
+ }
+ }
+ },
+ "ClusterUpgradeProgressObject": {
+ "description": "Information about a cluster upgrade.",
+ "properties": {
+ "CodeVersion": {
+ "$ref": "#/definitions/ClusterFabricCodeVersionString",
+ "description": "The ServiceFabric code version of the cluster."
+ },
+ "ConfigVersion": {
+ "$ref": "#/definitions/ClusterFabricConfigVersionString",
+ "description": "The cluster configuration version (specified in the cluster manifest)."
+ },
+ "UpgradeDomains": {
+ "$ref": "#/definitions/UpgradeDomainInfoList",
+ "description": "List of upgrade domains and their statuses."
+ },
+ "UpgradeState": {
+ "$ref": "#/definitions/UpgradeState",
+ "description": "The state of the upgrade domain."
+ },
+ "NextUpgradeDomain": {
+ "$ref": "#/definitions/NextUpgradeDomain",
+ "description": "The name of the next upgrade domain to be processed."
+ },
+ "RollingUpgradeMode": {
+ "$ref": "#/definitions/UpgradeMode",
+ "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored."
+ },
+ "UpgradeDescription": {
+ "$ref": "#/definitions/ClusterUpgradeDescriptionObject",
+ "description": "Represents a ServiceFabric cluster upgrade"
+ },
+ "UpgradeDurationInMilliseconds": {
+ "$ref": "#/definitions/UpgradeDurationString",
+ "description": "The estimated elapsed time spent processing the current overall upgrade."
+ },
+ "UpgradeDomainDurationInMilliseconds": {
+ "$ref": "#/definitions/UpgradeDomainDurationString",
+ "description": "The estimated elapsed time spent processing the current upgrade domain."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of health evaluations that resulted in the current aggregated health state."
+ },
+ "CurrentUpgradeDomainProgress": {
+ "$ref": "#/definitions/CurrentUpgradeDomainProgressInfo",
+ "description": "Information about the current in-progress upgrade domain."
+ },
+ "StartTimestampUtc": {
+ "$ref": "#/definitions/UpgradeStartTimeUTCString",
+ "description": "The start time of the upgrade in UTC."
+ },
+ "FailureTimestampUtc": {
+ "$ref": "#/definitions/UpgradeFailureTimeUTCString",
+ "description": "The failure time of the upgrade in UTC."
+ },
+ "FailureReason": {
+ "$ref": "#/definitions/FailureReason",
+ "description": "The cause of an upgrade failure that resulted in FailureAction being executed."
+ },
+ "UpgradeDomainProgressAtFailure": {
+ "$ref": "#/definitions/FailedUpgradeDomainProgressObject",
+ "description": "The detailed upgrade progress for nodes in the current upgrade domain at the point of failure."
+ }
+ }
+ },
+ "ClusterConfigurationUpgradeDescription": {
+ "description": "Describes the parameters for a standalone cluster configuration upgrade.",
+ "properties": {
+ "ClusterConfig": {
+ "type": "string",
+ "description": "The cluster configuration as a JSON string. For example, [this file](https://github.com/Azure-Samples/service-fabric-dotnet-standalone-cluster-configuration/blob/master/Samples/ClusterConfig.Unsecure.DevCluster.json) contains JSON describing the [nodes and other properties of the cluster](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-manifest)."
+ },
+ "HealthCheckRetryTimeout": {
+ "type": "string",
+ "format": "duration",
+ "description": "The length of time between attempts to perform health checks if the application or cluster is not healthy.",
+ "default": "PT0H0M0S"
+ },
+ "HealthCheckWaitDurationInSeconds": {
+ "type": "string",
+ "format": "duration",
+ "description": "The length of time to wait after completing an upgrade domain before starting the health checks process.",
+ "default": "PT0H0M0S"
+ },
+ "HealthCheckStableDurationInSeconds": {
+ "type": "string",
+ "format": "duration",
+ "description": "The length of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain.",
+ "default": "PT0H0M0S"
+ },
+ "UpgradeDomainTimeoutInSeconds": {
+ "type": "string",
+ "format": "duration",
+ "description": "The timeout for the upgrade domain.",
+ "default": "PT0H0M0S"
+ },
+ "UpgradeTimeoutInSeconds": {
+ "type": "string",
+ "format": "duration",
+ "description": "The upgrade timeout.",
+ "default": "PT0H0M0S"
+ },
+ "MaxPercentUnhealthyApplications": {
+ "type": "integer",
+ "description": "The maximum allowed percentage of unhealthy applications during the upgrade. Allowed values are integer values from zero to 100.",
+ "default": 0
+ },
+ "MaxPercentUnhealthyNodes": {
+ "type": "integer",
+ "description": "The maximum allowed percentage of unhealthy nodes during the upgrade. Allowed values are integer values from zero to 100.",
+ "default": 0
+ },
+ "MaxPercentDeltaUnhealthyNodes": {
+ "type": "integer",
+ "description": "The maximum allowed percentage of delta health degradation during the upgrade. Allowed values are integer values from zero to 100.",
+ "default": 0
+ },
+ "MaxPercentUpgradeDomainDeltaUnhealthyNodes": {
+ "type": "integer",
+ "description": "The maximum allowed percentage of upgrade domain delta health degradation during the upgrade. Allowed values are integer values from zero to 100.",
+ "default": 0
+ },
+ "ApplicationHealthPolicies": {
+ "$ref": "#/definitions/ApplicationHealthPolicies",
+ "description": "Defines the application health policy map used to evaluate the health of an application or one of its children entities."
+ }
+ },
+ "required": [
+ "ClusterConfig"
+ ]
+ },
+ "DeltaHealthEvaluationBool": {
+ "type": "boolean",
+ "description": "When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain."
+ },
+ "FailedUpgradeDomainProgressObject": {
+ "description": "The detailed upgrade progress for nodes in the current upgrade domain at the point of failure.",
+ "properties": {
+ "DomainName": {
+ "$ref": "#/definitions/UpgradeDomainName",
+ "description": "The name of the upgrade domain"
+ },
+ "NodeUpgradeProgressList": {
+ "$ref": "#/definitions/NodeUpgradeProgressInfoList",
+ "description": "List of upgrading nodes and their statuses"
+ }
+ }
+ },
+ "UpgradeDomainDurationString": {
+ "type": "string",
+ "description": "The estimated elapsed time spent processing the current upgrade domain."
+ },
+ "UpgradeDurationString": {
+ "type": "string",
+ "description": "The estimated elapsed time spent processing the current overall upgrade."
+ },
+ "UpgradeFailureTimeUTCString": {
+ "type": "string",
+ "description": "The failure time of the upgrade in UTC."
+ },
+ "UpgradeStartTimeUTCString": {
+ "type": "string",
+ "description": "The start time of the upgrade in UTC."
+ },
+ "UpgradeOrchestrationServiceState": {
+ "description": "Service state of Service Fabric Upgrade Orchestration Service.",
+ "properties": {
+ "ServiceState": {
+ "type": "string",
+ "description": "The state of Service Fabric Upgrade Orchestration Service."
+ }
+ }
+ },
+ "UpgradeOrchestrationServiceStateSummary": {
+ "description": "Service state summary of Service Fabric Upgrade Orchestration Service.",
+ "properties": {
+ "CurrentCodeVersion": {
+ "type": "string",
+ "description": "The current code version of the cluster."
+ },
+ "CurrentManifestVersion": {
+ "type": "string",
+ "description": "The current manifest version of the cluster."
+ },
+ "TargetCodeVersion": {
+ "type": "string",
+ "description": "The target code version of the cluster."
+ },
+ "TargetManifestVersion": {
+ "type": "string",
+ "description": "The target manifest version of the cluster."
+ },
+ "PendingUpgradeType": {
+ "type": "string",
+ "description": "The type of the pending upgrade of the cluster."
+ }
+ }
+ },
+ "ApplicationTypeImageStorePath": {
+ "description": "Path description for the application package in the image store specified during the prior copy operation.",
+ "required": [
+ "ApplicationTypeBuildPath"
+ ],
+ "properties": {
+ "ApplicationTypeBuildPath": {
+ "type": "string",
+ "description": "The relative image store path to the application package."
+ }
+ }
+ },
+ "UnprovisionApplicationTypeDescriptionInfo": {
+ "description": "Describes the operation to unregister or unprovision an application type and its version that was registered with the Service Fabric.",
+ "required": [
+ "ApplicationTypeVersion"
+ ],
+ "properties": {
+ "ApplicationTypeVersion": {
+ "$ref": "#/definitions/ApplicationTypeVersion",
+ "description": "The version of the application type as defined in the application manifest."
+ },
+ "Async": {
+ "type": "boolean",
+ "description": "The flag indicating whether or not unprovision should occur asynchronously. When set to true, the unprovision operation returns when the request is accepted by the system, and the unprovision operation continues without any timeout limit. The default value is false. However, we recommend setting it to true for large application packages that were provisioned."
+ }
+ }
+ },
+ "CodePackageName": {
+ "type": "string",
+ "description": "The name of the code package defined in the service manifest."
+ },
+ "CodePackageEntryPointStatistics": {
+ "description": "Statistics about setup or main entry point of a code package deployed on a Service Fabric node.",
+ "properties": {
+ "LastExitCode": {
+ "type": "string",
+ "description": "The last exit code of the entry point."
+ },
+ "LastActivationTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The last time (in UTC) when Service Fabric attempted to run the entry point."
+ },
+ "LastExitTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The last time (in UTC) when the entry point finished running."
+ },
+ "LastSuccessfulActivationTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The last time (in UTC) when the entry point ran successfully."
+ },
+ "LastSuccessfulExitTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The last time (in UTC) when the entry point finished running gracefully."
+ },
+ "ActivationCount": {
+ "type": "string",
+ "description": "Number of times the entry point has run."
+ },
+ "ActivationFailureCount": {
+ "type": "string",
+ "description": "Number of times the entry point failed to run."
+ },
+ "ContinuousActivationFailureCount": {
+ "type": "string",
+ "description": "Number of times the entry point continuously failed to run."
+ },
+ "ExitCount": {
+ "type": "string",
+ "description": "Number of times the entry point finished running."
+ },
+ "ExitFailureCount": {
+ "type": "string",
+ "description": "Number of times the entry point failed to exit gracefully."
+ },
+ "ContinuousExitFailureCount": {
+ "type": "string",
+ "description": "Number of times the entry point continuously failed to exit gracefully."
+ }
+ }
+ },
+ "DeployedCodePackageInfoList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeployedCodePackageInfo"
+ },
+ "description": "List of deployed code package information."
+ },
+ "DeployedCodePackageInfo": {
+ "description": "Information about code package deployed on a Service Fabric node.",
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/CodePackageName",
+ "description": "The name of the code package."
+ },
+ "Version": {
+ "type": "string",
+ "description": "The version of the code package specified in service manifest."
+ },
+ "ServiceManifestName": {
+ "$ref": "#/definitions/ServiceManifestName",
+ "description": "The name of service manifest that specified this code package."
+ },
+ "ServicePackageActivationId": {
+ "$ref": "#/definitions/ServicePackageActivationId",
+ "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string."
+ },
+ "HostType": {
+ "$ref": "#/definitions/HostType",
+ "description": "Specifies the type of host for main entry point of a code package as specified in service manifest."
+ },
+ "HostIsolationMode": {
+ "$ref": "#/definitions/HostIsolationMode",
+ "description": "Specifies the isolation mode of main entry point of a code package when it's host type is ContainerHost. This is specified as part of container host policies in application manifest while importing service manifest."
+ },
+ "Status": {
+ "$ref": "#/definitions/DeploymentStatus",
+ "description": "Specifies the status of a deployed application or service package on a Service Fabric node."
+ },
+ "RunFrequencyInterval": {
+ "type": "string",
+ "description": "The interval at which code package is run. This is used for periodic code package."
+ },
+ "SetupEntryPoint": {
+ "$ref": "#/definitions/CodePackageEntryPoint",
+ "description": "Information about setup or main entry point of a code package deployed on a Service Fabric node."
+ },
+ "MainEntryPoint": {
+ "$ref": "#/definitions/CodePackageEntryPoint",
+ "description": "Information about setup or main entry point of a code package deployed on a Service Fabric node."
+ }
+ }
+ },
+ "DeploymentStatus": {
+ "type": "string",
+ "description": "Specifies the status of a deployed application or service package on a Service Fabric node.",
+ "enum": [
+ "Invalid",
+ "Downloading",
+ "Activating",
+ "Active",
+ "Upgrading",
+ "Deactivating",
+ "RanToCompletion",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "DeploymentStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates status of the application or service package is not known or invalid. The value is 0."
+ },
+ {
+ "value": "Downloading",
+ "description": "Indicates the application or service package is being downloaded to the node from the ImageStore. The value is 1."
+ },
+ {
+ "value": "Activating",
+ "description": "Indicates the application or service package is being activated. The value is 2."
+ },
+ {
+ "value": "Active",
+ "description": "Indicates the application or service package is active the node. The value is 3."
+ },
+ {
+ "value": "Upgrading",
+ "description": "Indicates the application or service package is being upgraded. The value is 4."
+ },
+ {
+ "value": "Deactivating",
+ "description": "Indicates the application or service package is being deactivated. The value is 5."
+ },
+ {
+ "value": "RanToCompletion",
+ "description": "Indicates the application or service package has ran to completion successfully. The value is 6."
+ },
+ {
+ "value": "Failed",
+ "description": "Indicates the application or service package has failed to run to completion. The value is 7."
+ }
+ ]
+ }
+ },
+ "EntryPointStatus": {
+ "type": "string",
+ "description": "Specifies the status of the code package entry point deployed on a Service Fabric node.",
+ "enum": [
+ "Invalid",
+ "Pending",
+ "Starting",
+ "Started",
+ "Stopping",
+ "Stopped"
+ ],
+ "x-ms-enum": {
+ "name": "EntryPointStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates status of entry point is not known or invalid. The value is 0."
+ },
+ {
+ "value": "Pending",
+ "description": "Indicates the entry point is scheduled to be started. The value is 1."
+ },
+ {
+ "value": "Starting",
+ "description": "Indicates the entry point is being started. The value is 2."
+ },
+ {
+ "value": "Started",
+ "description": "Indicates the entry point was started successfully and is running. The value is 3."
+ },
+ {
+ "value": "Stopping",
+ "description": "Indicates the entry point is being stopped. The value is 4."
+ },
+ {
+ "value": "Stopped",
+ "description": "Indicates the entry point is not running. The value is 5."
+ }
+ ]
+ }
+ },
+ "CodePackageEntryPoint": {
+ "description": "Information about setup or main entry point of a code package deployed on a Service Fabric node.",
+ "properties": {
+ "EntryPointLocation": {
+ "type": "string",
+ "description": "The location of entry point executable on the node."
+ },
+ "ProcessId": {
+ "type": "string",
+ "description": "The process ID of the entry point."
+ },
+ "RunAsUserName": {
+ "type": "string",
+ "description": "The user name under which entry point executable is run on the node."
+ },
+ "CodePackageEntryPointStatistics": {
+ "$ref": "#/definitions/CodePackageEntryPointStatistics",
+ "description": "Statistics about setup or main entry point of a code package deployed on a Service Fabric node."
+ },
+ "Status": {
+ "$ref": "#/definitions/EntryPointStatus",
+ "description": "Specifies the status of the code package entry point deployed on a Service Fabric node."
+ },
+ "NextActivationTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time (in UTC) when the entry point executable will be run next."
+ },
+ "InstanceId": {
+ "$ref": "#/definitions/CodePackageInstanceId",
+ "description": "The instance ID for current running entry point. For a code package setup entry point (if specified) runs first and after it finishes main entry point is started. Each time entry point executable is run, its instance id will change."
+ }
+ }
+ },
+ "Chaos": {
+ "description": "Contains a description of Chaos.",
+ "properties": {
+ "ChaosParameters": {
+ "$ref": "#/definitions/ChaosParameters",
+ "description": "If Chaos is running, these are the parameters Chaos is running with."
+ },
+ "Status": {
+ "$ref": "#/definitions/ChaosStatus",
+ "description": "Current status of the Chaos run."
+ },
+ "ScheduleStatus": {
+ "$ref": "#/definitions/ChaosScheduleStatus",
+ "description": "Current status of the schedule."
+ }
+ }
+ },
+ "ChaosStatus": {
+ "type": "string",
+ "description": "Current status of the Chaos run.",
+ "enum": [
+ "Invalid",
+ "Running",
+ "Stopped"
+ ],
+ "x-ms-enum": {
+ "name": "ChaosStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid Chaos status. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Running",
+ "description": "Indicates that Chaos is not stopped. The value is one."
+ },
+ {
+ "value": "Stopped",
+ "description": "Indicates that Chaos is not scheduling further faults. The value is two."
+ }
+ ]
+ }
+ },
+ "ChaosScheduleStatus": {
+ "type": "string",
+ "description": "Current status of the schedule.",
+ "enum": [
+ "Invalid",
+ "Stopped",
+ "Active",
+ "Expired",
+ "Pending"
+ ],
+ "x-ms-enum": {
+ "name": "ChaosScheduleStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid Chaos Schedule status. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Stopped",
+ "description": "Indicates that the schedule is stopped and not being used to schedule runs of chaos. The value is one."
+ },
+ {
+ "value": "Active",
+ "description": "Indicates that the schedule is active and is being used to schedule runs of Chaos. The value is two."
+ },
+ {
+ "value": "Expired",
+ "description": "Indicates that the schedule is expired and will no longer be used to schedule runs of Chaos. The value is three."
+ },
+ {
+ "value": "Pending",
+ "description": "Indicates that the schedule is pending and is not yet being used to schedule runs of Chaos but will be used when the start time is passed. The value is four."
+ }
+ ]
+ }
+ },
+ "ChaosContextMap": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Describes a map that contains a collection of ChaosContextMapItem's."
+ },
+ "ChaosContext": {
+ "description": "Describes a map, which is a collection of (string, string) type key-value pairs. The map can be used to record information about\nthe Chaos run. There cannot be more than 100 such pairs and each string (key or value) can be at most 4095 characters long.\nThis map is set by the starter of the Chaos run to optionally store the context about the specific run.",
+ "properties": {
+ "Map": {
+ "$ref": "#/definitions/ChaosContextMap",
+ "description": "Describes a map that contains a collection of ChaosContextMapItem's."
+ }
+ }
+ },
+ "ChaosParameters": {
+ "description": "Defines all the parameters to configure a Chaos run.",
+ "properties": {
+ "TimeToRunInSeconds": {
+ "type": "string",
+ "description": "Total time (in seconds) for which Chaos will run before automatically stopping. The maximum allowed value is 4,294,967,295 (System.UInt32.MaxValue).",
+ "default": "4294967295"
+ },
+ "MaxClusterStabilizationTimeoutInSeconds": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The maximum amount of time to wait for all cluster entities to become stable and healthy. Chaos executes in iterations and at the start of each iteration it validates the health of cluster entities.\nDuring validation if a cluster entity is not stable and healthy within MaxClusterStabilizationTimeoutInSeconds, Chaos generates a validation failed event.",
+ "default": 60,
+ "minimum": 0,
+ "maximum": 4294967295
+ },
+ "MaxConcurrentFaults": {
+ "type": "integer",
+ "format": "int64",
+ "description": "MaxConcurrentFaults is the maximum number of concurrent faults induced per iteration.\nChaos executes in iterations and two consecutive iterations are separated by a validation phase.\nThe higher the concurrency, the more aggressive the injection of faults, leading to inducing more complex series of states to uncover bugs.\nThe recommendation is to start with a value of 2 or 3 and to exercise caution while moving up.",
+ "default": 1,
+ "minimum": 0,
+ "maximum": 4294967295
+ },
+ "EnableMoveReplicaFaults": {
+ "type": "boolean",
+ "description": "Enables or disables the move primary and move secondary faults.",
+ "default": true
+ },
+ "WaitTimeBetweenFaultsInSeconds": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Wait time (in seconds) between consecutive faults within a single iteration.\nThe larger the value, the lower the overlapping between faults and the simpler the sequence of state transitions that the cluster goes through.\nThe recommendation is to start with a value between 1 and 5 and exercise caution while moving up.",
+ "default": 20,
+ "minimum": 0,
+ "maximum": 4294967295
+ },
+ "WaitTimeBetweenIterationsInSeconds": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time-separation (in seconds) between two consecutive iterations of Chaos.\nThe larger the value, the lower the fault injection rate.",
+ "default": 30,
+ "minimum": 0,
+ "maximum": 4294967295
+ },
+ "ClusterHealthPolicy": {
+ "$ref": "#/definitions/ClusterHealthPolicy",
+ "description": "Passed-in cluster health policy is used to validate health of the cluster in between Chaos iterations. If the cluster health is in error or if an unexpected exception happens during fault execution--to provide the cluster with some time to recuperate--Chaos will wait for 30 minutes before the next health-check."
+ },
+ "Context": {
+ "$ref": "#/definitions/ChaosContext",
+ "description": "Describes a map, which is a collection of (string, string) type key-value pairs. The map can be used to record information about\nthe Chaos run. There cannot be more than 100 such pairs and each string (key or value) can be at most 4095 characters long.\nThis map is set by the starter of the Chaos run to optionally store the context about the specific run."
+ },
+ "ChaosTargetFilter": {
+ "$ref": "#/definitions/ChaosTargetFilter",
+ "description": "List of cluster entities to target for Chaos faults.\nThis filter can be used to target Chaos faults only to certain node types or only to certain application instances. If ChaosTargetFilter is not used, Chaos faults all cluster entities.\nIf ChaosTargetFilter is used, Chaos faults only the entities that meet the ChaosTargetFilter specification."
+ }
+ }
+ },
+ "ChaosParametersDictionaryItem": {
+ "description": "Defines an item in ChaosParametersDictionary of the Chaos Schedule.",
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "properties": {
+ "Key": {
+ "type": "string",
+ "description": "The key identifying the Chaos Parameter in the dictionary. This key is referenced by Chaos Schedule Jobs."
+ },
+ "Value": {
+ "$ref": "#/definitions/ChaosParameters",
+ "description": "Defines all the parameters to configure a Chaos run."
+ }
+ }
+ },
+ "ChaosEvent": {
+ "discriminator": "Kind",
+ "description": "Represents an event generated during a Chaos run.",
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/ChaosEventKind",
+ "description": "The kind of Chaos event."
+ },
+ "TimeStampUtc": {
+ "type": "string",
+ "description": "The UTC timestamp when this Chaos event was generated.",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "Kind",
+ "TimeStampUtc"
+ ]
+ },
+ "ChaosEventWrapper": {
+ "description": "Wrapper object for Chaos event.",
+ "properties": {
+ "ChaosEvent": {
+ "$ref": "#/definitions/ChaosEvent",
+ "description": "Represents an event generated during a Chaos run."
+ }
+ }
+ },
+ "ChaosEventKind": {
+ "type": "string",
+ "description": "The kind of Chaos event.",
+ "enum": [
+ "Invalid",
+ "Started",
+ "ExecutingFaults",
+ "Waiting",
+ "ValidationFailed",
+ "TestError",
+ "Stopped"
+ ],
+ "x-ms-enum": {
+ "name": "ChaosEventKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid Chaos event kind. All Service Fabric enumerations have the invalid type."
+ },
+ {
+ "value": "Started",
+ "description": "Indicates a Chaos event that gets generated when Chaos is started."
+ },
+ {
+ "value": "ExecutingFaults",
+ "description": "Indicates a Chaos event that gets generated when Chaos has decided on the faults for an iteration. This Chaos event contains the details of the faults as a list of strings."
+ },
+ {
+ "value": "Waiting",
+ "description": "Indicates a Chaos event that gets generated when Chaos is waiting for the cluster to become ready for faulting, for example, Chaos may be waiting for the on-going upgrade to finish."
+ },
+ {
+ "value": "ValidationFailed",
+ "description": "Indicates a Chaos event that gets generated when the cluster entities do not become stable and healthy within ChaosParameters.MaxClusterStabilizationTimeoutInSeconds."
+ },
+ {
+ "value": "TestError",
+ "description": "Indicates a Chaos event that gets generated when an unexpected event has occurred in the Chaos engine, for example, due to the cluster snapshot being inconsistent, while faulting a faultable entity Chaos found that the entity was already faulted."
+ },
+ {
+ "value": "Stopped",
+ "description": "Indicates a Chaos event that gets generated when Chaos stops because either the user issued a stop or the time to run was up."
+ }
+ ]
+ }
+ },
+ "ChaosEventsSegment": {
+ "description": "Contains the list of Chaos events and the continuation token to get the next segment.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "History": {
+ "$ref": "#/definitions/ChaosEventHistory",
+ "description": "List of Chaos events that meet the user-supplied criteria."
+ }
+ }
+ },
+ "ChaosScheduleDescription": {
+ "description": "Defines the Chaos Schedule used by Chaos and the version of the Chaos Schedule. The version value wraps back to 0 after surpassing 2,147,483,647.",
+ "properties": {
+ "Version": {
+ "description": "The version number of the Schedule.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0
+ },
+ "Schedule": {
+ "$ref": "#/definitions/ChaosSchedule",
+ "description": "Defines the schedule used by Chaos."
+ }
+ }
+ },
+ "ChaosSchedule": {
+ "description": "Defines the schedule used by Chaos.",
+ "properties": {
+ "StartDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date and time Chaos will start using this schedule.",
+ "default": "1601-01-01T00:00:00Z"
+ },
+ "ExpiryDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date and time Chaos will continue to use this schedule until.",
+ "default": "9999-12-31T23:59:59.999Z"
+ },
+ "ChaosParametersDictionary": {
+ "type": "array",
+ "description": "A mapping of string names to Chaos Parameters to be referenced by Chaos Schedule Jobs.",
+ "items": {
+ "$ref": "#/definitions/ChaosParametersDictionaryItem"
+ }
+ },
+ "Jobs": {
+ "description": "A list of all Chaos Schedule Jobs that will be automated by the schedule.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChaosScheduleJob"
+ }
+ }
+ }
+ },
+ "ChaosScheduleJob": {
+ "description": "Defines a repetition rule and parameters of Chaos to be used with the Chaos Schedule.",
+ "properties": {
+ "ChaosParameters": {
+ "type": "string",
+ "description": "A reference to which Chaos Parameters of the Chaos Schedule to use."
+ },
+ "Days": {
+ "$ref": "#/definitions/ChaosScheduleJobActiveDaysOfWeek",
+ "description": "Defines the days of the week that a Chaos Schedule Job will run for."
+ },
+ "Times": {
+ "description": "A list of Time Ranges that specify when during active days that this job will run. The times are interpreted as UTC.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeRange"
+ }
+ }
+ }
+ },
+ "ChaosScheduleJobActiveDaysOfWeek": {
+ "description": "Defines the days of the week that a Chaos Schedule Job will run for.",
+ "properties": {
+ "Sunday": {
+ "type": "boolean",
+ "description": "Indicates if the Chaos Schedule Job will run on Sunday",
+ "default": false
+ },
+ "Monday": {
+ "type": "boolean",
+ "description": "Indicates if the Chaos Schedule Job will run on Monday",
+ "default": false
+ },
+ "Tuesday": {
+ "type": "boolean",
+ "description": "Indicates if the Chaos Schedule Job will run on Tuesday",
+ "default": false
+ },
+ "Wednesday": {
+ "type": "boolean",
+ "description": "Indicates if the Chaos Schedule Job will run on Wednesday",
+ "default": false
+ },
+ "Thursday": {
+ "type": "boolean",
+ "description": "Indicates if the Chaos Schedule Job will run on Thursday",
+ "default": false
+ },
+ "Friday": {
+ "type": "boolean",
+ "description": "Indicates if the Chaos Schedule Job will run on Friday",
+ "default": false
+ },
+ "Saturday": {
+ "type": "boolean",
+ "description": "Indicates if the Chaos Schedule Job will run on Saturday",
+ "default": false
+ }
+ }
+ },
+ "TimeRange": {
+ "description": "Defines a time range in a 24 hour day specified by a start and end time.",
+ "properties": {
+ "StartTime": {
+ "$ref": "#/definitions/TimeOfDay",
+ "description": "Defines an hour and minute of the day specified in 24 hour time."
+ },
+ "EndTime": {
+ "$ref": "#/definitions/TimeOfDay",
+ "description": "Defines an hour and minute of the day specified in 24 hour time."
+ }
+ }
+ },
+ "TimeOfDay": {
+ "description": "Defines an hour and minute of the day specified in 24 hour time.",
+ "properties": {
+ "Hour": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Represents the hour of the day. Value must be between 0 and 23 inclusive.",
+ "minimum": 0,
+ "maximum": 23
+ },
+ "Minute": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Represents the minute of the hour. Value must be between 0 to 59 inclusive.",
+ "minimum": 0,
+ "maximum": 59
+ }
+ }
+ },
+ "ExecutingFaultsChaosEvent": {
+ "description": "Describes a Chaos event that gets generated when Chaos has decided on the faults for an iteration. This Chaos event contains the details of the faults as a list of strings.",
+ "x-ms-discriminator-value": "ExecutingFaults",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChaosEvent"
+ }
+ ],
+ "properties": {
+ "Faults": {
+ "type": "array",
+ "description": "List of string description of the faults that Chaos decided to execute in an iteration.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "StartedChaosEvent": {
+ "description": "Describes a Chaos event that gets generated when Chaos is started.",
+ "x-ms-discriminator-value": "Started",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChaosEvent"
+ }
+ ],
+ "properties": {
+ "ChaosParameters": {
+ "$ref": "#/definitions/ChaosParameters",
+ "description": "Defines all the parameters to configure a Chaos run."
+ }
+ }
+ },
+ "StoppedChaosEvent": {
+ "description": "Describes a Chaos event that gets generated when Chaos stops because either the user issued a stop or the time to run was up.",
+ "x-ms-discriminator-value": "Stopped",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChaosEvent"
+ }
+ ],
+ "properties": {
+ "Reason": {
+ "type": "string",
+ "description": "Describes why Chaos stopped. Chaos can stop because of StopChaos API call or the timeToRun provided in ChaosParameters is over."
+ }
+ }
+ },
+ "TestErrorChaosEvent": {
+ "description": "Describes a Chaos event that gets generated when an unexpected event occurs in the Chaos engine.\nFor example, due to the cluster snapshot being inconsistent, while faulting an entity, Chaos found that the entity was already faulted -- which would be an unexpected event.",
+ "x-ms-discriminator-value": "TestError",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChaosEvent"
+ }
+ ],
+ "properties": {
+ "Reason": {
+ "type": "string",
+ "description": "Describes why TestErrorChaosEvent was generated. For example, Chaos tries to fault a partition but finds that the partition is no longer fault tolerant, then a TestErrorEvent gets generated with the reason stating that the partition is not fault tolerant."
+ }
+ }
+ },
+ "ValidationFailedChaosEvent": {
+ "description": "Chaos event corresponding to a failure during validation.",
+ "x-ms-discriminator-value": "ValidationFailed",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChaosEvent"
+ }
+ ],
+ "properties": {
+ "Reason": {
+ "type": "string",
+ "description": "Describes why the ValidationFailedChaosEvent was generated. This may happen because more than MaxPercentUnhealthyNodes are unhealthy for more than MaxClusterStabilizationTimeout. This reason will be in the Reason property of the ValidationFailedChaosEvent as a string."
+ }
+ }
+ },
+ "WaitingChaosEvent": {
+ "description": "Describes a Chaos event that gets generated when Chaos is waiting for the cluster to become ready for faulting, for example, Chaos may be waiting for the on-going upgrade to finish.",
+ "x-ms-discriminator-value": "Waiting",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChaosEvent"
+ }
+ ],
+ "properties": {
+ "Reason": {
+ "type": "string",
+ "description": "Describes why the WaitingChaosEvent was generated, for example, due to a cluster upgrade."
+ }
+ }
+ },
+ "ChaosEventHistory": {
+ "type": "array",
+ "description": "An list of Chaos events that were generated during the time range passed into the GetChaosReport API call.",
+ "items": {
+ "$ref": "#/definitions/ChaosEventWrapper"
+ }
+ },
+ "ChaosTargetFilter": {
+ "description": "Defines all filters for targeted Chaos faults, for example, faulting only certain node types or faulting only certain applications.\nIf ChaosTargetFilter is not used, Chaos faults all cluster entities. If ChaosTargetFilter is used, Chaos faults only the entities that meet the ChaosTargetFilter\nspecification. NodeTypeInclusionList and ApplicationInclusionList allow a union semantics only. It is not possible to specify an intersection\nof NodeTypeInclusionList and ApplicationInclusionList. For example, it is not possible to specify \"fault this application only when it is on that node type.\"\nOnce an entity is included in either NodeTypeInclusionList or ApplicationInclusionList, that entity cannot be excluded using ChaosTargetFilter. Even if\napplicationX does not appear in ApplicationInclusionList, in some Chaos iteration applicationX can be faulted because it happens to be on a node of nodeTypeY that is included\nin NodeTypeInclusionList. If both NodeTypeInclusionList and ApplicationInclusionList are null or empty, an ArgumentException is thrown.",
+ "properties": {
+ "NodeTypeInclusionList": {
+ "type": "array",
+ "description": "A list of node types to include in Chaos faults.\nAll types of faults (restart node, restart code package, remove replica, restart replica, move primary, and move secondary) are enabled for the nodes of these node types.\nIf a node type (say NodeTypeX) does not appear in the NodeTypeInclusionList, then node level faults (like NodeRestart) will never be enabled for the nodes of\nNodeTypeX, but code package and replica faults can still be enabled for NodeTypeX if an application in the ApplicationInclusionList.\nhappens to reside on a node of NodeTypeX.\nAt most 100 node type names can be included in this list, to increase this number, a config upgrade is required for MaxNumberOfNodeTypesInChaosEntityFilter configuration.",
+ "items": {
+ "$ref": "#/definitions/NodeType"
+ }
+ },
+ "ApplicationInclusionList": {
+ "type": "array",
+ "description": "A list of application URIs to include in Chaos faults.\nAll replicas belonging to services of these applications are amenable to replica faults (restart replica, remove replica, move primary, and move secondary) by Chaos.\nChaos may restart a code package only if the code package hosts replicas of these applications only.\nIf an application does not appear in this list, it can still be faulted in some Chaos iteration if the application ends up on a node of a node type that is included in NodeTypeInclusionList.\nHowever, if applicationX is tied to nodeTypeY through placement constraints and applicationX is absent from ApplicationInclusionList and nodeTypeY is absent from NodeTypeInclusionList, then applicationX will never be faulted.\nAt most 1000 application names can be included in this list, to increase this number, a config upgrade is required for MaxNumberOfApplicationsInChaosEntityFilter configuration.",
+ "items": {
+ "$ref": "#/definitions/ApplicationName"
+ }
+ }
+ }
+ },
+ "ApplicationTypeVersion": {
+ "type": "string",
+ "description": "The version of the application type as defined in the application manifest."
+ },
+ "ApplicationCapacityDescription": {
+ "description": "Describes capacity information for services of this application. This description can be used for describing the following.\n- Reserving the capacity for the services on the nodes\n- Limiting the total number of nodes that services of this application can run on\n- Limiting the custom capacity metrics to limit the total consumption of this metric by the services of this application",
+ "properties": {
+ "MinimumNodes": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The minimum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. If this property is set to zero, no capacity will be reserved. The value of this property cannot be more than the value of the MaximumNodes property.",
+ "minimum": 0
+ },
+ "MaximumNodes": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The maximum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. By default, the value of this property is zero and it means that the services can be placed on any node.",
+ "minimum": 0,
+ "default": 0
+ },
+ "ApplicationMetrics": {
+ "$ref": "#/definitions/ApplicationMetricDescriptionList",
+ "description": "List of application capacity metric description."
+ }
+ }
+ },
+ "ApplicationDescription": {
+ "description": "Describes a Service Fabric application.",
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "TypeName": {
+ "$ref": "#/definitions/ApplicationTypeName",
+ "description": "The application type name as defined in the application manifest."
+ },
+ "TypeVersion": {
+ "$ref": "#/definitions/ApplicationTypeVersion",
+ "description": "The version of the application type as defined in the application manifest."
+ },
+ "ParameterList": {
+ "$ref": "#/definitions/ApplicationParameterList",
+ "description": "List of application parameters with overridden values from their default values specified in the application manifest."
+ },
+ "ApplicationCapacity": {
+ "$ref": "#/definitions/ApplicationCapacityDescription",
+ "description": "Describes capacity information for services of this application. This description can be used for describing the following.\n- Reserving the capacity for the services on the nodes\n- Limiting the total number of nodes that services of this application can run on\n- Limiting the custom capacity metrics to limit the total consumption of this metric by the services of this application"
+ },
+ "ManagedApplicationIdentity": {
+ "$ref": "#/definitions/ManagedApplicationIdentityDescription",
+ "description": "Managed application identity description."
+ }
+ },
+ "required": [
+ "Name",
+ "TypeName",
+ "TypeVersion"
+ ]
+ },
+ "ApplicationMetricDescription": {
+ "description": "Describes capacity information for a custom resource balancing metric. This can be used to limit the total consumption of this metric by the services of this application.",
+ "properties": {
+ "Name": {
+ "type": "string",
+ "description": "The name of the metric."
+ },
+ "MaximumCapacity": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The maximum node capacity for Service Fabric application.\nThis is the maximum Load for an instance of this application on a single node. Even if the capacity of node is greater than this value, Service Fabric will limit the total load of services within the application on each node to this value.\nIf set to zero, capacity for this metric is unlimited on each node.\nWhen creating a new application with application capacity defined, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.\nWhen updating existing application with application capacity, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity."
+ },
+ "ReservationCapacity": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The node reservation capacity for Service Fabric application.\nThis is the amount of load which is reserved on nodes which have instances of this application.\nIf MinimumNodes is specified, then the product of these values will be the capacity reserved in the cluster for the application.\nIf set to zero, no capacity is reserved for this metric.\nWhen setting application capacity or when updating application capacity; this value must be smaller than or equal to MaximumCapacity for each metric."
+ },
+ "TotalApplicationCapacity": {
+ "description": "The total metric capacity for Service Fabric application.\nThis is the total metric capacity for this application in the cluster. Service Fabric will try to limit the sum of loads of services within the application to this value.\nWhen creating a new application with application capacity defined, the product of MaximumNodes and MaximumCapacity must always be smaller than or equal to this value.",
+ "type": "integer",
+ "format": "int64"
+ }
+ }
+ },
+ "ApplicationMetricDescriptionList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationMetricDescription"
+ },
+ "description": "List of application capacity metric description."
+ },
+ "ApplicationLoadMetricInformation": {
+ "description": "Describes load information for a custom resource balancing metric. This can be used to limit the total consumption of this metric by the services of this application.",
+ "properties": {
+ "Name": {
+ "type": "string",
+ "description": "The name of the metric."
+ },
+ "ReservationCapacity": {
+ "type": "integer",
+ "format": "int64",
+ "description": "This is the capacity reserved in the cluster for the application.\nIt's the product of NodeReservationCapacity and MinimumNodes.\nIf set to zero, no capacity is reserved for this metric.\nWhen setting application capacity or when updating application capacity this value must be smaller than or equal to MaximumCapacity for each metric."
+ },
+ "ApplicationCapacity": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total capacity for this metric in this application instance."
+ },
+ "ApplicationLoad": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Current load for this metric in this application instance."
+ }
+ }
+ },
+ "ApplicationLoadMetricInformationList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationLoadMetricInformation"
+ },
+ "description": "List of application load metric information."
+ },
+ "ComposeDeploymentStatus": {
+ "type": "string",
+ "description": "The status of the compose deployment.",
+ "enum": [
+ "Invalid",
+ "Provisioning",
+ "Creating",
+ "Ready",
+ "Unprovisioning",
+ "Deleting",
+ "Failed",
+ "Upgrading"
+ ],
+ "x-ms-enum": {
+ "name": "ComposeDeploymentStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates that the compose deployment status is invalid. The value is zero."
+ },
+ {
+ "value": "Provisioning",
+ "description": "Indicates that the compose deployment is being provisioned in background. The value is 1."
+ },
+ {
+ "value": "Creating",
+ "description": "Indicates that the compose deployment is being created in background. The value is 2."
+ },
+ {
+ "value": "Ready",
+ "description": "Indicates that the compose deployment has been successfully created or upgraded. The value is 3."
+ },
+ {
+ "value": "Unprovisioning",
+ "description": "Indicates that the compose deployment is being unprovisioned in background. The value is 4."
+ },
+ {
+ "value": "Deleting",
+ "description": "Indicates that the compose deployment is being deleted in background. The value is 5."
+ },
+ {
+ "value": "Failed",
+ "description": "Indicates that the compose deployment was terminated due to persistent failures. The value is 6."
+ },
+ {
+ "value": "Upgrading",
+ "description": "Indicates that the compose deployment is being upgraded in the background. The value is 7."
+ }
+ ]
+ }
+ },
+ "ComposeDeploymentStatusInfo": {
+ "description": "Information about a Service Fabric compose deployment.",
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/DeploymentName",
+ "description": "The name of the deployment."
+ },
+ "ApplicationName": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "Status": {
+ "$ref": "#/definitions/ComposeDeploymentStatus",
+ "description": "The status of the compose deployment."
+ },
+ "StatusDetails": {
+ "description": "The status details of compose deployment including failure message.",
+ "type": "string"
+ }
+ }
+ },
+ "ComposeDeploymentUpgradeDescription": {
+ "description": "Describes the parameters for a compose deployment upgrade.",
+ "properties": {
+ "DeploymentName": {
+ "$ref": "#/definitions/DeploymentName",
+ "description": "The name of the deployment."
+ },
+ "ComposeFileContent": {
+ "type": "string",
+ "description": "The content of the compose file that describes the deployment to create."
+ },
+ "RegistryCredential": {
+ "$ref": "#/definitions/RegistryCredential",
+ "description": "Credential information to connect to container registry."
+ },
+ "UpgradeKind": {
+ "$ref": "#/definitions/UpgradeKind",
+ "description": "The kind of upgrade out of the following possible values."
+ },
+ "RollingUpgradeMode": {
+ "$ref": "#/definitions/UpgradeMode",
+ "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored."
+ },
+ "UpgradeReplicaSetCheckTimeoutInSeconds": {
+ "$ref": "#/definitions/UpgradeReplicaSetCheckTimeout",
+ "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer)."
+ },
+ "ForceRestart": {
+ "$ref": "#/definitions/ForceRestart",
+ "description": "If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data)."
+ },
+ "MonitoringPolicy": {
+ "$ref": "#/definitions/MonitoringPolicyDescription",
+ "description": "Describes the parameters for monitoring an upgrade in Monitored mode."
+ },
+ "ApplicationHealthPolicy": {
+ "$ref": "#/definitions/ApplicationHealthPolicy",
+ "description": "Defines a health policy used to evaluate the health of an application or one of its children entities."
+ }
+ },
+ "required": [
+ "DeploymentName",
+ "ComposeFileContent",
+ "UpgradeKind"
+ ]
+ },
+ "ComposeDeploymentUpgradeProgressInfo": {
+ "description": "Describes the parameters for a compose deployment upgrade.",
+ "properties": {
+ "DeploymentName": {
+ "$ref": "#/definitions/TargetDeploymentName",
+ "description": "The name of the target deployment."
+ },
+ "ApplicationName": {
+ "$ref": "#/definitions/TargetApplicationName",
+ "description": "The name of the target application, including the 'fabric:' URI scheme."
+ },
+ "UpgradeState": {
+ "$ref": "#/definitions/ComposeDeploymentUpgradeState",
+ "description": "The state of the compose deployment upgrade."
+ },
+ "UpgradeStatusDetails": {
+ "type": "string",
+ "description": "Additional detailed information about the status of the pending upgrade."
+ },
+ "UpgradeKind": {
+ "$ref": "#/definitions/UpgradeKind",
+ "description": "The kind of upgrade out of the following possible values."
+ },
+ "RollingUpgradeMode": {
+ "$ref": "#/definitions/UpgradeMode",
+ "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored."
+ },
+ "ForceRestart": {
+ "$ref": "#/definitions/ForceRestart",
+ "description": "If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data)."
+ },
+ "UpgradeReplicaSetCheckTimeoutInSeconds": {
+ "$ref": "#/definitions/UpgradeReplicaSetCheckTimeout",
+ "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer)."
+ },
+ "MonitoringPolicy": {
+ "$ref": "#/definitions/MonitoringPolicyDescription",
+ "description": "Describes the parameters for monitoring an upgrade in Monitored mode."
+ },
+ "ApplicationHealthPolicy": {
+ "$ref": "#/definitions/ApplicationHealthPolicy",
+ "description": "Defines a health policy used to evaluate the health of an application or one of its children entities."
+ },
+ "TargetApplicationTypeVersion": {
+ "$ref": "#/definitions/TargetApplicationTypeVersion",
+ "description": "The target application type version (found in the application manifest) for the application upgrade."
+ },
+ "UpgradeDuration": {
+ "$ref": "#/definitions/UpgradeDuration",
+ "description": "The estimated amount of time that the overall upgrade elapsed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds."
+ },
+ "CurrentUpgradeDomainDuration": {
+ "$ref": "#/definitions/CurrentUpgradeDomainDuration",
+ "description": "The estimated amount of time spent processing current Upgrade Domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds."
+ },
+ "ApplicationUnhealthyEvaluations": {
+ "$ref": "#/definitions/ApplicationUnhealthyEvaluations",
+ "description": "List of health evaluations that resulted in the current aggregated health state."
+ },
+ "CurrentUpgradeDomainProgress": {
+ "$ref": "#/definitions/CurrentUpgradeDomainProgressInfo",
+ "description": "Information about the current in-progress upgrade domain."
+ },
+ "StartTimestampUtc": {
+ "type": "string",
+ "description": "The estimated UTC datetime when the upgrade started."
+ },
+ "FailureTimestampUtc": {
+ "type": "string",
+ "description": "The estimated UTC datetime when the upgrade failed and FailureAction was executed."
+ },
+ "FailureReason": {
+ "$ref": "#/definitions/FailureReason",
+ "description": "The cause of an upgrade failure that resulted in FailureAction being executed."
+ },
+ "UpgradeDomainProgressAtFailure": {
+ "$ref": "#/definitions/FailureUpgradeDomainProgressInfo",
+ "description": "Information about the upgrade domain progress at the time of upgrade failure."
+ },
+ "ApplicationUpgradeStatusDetails": {
+ "type": "string",
+ "description": "Additional details of application upgrade including failure message."
+ }
+ }
+ },
+ "ComposeDeploymentUpgradeState": {
+ "type": "string",
+ "description": "The state of the compose deployment upgrade.",
+ "enum": [
+ "Invalid",
+ "ProvisioningTarget",
+ "RollingForwardInProgress",
+ "RollingForwardPending",
+ "UnprovisioningCurrent",
+ "RollingForwardCompleted",
+ "RollingBackInProgress",
+ "UnprovisioningTarget",
+ "RollingBackCompleted",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ComposeDeploymentUpgradeState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the upgrade state is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "ProvisioningTarget",
+ "description": "The upgrade is in the progress of provisioning target application type version. The value is 1."
+ },
+ {
+ "value": "RollingForwardInProgress",
+ "description": "The upgrade is rolling forward to the target version but is not complete yet. The value is 2."
+ },
+ {
+ "value": "RollingForwardPending",
+ "description": "The current upgrade domain has finished upgrading. The overall upgrade is waiting for an explicit move next request in UnmonitoredManual mode or performing health checks in Monitored mode. The value is 3"
+ },
+ {
+ "value": "UnprovisioningCurrent",
+ "description": "The upgrade is in the progress of unprovisioning current application type version and rolling forward to the target version is completed. The value is 4."
+ },
+ {
+ "value": "RollingForwardCompleted",
+ "description": "The upgrade has finished rolling forward. The value is 5."
+ },
+ {
+ "value": "RollingBackInProgress",
+ "description": "The upgrade is rolling back to the previous version but is not complete yet. The value is 6."
+ },
+ {
+ "value": "UnprovisioningTarget",
+ "description": "The upgrade is in the progress of unprovisioning target application type version and rolling back to the current version is completed. The value is 7."
+ },
+ {
+ "value": "RollingBackCompleted",
+ "description": "The upgrade has finished rolling back. The value is 8."
+ },
+ {
+ "value": "Failed",
+ "description": "The upgrade has failed and is unable to execute FailureAction. The value is 9."
+ }
+ ]
+ }
+ },
+ "PagedComposeDeploymentStatusInfoList": {
+ "description": "The list of compose deployments in the cluster. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "List of compose deployment status information.",
+ "items": {
+ "$ref": "#/definitions/ComposeDeploymentStatusInfo"
+ }
+ }
+ }
+ },
+ "CreateComposeDeploymentDescription": {
+ "description": "Defines description for creating a Service Fabric compose deployment.",
+ "properties": {
+ "DeploymentName": {
+ "$ref": "#/definitions/DeploymentName",
+ "description": "The name of the deployment."
+ },
+ "ComposeFileContent": {
+ "type": "string",
+ "description": "The content of the compose file that describes the deployment to create."
+ },
+ "RegistryCredential": {
+ "$ref": "#/definitions/RegistryCredential",
+ "description": "Credential information to connect to container registry."
+ }
+ },
+ "required": [
+ "DeploymentName",
+ "ComposeFileContent"
+ ]
+ },
+ "RegistryCredential": {
+ "description": "Credential information to connect to container registry.",
+ "properties": {
+ "RegistryUserName": {
+ "type": "string",
+ "description": "The user name to connect to container registry."
+ },
+ "RegistryPassword": {
+ "type": "string",
+ "description": "The password for supplied username to connect to container registry."
+ },
+ "PasswordEncrypted": {
+ "type": "boolean",
+ "description": "Indicates that supplied container registry password is encrypted."
+ }
+ }
+ },
+ "DeployedServicePackageInfoList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeployedServicePackageInfo"
+ },
+ "description": "List of deployed service package information."
+ },
+ "DeployedServicePackageInfo": {
+ "description": "Information about service package deployed on a Service Fabric node.",
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/ServiceManifestName",
+ "description": "The name of the service package as specified in the service manifest."
+ },
+ "Version": {
+ "type": "string",
+ "description": "The version of the service package specified in service manifest."
+ },
+ "Status": {
+ "$ref": "#/definitions/DeploymentStatus",
+ "description": "Specifies the status of a deployed application or service package on a Service Fabric node."
+ },
+ "ServicePackageActivationId": {
+ "$ref": "#/definitions/ServicePackageActivationId",
+ "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string."
+ }
+ }
+ },
+ "DeploymentName": {
+ "type": "string",
+ "description": "The name of the deployment."
+ },
+ "CorrelationSchemeList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceCorrelationDescription"
+ },
+ "description": "A list that describes the correlation of the service with other services."
+ },
+ "MoveCost": {
+ "type": "string",
+ "description": "Specifies the move cost for the service.",
+ "enum": [
+ "Zero",
+ "Low",
+ "Medium",
+ "High",
+ "VeryHigh"
+ ],
+ "x-ms-enum": {
+ "name": "MoveCost",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Zero",
+ "description": "Zero move cost. This value is zero."
+ },
+ {
+ "value": "Low",
+ "description": "Specifies the move cost of the service as Low. The value is 1."
+ },
+ {
+ "value": "Medium",
+ "description": "Specifies the move cost of the service as Medium. The value is 2."
+ },
+ {
+ "value": "High",
+ "description": "Specifies the move cost of the service as High. The value is 3."
+ },
+ {
+ "value": "VeryHigh",
+ "description": "Specifies the move cost of the service as VeryHigh. The value is 4."
+ }
+ ]
+ }
+ },
+ "PartitionScheme": {
+ "type": "string",
+ "description": "Enumerates the ways that a service can be partitioned.",
+ "enum": [
+ "Invalid",
+ "Singleton",
+ "UniformInt64Range",
+ "Named"
+ ],
+ "x-ms-enum": {
+ "name": "PartitionScheme",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the partition kind is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Singleton",
+ "description": "Indicates that the partition is based on string names, and is a SingletonPartitionSchemeDescription object, The value is 1."
+ },
+ {
+ "value": "UniformInt64Range",
+ "description": "Indicates that the partition is based on Int64 key ranges, and is a UniformInt64RangePartitionSchemeDescription object. The value is 2."
+ },
+ {
+ "value": "Named",
+ "description": "Indicates that the partition is based on string names, and is a NamedPartitionSchemeDescription object. The value is 3"
+ }
+ ]
+ }
+ },
+ "ServiceCorrelationDescription": {
+ "description": "Creates a particular correlation between services.",
+ "required": [
+ "Scheme",
+ "ServiceName"
+ ],
+ "properties": {
+ "Scheme": {
+ "$ref": "#/definitions/ServiceCorrelationScheme",
+ "description": "The ServiceCorrelationScheme which describes the relationship between this service and the service specified via ServiceName."
+ },
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The name of the service that the correlation relationship is established with."
+ }
+ }
+ },
+ "ServiceCorrelationScheme": {
+ "type": "string",
+ "description": "The service correlation scheme.",
+ "enum": [
+ "Invalid",
+ "Affinity",
+ "AlignedAffinity",
+ "NonAlignedAffinity"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceCorrelationScheme",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "An invalid correlation scheme. Cannot be used. The value is zero."
+ },
+ {
+ "value": "Affinity",
+ "description": "Indicates that this service has an affinity relationship with another service. Provided for backwards compatibility, consider preferring the Aligned or NonAlignedAffinity options. The value is 1."
+ },
+ {
+ "value": "AlignedAffinity",
+ "description": "Aligned affinity ensures that the primaries of the partitions of the affinitized services are collocated on the same nodes. This is the default and is the same as selecting the Affinity scheme. The value is 2."
+ },
+ {
+ "value": "NonAlignedAffinity",
+ "description": "Non-Aligned affinity guarantees that all replicas of each service will be placed on the same nodes. Unlike Aligned Affinity, this does not guarantee that replicas of particular role will be collocated. The value is 3."
+ }
+ ]
+ }
+ },
+ "ServiceLoadMetricsList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceLoadMetricDescription"
+ },
+ "description": "The service load metrics is given as an array of ServiceLoadMetricDescription objects."
+ },
+ "ServiceLoadMetricDescription": {
+ "description": "Specifies a metric to load balance a service during runtime.",
+ "required": [
+ "Name"
+ ],
+ "properties": {
+ "Name": {
+ "type": "string",
+ "description": "The name of the metric. If the service chooses to report load during runtime, the load metric name should match the name that is specified in Name exactly. Note that metric names are case-sensitive."
+ },
+ "Weight": {
+ "$ref": "#/definitions/ServiceLoadMetricWeight",
+ "description": "The service load metric relative weight, compared to other metrics configured for this service, as a number."
+ },
+ "PrimaryDefaultLoad": {
+ "type": "integer",
+ "description": "Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is a Primary replica."
+ },
+ "SecondaryDefaultLoad": {
+ "type": "integer",
+ "description": "Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is a Secondary replica."
+ },
+ "DefaultLoad": {
+ "type": "integer",
+ "description": "Used only for Stateless services. The default amount of load, as a number, that this service creates for this metric."
+ }
+ }
+ },
+ "ServiceLoadMetricWeight": {
+ "type": "string",
+ "description": "Determines the metric weight relative to the other metrics that are configured for this service. During runtime, if two metrics end up in conflict, the Cluster Resource Manager prefers the metric with the higher weight.",
+ "enum": [
+ "Zero",
+ "Low",
+ "Medium",
+ "High"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceLoadMetricWeight",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Zero",
+ "description": "Disables resource balancing for this metric. This value is zero."
+ },
+ {
+ "value": "Low",
+ "description": "Specifies the metric weight of the service load as Low. The value is 1."
+ },
+ {
+ "value": "Medium",
+ "description": "Specifies the metric weight of the service load as Medium. The value is 2."
+ },
+ {
+ "value": "High",
+ "description": "Specifies the metric weight of the service load as High. The value is 3."
+ }
+ ]
+ }
+ },
+ "ServicePackageActivationMode": {
+ "type": "string",
+ "description": "The activation mode of service package to be used for a Service Fabric service. This is specified at the time of creating the Service.",
+ "enum": [
+ "SharedProcess",
+ "ExclusiveProcess"
+ ],
+ "x-ms-enum": {
+ "name": "ServicePackageActivationMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "SharedProcess",
+ "description": "This is the default activation mode. With this activation mode, replicas or instances from different partition(s) of service, on a given node, will share same activation of service package on a node. The value is zero."
+ },
+ {
+ "value": "ExclusiveProcess",
+ "description": "With this activation mode, each replica or instance of service, on a given node, will have its own dedicated activation of service package on a node. The value is 1."
+ }
+ ]
+ }
+ },
+ "ServicePlacementPoliciesList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServicePlacementPolicyDescription"
+ },
+ "description": "A list that describes the correlation of the service with other services."
+ },
+ "PartitionSchemeDescription": {
+ "discriminator": "PartitionScheme",
+ "description": "Describes how the service is partitioned.",
+ "required": [
+ "PartitionScheme"
+ ],
+ "properties": {
+ "PartitionScheme": {
+ "$ref": "#/definitions/PartitionScheme",
+ "description": "Specifies how the service is partitioned."
+ }
+ }
+ },
+ "NamedPartitionSchemeDescription": {
+ "description": "Describes the named partition scheme of the service.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionSchemeDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "Named",
+ "required": [
+ "Count",
+ "Names"
+ ],
+ "properties": {
+ "Count": {
+ "type": "integer",
+ "description": "The number of partitions."
+ },
+ "Names": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Array of size specified by the ‘Count’ parameter, for the names of the partitions."
+ }
+ }
+ },
+ "SingletonPartitionSchemeDescription": {
+ "description": "Describes the partition scheme of a singleton-partitioned, or non-partitioned service.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionSchemeDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "Singleton"
+ },
+ "UniformInt64RangePartitionSchemeDescription": {
+ "description": "Describes a partitioning scheme where an integer range is allocated evenly across a number of partitions.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionSchemeDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "UniformInt64Range",
+ "required": [
+ "Count",
+ "LowKey",
+ "HighKey"
+ ],
+ "properties": {
+ "Count": {
+ "type": "integer",
+ "description": "The number of partitions."
+ },
+ "LowKey": {
+ "type": "string",
+ "description": "String indicating the lower bound of the partition key range that\nshould be split between the partitions."
+ },
+ "HighKey": {
+ "type": "string",
+ "description": "String indicating the upper bound of the partition key range that\nshould be split between the partitions."
+ }
+ }
+ },
+ "ServiceDescription": {
+ "discriminator": "ServiceKind",
+ "description": "A ServiceDescription contains all of the information necessary to create a service.",
+ "required": [
+ "ServiceKind",
+ "ServiceName",
+ "ServiceTypeName",
+ "PartitionDescription"
+ ],
+ "properties": {
+ "ServiceKind": {
+ "$ref": "#/definitions/ServiceKind",
+ "description": "The service kind."
+ },
+ "ApplicationName": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The full name of the service with 'fabric:' URI scheme."
+ },
+ "ServiceTypeName": {
+ "$ref": "#/definitions/ServiceTypeName",
+ "description": "Name of the service type as specified in the service manifest."
+ },
+ "InitializationData": {
+ "$ref": "#/definitions/ByteArray",
+ "description": "The initialization data as an array of bytes. Initialization data is passed to service instances or replicas when they are created."
+ },
+ "PartitionDescription": {
+ "$ref": "#/definitions/PartitionSchemeDescription",
+ "description": "The partition description as an object."
+ },
+ "PlacementConstraints": {
+ "type": "string",
+ "description": "The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: \"NodeColor == blue)\"."
+ },
+ "CorrelationScheme": {
+ "$ref": "#/definitions/CorrelationSchemeList",
+ "description": "The correlation scheme."
+ },
+ "ServiceLoadMetrics": {
+ "$ref": "#/definitions/ServiceLoadMetricsList",
+ "description": "The service load metrics."
+ },
+ "ServicePlacementPolicies": {
+ "$ref": "#/definitions/ServicePlacementPoliciesList",
+ "description": "The service placement policies."
+ },
+ "DefaultMoveCost": {
+ "$ref": "#/definitions/MoveCost",
+ "description": "The move cost for the service."
+ },
+ "IsDefaultMoveCostSpecified": {
+ "type": "boolean",
+ "description": "Indicates if the DefaultMoveCost property is specified."
+ },
+ "ServicePackageActivationMode": {
+ "$ref": "#/definitions/ServicePackageActivationMode",
+ "description": "The activation mode of service package to be used for a service."
+ },
+ "ServiceDnsName": {
+ "type": "string",
+ "description": "The DNS name of the service. It requires the DNS system service to be enabled in Service Fabric cluster."
+ },
+ "ScalingPolicies": {
+ "$ref": "#/definitions/ScalingPolicyDescriptionList",
+ "description": "Scaling policies for this service."
+ }
+ }
+ },
+ "StatefulServiceDescription": {
+ "description": "Describes a stateful service.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "Stateful",
+ "required": [
+ "TargetReplicaSetSize",
+ "MinReplicaSetSize",
+ "HasPersistedState"
+ ],
+ "properties": {
+ "TargetReplicaSetSize": {
+ "type": "integer",
+ "minimum": 1,
+ "description": "The target replica set size as a number."
+ },
+ "MinReplicaSetSize": {
+ "type": "integer",
+ "minimum": 1,
+ "description": "The minimum replica set size as a number."
+ },
+ "HasPersistedState": {
+ "type": "boolean",
+ "description": "A flag indicating whether this is a persistent service which stores states on the local disk. If it is then the value of this property is true, if not it is false."
+ },
+ "Flags": {
+ "type": "integer",
+ "description": "Flags indicating whether other properties are set. Each of the associated properties corresponds to a flag, specified below, which, if set, indicate that the property is specified.\nThis property can be a combination of those flags obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6 then the flags for QuorumLossWaitDuration (2) and StandByReplicaKeepDuration(4) are set.\n\n- None - Does not indicate any other properties are set. The value is zero.\n- ReplicaRestartWaitDuration - Indicates the ReplicaRestartWaitDuration property is set. The value is 1.\n- QuorumLossWaitDuration - Indicates the QuorumLossWaitDuration property is set. The value is 2.\n- StandByReplicaKeepDuration - Indicates the StandByReplicaKeepDuration property is set. The value is 4.\n- ServicePlacementTimeLimit - Indicates the ServicePlacementTimeLimit property is set. The value is 8."
+ },
+ "ReplicaRestartWaitDurationSeconds": {
+ "type": "integer",
+ "format": "int64",
+ "minimum": 0,
+ "maximum": 4294967295,
+ "description": "The duration, in seconds, between when a replica goes down and when a new replica is created."
+ },
+ "QuorumLossWaitDurationSeconds": {
+ "type": "integer",
+ "format": "int64",
+ "minimum": 0,
+ "maximum": 4294967295,
+ "description": "The maximum duration, in seconds, for which a partition is allowed to be in a state of quorum loss."
+ },
+ "StandByReplicaKeepDurationSeconds": {
+ "type": "integer",
+ "format": "int64",
+ "minimum": 0,
+ "maximum": 4294967295,
+ "description": "The definition on how long StandBy replicas should be maintained before being removed."
+ },
+ "ServicePlacementTimeLimitSeconds": {
+ "type": "integer",
+ "format": "int64",
+ "minimum": 0,
+ "maximum": 4294967295,
+ "description": "The duration for which replicas can stay InBuild before reporting that build is stuck."
+ }
+ }
+ },
+ "StatelessServiceDescription": {
+ "description": "Describes a stateless service.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "Stateless",
+ "required": [
+ "InstanceCount"
+ ],
+ "properties": {
+ "InstanceCount": {
+ "type": "integer",
+ "minimum": -1,
+ "description": "The instance count."
+ },
+ "MinInstanceCount": {
+ "$ref": "#/definitions/MinInstanceCount",
+ "description": "MinInstanceCount is the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service."
+ },
+ "MinInstancePercentage": {
+ "$ref": "#/definitions/MinInstancePercentage",
+ "description": "MinInstancePercentage is the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service."
+ },
+ "Flags": {
+ "type": "integer",
+ "description": "Flags indicating whether other properties are set. Each of the associated properties corresponds to a flag, specified below, which, if set, indicate that the property is specified.\nThis property can be a combination of those flags obtained using bitwise 'OR' operator.\nFor example, if the provided value is 1 then the flags for InstanceCloseDelayDuration is set.\n\n- None - Does not indicate any other properties are set. The value is zero.\n- InstanceCloseDelayDuration - Indicates the InstanceCloseDelayDuration property is set. The value is 1."
+ },
+ "InstanceCloseDelayDurationSeconds": {
+ "type": "integer",
+ "format": "int64",
+ "minimum": 0,
+ "maximum": 4294967295,
+ "description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster upgrade and disabling node.\nThe endpoint exposed on this instance is removed prior to starting the delay, which prevents new connections to this instance.\nIn addition, clients that have subscribed to service endpoint change events(https://docs.microsoft.com/dotnet/api/system.fabric.fabricclient.servicemanagementclient.registerservicenotificationfilterasync), can do\nthe following upon receiving the endpoint removal notification:\n - Stop sending new requests to this instance.\n - Close existing connections after in-flight requests have completed.\n - Connect to a different instance of the service partition for future requests.\nNote, the default value of InstanceCloseDelayDuration is 0, which indicates that there won't be any delay or removal of the endpoint prior to closing the instance."
+ }
+ }
+ },
+ "ReplicatorQueueStatus": {
+ "description": "Provides various statistics of the queue used in the service fabric replicator.\nContains information about the service fabric replicator like the replication/copy queue utilization, last acknowledgement received timestamp, etc.\nDepending on the role of the replicator, the properties in this type imply different meanings.",
+ "properties": {
+ "QueueUtilizationPercentage": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Represents the utilization of the queue. A value of 0 indicates that the queue is empty and a value of 100 indicates the queue is full."
+ },
+ "QueueMemorySize": {
+ "type": "string",
+ "description": "Represents the virtual memory consumed by the queue in bytes."
+ },
+ "FirstSequenceNumber": {
+ "type": "string",
+ "description": "On a primary replicator, this is semantically the sequence number of the operation for which all the secondary replicas have sent an acknowledgement.\nOn a secondary replicator, this is the smallest sequence number of the operation that is present in the queue."
+ },
+ "CompletedSequenceNumber": {
+ "type": "string",
+ "description": "On a primary replicator, this is semantically the highest sequence number of the operation for which all the secondary replicas have sent an acknowledgement.\nOn a secondary replicator, this is semantically the highest sequence number that has been applied to the persistent state."
+ },
+ "CommittedSequenceNumber": {
+ "type": "string",
+ "description": "On a primary replicator, this is semantically the highest sequence number of the operation for which a write quorum of the secondary replicas have sent an acknowledgement.\nOn a secondary replicator, this is semantically the highest sequence number of the in-order operation received from the primary."
+ },
+ "LastSequenceNumber": {
+ "type": "string",
+ "description": "Represents the latest sequence number of the operation that is available in the queue."
+ }
+ }
+ },
+ "ReplicatorStatus": {
+ "discriminator": "Kind",
+ "description": "Represents a base class for primary or secondary replicator status.\nContains information about the service fabric replicator like the replication/copy queue utilization, last acknowledgement received timestamp, etc.",
+ "required": [
+ "Kind"
+ ],
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/ReplicaRole",
+ "description": "The role of a replica of a stateful service."
+ }
+ }
+ },
+ "PrimaryReplicatorStatus": {
+ "x-ms-discriminator-value": "Primary",
+ "description": "Provides statistics about the Service Fabric Replicator, when it is functioning in a Primary role.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicatorStatus"
+ }
+ ],
+ "properties": {
+ "ReplicationQueueStatus": {
+ "$ref": "#/definitions/ReplicatorQueueStatus",
+ "description": "Details about the replication queue on the primary replicator."
+ },
+ "RemoteReplicators": {
+ "$ref": "#/definitions/RemoteReplicatorStatusList",
+ "description": "The status of all the active and idle secondary replicators that the primary is aware of."
+ }
+ }
+ },
+ "SecondaryReplicatorStatus": {
+ "description": "Provides statistics about the Service Fabric Replicator, when it is functioning in a ActiveSecondary role.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicatorStatus"
+ }
+ ],
+ "properties": {
+ "ReplicationQueueStatus": {
+ "$ref": "#/definitions/ReplicatorQueueStatus",
+ "description": "Details about the replication queue on the secondary replicator."
+ },
+ "LastReplicationOperationReceivedTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The last time-stamp (UTC) at which a replication operation was received from the primary.\nUTC 0 represents an invalid value, indicating that a replication operation message was never received."
+ },
+ "IsInBuild": {
+ "type": "boolean",
+ "description": "Value that indicates whether the replica is currently being built."
+ },
+ "CopyQueueStatus": {
+ "$ref": "#/definitions/ReplicatorQueueStatus",
+ "description": "Details about the copy queue on the secondary replicator."
+ },
+ "LastCopyOperationReceivedTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The last time-stamp (UTC) at which a copy operation was received from the primary.\nUTC 0 represents an invalid value, indicating that a copy operation message was never received."
+ },
+ "LastAcknowledgementSentTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The last time-stamp (UTC) at which an acknowledgment was sent to the primary replicator.\nUTC 0 represents an invalid value, indicating that an acknowledgment message was never sent."
+ }
+ }
+ },
+ "SecondaryActiveReplicatorStatus": {
+ "x-ms-discriminator-value": "ActiveSecondary",
+ "description": "Status of the secondary replicator when it is in active mode and is part of the replica set.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SecondaryReplicatorStatus"
+ }
+ ]
+ },
+ "SecondaryIdleReplicatorStatus": {
+ "x-ms-discriminator-value": "IdleSecondary",
+ "description": "Status of the secondary replicator when it is in idle mode and is being built by the primary.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SecondaryReplicatorStatus"
+ }
+ ]
+ },
+ "RemoteReplicatorStatus": {
+ "description": "Represents the state of the secondary replicator from the primary replicator’s point of view.",
+ "properties": {
+ "ReplicaId": {
+ "$ref": "#/definitions/ReplicaId",
+ "description": "Represents the replica ID of the remote secondary replicator."
+ },
+ "LastAcknowledgementProcessedTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The last timestamp (in UTC) when an acknowledgement from the secondary replicator was processed on the primary.\nUTC 0 represents an invalid value, indicating that no acknowledgement messages were ever processed."
+ },
+ "LastReceivedReplicationSequenceNumber": {
+ "type": "string",
+ "description": "The highest replication operation sequence number that the secondary has received from the primary."
+ },
+ "LastAppliedReplicationSequenceNumber": {
+ "type": "string",
+ "description": "The highest replication operation sequence number that the secondary has applied to its state."
+ },
+ "IsInBuild": {
+ "type": "boolean",
+ "description": "A value that indicates whether the secondary replica is in the process of being built."
+ },
+ "LastReceivedCopySequenceNumber": {
+ "type": "string",
+ "description": "The highest copy operation sequence number that the secondary has received from the primary.\nA value of -1 implies that the secondary has received all copy operations."
+ },
+ "LastAppliedCopySequenceNumber": {
+ "type": "string",
+ "description": "The highest copy operation sequence number that the secondary has applied to its state.\nA value of -1 implies that the secondary has applied all copy operations and the copy process is complete."
+ },
+ "RemoteReplicatorAcknowledgementStatus": {
+ "$ref": "#/definitions/RemoteReplicatorAcknowledgementStatus",
+ "description": "Represents the acknowledgment status for the remote secondary replicator."
+ }
+ }
+ },
+ "RemoteReplicatorStatusList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RemoteReplicatorStatus"
+ },
+ "description": "List of remote replicator status"
+ },
+ "RemoteReplicatorAcknowledgementStatus": {
+ "description": "Provides details about the remote replicators from the primary replicator's point of view.",
+ "properties": {
+ "ReplicationStreamAcknowledgementDetail": {
+ "$ref": "#/definitions/RemoteReplicatorAcknowledgementDetail",
+ "description": "Details about the acknowledgements for operations that are part of the replication stream data."
+ },
+ "CopyStreamAcknowledgementDetail": {
+ "$ref": "#/definitions/RemoteReplicatorAcknowledgementDetail",
+ "description": "Details about the acknowledgements for operations that are part of the copy stream data."
+ }
+ }
+ },
+ "RemoteReplicatorAcknowledgementDetail": {
+ "description": "Provides various statistics of the acknowledgements that are being received from the remote replicator.",
+ "properties": {
+ "AverageReceiveDuration": {
+ "type": "string",
+ "description": "Represents the average duration it takes for the remote replicator to receive an operation."
+ },
+ "AverageApplyDuration": {
+ "type": "string",
+ "description": "Represents the average duration it takes for the remote replicator to apply an operation. This usually entails writing the operation to disk."
+ },
+ "NotReceivedCount": {
+ "type": "string",
+ "description": "Represents the number of operations not yet received by a remote replicator."
+ },
+ "ReceivedAndNotAppliedCount": {
+ "type": "string",
+ "description": "Represents the number of operations received and not yet applied by a remote replicator."
+ }
+ }
+ },
+ "DeployedServiceReplicaDetailInfo": {
+ "discriminator": "ServiceKind",
+ "description": "Information about a Service Fabric service replica deployed on a node.",
+ "required": [
+ "ServiceKind"
+ ],
+ "properties": {
+ "ServiceKind": {
+ "$ref": "#/definitions/ServiceKind",
+ "description": "The kind of service (Stateless or Stateful)."
+ },
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "Full hierarchical name of the service in URI format starting with `fabric:`."
+ },
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different."
+ },
+ "CurrentServiceOperation": {
+ "$ref": "#/definitions/ServiceOperationName",
+ "description": "Specifies the current active life-cycle operation on a stateful service replica or stateless service instance."
+ },
+ "CurrentServiceOperationStartTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The start time of the current service operation in UTC format."
+ },
+ "ReportedLoad": {
+ "$ref": "#/definitions/LoadMetricReportInfoList",
+ "description": "List of load reported by replica."
+ }
+ }
+ },
+ "DeployedStatefulServiceReplicaDetailInfo": {
+ "description": "Information about a stateful replica running in a code package. Note DeployedServiceReplicaQueryResult will contain duplicate data like ServiceKind, ServiceName, PartitionId and replicaId.",
+ "x-ms-discriminator-value": "Stateful",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeployedServiceReplicaDetailInfo"
+ }
+ ],
+ "properties": {
+ "ReplicaId": {
+ "$ref": "#/definitions/ReplicaId",
+ "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id."
+ },
+ "CurrentReplicatorOperation": {
+ "$ref": "#/definitions/ReplicatorOperationName",
+ "description": "Specifies the operation currently being executed by the Replicator."
+ },
+ "ReadStatus": {
+ "$ref": "#/definitions/PartitionAccessStatus",
+ "description": "Specifies the access status of the partition."
+ },
+ "WriteStatus": {
+ "$ref": "#/definitions/PartitionAccessStatus",
+ "description": "Specifies the access status of the partition."
+ },
+ "ReplicatorStatus": {
+ "$ref": "#/definitions/ReplicatorStatus",
+ "description": "Represents a base class for primary or secondary replicator status.\nContains information about the service fabric replicator like the replication/copy queue utilization, last acknowledgement received timestamp, etc."
+ },
+ "ReplicaStatus": {
+ "$ref": "#/definitions/KeyValueStoreReplicaStatus",
+ "description": "Key value store related information for the replica."
+ },
+ "DeployedServiceReplicaQueryResult": {
+ "$ref": "#/definitions/DeployedStatefulServiceReplicaInfo",
+ "description": "Information about a stateful service replica deployed on a node."
+ }
+ }
+ },
+ "DeployedStatelessServiceInstanceDetailInfo": {
+ "description": "Information about a stateless instance running in a code package. Note that DeployedServiceReplicaQueryResult will contain duplicate data like ServiceKind, ServiceName, PartitionId and InstanceId.",
+ "x-ms-discriminator-value": "Stateless",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeployedServiceReplicaDetailInfo"
+ }
+ ],
+ "properties": {
+ "InstanceId": {
+ "$ref": "#/definitions/InstanceId",
+ "description": "Id of a stateless service instance. InstanceId is used by Service Fabric to uniquely identify an instance of a partition of a stateless service. It is unique within a partition and does not change for the lifetime of the instance. If the instance has failed over on the same or different node, it will get a different value for the InstanceId."
+ },
+ "DeployedServiceReplicaQueryResult": {
+ "$ref": "#/definitions/DeployedStatelessServiceInstanceInfo",
+ "description": "Information about a stateless service instance deployed on a node."
+ }
+ }
+ },
+ "FabricReplicaStatus": {
+ "type": "string",
+ "description": "Specifies the status of the replica.",
+ "enum": [
+ "Invalid",
+ "Down",
+ "Up"
+ ],
+ "x-ms-enum": {
+ "name": "FabricReplicaStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates that the read or write operation access status is not valid. This value is not returned to the caller."
+ },
+ {
+ "value": "Down",
+ "description": "Indicates that the replica is down."
+ },
+ {
+ "value": "Up",
+ "description": "Indicates that the replica is up."
+ }
+ ]
+ }
+ },
+ "LoadMetricReportInfoList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LoadMetricReportInfo"
+ },
+ "description": "List of load reported by replica."
+ },
+ "LoadMetricReportInfo": {
+ "description": "Information about load reported by replica.",
+ "properties": {
+ "Name": {
+ "type": "string",
+ "description": "The name of the metric."
+ },
+ "Value": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The value of the load for the metric. In future releases of Service Fabric this parameter will be deprecated in favor of CurrentValue."
+ },
+ "CurrentValue": {
+ "type": "string",
+ "format": "double",
+ "description": "The double value of the load for the metric."
+ },
+ "LastReportedUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The UTC time when the load is reported."
+ }
+ }
+ },
+ "PartitionAccessStatus": {
+ "type": "string",
+ "description": "Specifies the access status of the partition.",
+ "enum": [
+ "Invalid",
+ "Granted",
+ "ReconfigurationPending",
+ "NotPrimary",
+ "NoWriteQuorum"
+ ],
+ "x-ms-enum": {
+ "name": "PartitionAccessStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates that the read or write operation access status is not valid. This value is not returned to the caller."
+ },
+ {
+ "value": "Granted",
+ "description": "Indicates that the read or write operation access is granted and the operation is allowed."
+ },
+ {
+ "value": "ReconfigurationPending",
+ "description": "Indicates that the client should try again later, because a reconfiguration is in progress."
+ },
+ {
+ "value": "NotPrimary",
+ "description": "Indicates that this client request was received by a replica that is not a Primary replica."
+ },
+ {
+ "value": "NoWriteQuorum",
+ "description": "Indicates that no write quorum is available and, therefore, no write operation can be accepted."
+ }
+ ]
+ }
+ },
+ "ReplicatorOperationName": {
+ "type": "string",
+ "description": "Specifies the operation currently being executed by the Replicator.",
+ "enum": [
+ "Invalid",
+ "None",
+ "Open",
+ "ChangeRole",
+ "UpdateEpoch",
+ "Close",
+ "Abort",
+ "OnDataLoss",
+ "WaitForCatchup",
+ "Build"
+ ],
+ "x-ms-enum": {
+ "name": "ReplicatorOperationName",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Default value if the replicator is not yet ready."
+ },
+ {
+ "value": "None",
+ "description": "Replicator is not running any operation from Service Fabric perspective."
+ },
+ {
+ "value": "Open",
+ "description": "Replicator is opening."
+ },
+ {
+ "value": "ChangeRole",
+ "description": "Replicator is in the process of changing its role."
+ },
+ {
+ "value": "UpdateEpoch",
+ "description": "Due to a change in the replica set, replicator is being updated with its Epoch."
+ },
+ {
+ "value": "Close",
+ "description": "Replicator is closing."
+ },
+ {
+ "value": "Abort",
+ "description": "Replicator is being aborted."
+ },
+ {
+ "value": "OnDataLoss",
+ "description": "Replicator is handling the data loss condition, where the user service may potentially be recovering state from an external source."
+ },
+ {
+ "value": "WaitForCatchup",
+ "description": "Replicator is waiting for a quorum of replicas to be caught up to the latest state."
+ },
+ {
+ "value": "Build",
+ "description": "Replicator is in the process of building one or more replicas."
+ }
+ ]
+ }
+ },
+ "ServiceOperationName": {
+ "type": "string",
+ "description": "Specifies the current active life-cycle operation on a stateful service replica or stateless service instance.",
+ "enum": [
+ "Unknown",
+ "None",
+ "Open",
+ "ChangeRole",
+ "Close",
+ "Abort"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceOperationName",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Unknown",
+ "description": "Reserved for future use."
+ },
+ {
+ "value": "None",
+ "description": "The service replica or instance is not going through any life-cycle changes."
+ },
+ {
+ "value": "Open",
+ "description": "The service replica or instance is being opened."
+ },
+ {
+ "value": "ChangeRole",
+ "description": "The service replica is changing roles."
+ },
+ {
+ "value": "Close",
+ "description": "The service replica or instance is being closed."
+ },
+ {
+ "value": "Abort",
+ "description": "The service replica or instance is being aborted."
+ }
+ ]
+ }
+ },
+ "ReplicaKind": {
+ "type": "string",
+ "description": "The role of a replica of a stateful service.",
+ "enum": [
+ "Invalid",
+ "KeyValueStore"
+ ],
+ "x-ms-enum": {
+ "name": "ReplicaKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Represents an invalid replica kind. The value is zero."
+ },
+ {
+ "value": "KeyValueStore",
+ "description": "Represents a key value store replica. The value is 1"
+ }
+ ]
+ }
+ },
+ "ReplicaStatusBase": {
+ "discriminator": "Kind",
+ "description": "Information about the replica.",
+ "required": [
+ "Kind"
+ ],
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/ReplicaKind",
+ "description": "The role of a replica of a stateful service."
+ }
+ }
+ },
+ "KeyValueStoreReplicaStatus": {
+ "description": "Key value store related information for the replica.",
+ "x-ms-discriminator-value": "KeyValueStore",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicaStatusBase"
+ }
+ ],
+ "properties": {
+ "DatabaseRowCountEstimate": {
+ "type": "string",
+ "description": "Value indicating the estimated number of rows in the underlying database."
+ },
+ "DatabaseLogicalSizeEstimate": {
+ "type": "string",
+ "description": "Value indicating the estimated size of the underlying database."
+ },
+ "CopyNotificationCurrentKeyFilter": {
+ "type": "string",
+ "description": "Value indicating the latest key-prefix filter applied to enumeration during the callback. Null if there is no pending callback."
+ },
+ "CopyNotificationCurrentProgress": {
+ "type": "string",
+ "description": "Value indicating the latest number of keys enumerated during the callback. 0 if there is no pending callback."
+ },
+ "StatusDetails": {
+ "type": "string",
+ "description": "Value indicating the current status details of the replica."
+ }
+ }
+ },
+ "ServiceUpdateDescription": {
+ "discriminator": "ServiceKind",
+ "description": "A ServiceUpdateDescription contains all of the information necessary to update a service.",
+ "required": [
+ "ServiceKind"
+ ],
+ "properties": {
+ "ServiceKind": {
+ "$ref": "#/definitions/ServiceKind",
+ "description": "The service kind."
+ },
+ "Flags": {
+ "type": "string",
+ "description": "Flags indicating whether other properties are set. Each of the associated properties corresponds to a flag, specified below, which, if set, indicate that the property is specified.\nThis property can be a combination of those flags obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6 then the flags for ReplicaRestartWaitDuration (2) and QuorumLossWaitDuration (4) are set.\n\n- None - Does not indicate any other properties are set. The value is zero.\n- TargetReplicaSetSize/InstanceCount - Indicates whether the TargetReplicaSetSize property (for Stateful services) or the InstanceCount property (for Stateless services) is set. The value is 1.\n- ReplicaRestartWaitDuration - Indicates the ReplicaRestartWaitDuration property is set. The value is 2.\n- QuorumLossWaitDuration - Indicates the QuorumLossWaitDuration property is set. The value is 4.\n- StandByReplicaKeepDuration - Indicates the StandByReplicaKeepDuration property is set. The value is 8.\n- MinReplicaSetSize - Indicates the MinReplicaSetSize property is set. The value is 16.\n- PlacementConstraints - Indicates the PlacementConstraints property is set. The value is 32.\n- PlacementPolicyList - Indicates the ServicePlacementPolicies property is set. The value is 64.\n- Correlation - Indicates the CorrelationScheme property is set. The value is 128.\n- Metrics - Indicates the ServiceLoadMetrics property is set. The value is 256.\n- DefaultMoveCost - Indicates the DefaultMoveCost property is set. The value is 512.\n- ScalingPolicy - Indicates the ScalingPolicies property is set. The value is 1024.\n- ServicePlacementTimeLimit - Indicates the ServicePlacementTimeLimit property is set. The value is 2048.\n- MinInstanceCount - Indicates the MinInstanceCount property is set. The value is 4096.\n- MinInstancePercentage - Indicates the MinInstancePercentage property is set. The value is 8192.\n- InstanceCloseDelayDuration - Indicates the InstanceCloseDelayDuration property is set. The value is 16384."
+ },
+ "PlacementConstraints": {
+ "type": "string",
+ "description": "The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: \"NodeColor == blue)\"."
+ },
+ "CorrelationScheme": {
+ "$ref": "#/definitions/CorrelationSchemeList",
+ "description": "The correlation scheme."
+ },
+ "LoadMetrics": {
+ "$ref": "#/definitions/ServiceLoadMetricsList",
+ "description": "The service load metrics."
+ },
+ "ServicePlacementPolicies": {
+ "$ref": "#/definitions/ServicePlacementPoliciesList",
+ "description": "The service placement policies."
+ },
+ "DefaultMoveCost": {
+ "$ref": "#/definitions/MoveCost",
+ "description": "The move cost for the service."
+ },
+ "ScalingPolicies": {
+ "$ref": "#/definitions/ScalingPolicyDescriptionList",
+ "description": "Scaling policies for this service."
+ }
+ }
+ },
+ "StatefulServiceUpdateDescription": {
+ "description": "Describes an update for a stateful service.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceUpdateDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "Stateful",
+ "properties": {
+ "TargetReplicaSetSize": {
+ "type": "integer",
+ "minimum": 1,
+ "description": "The target replica set size as a number."
+ },
+ "MinReplicaSetSize": {
+ "type": "integer",
+ "minimum": 1,
+ "description": "The minimum replica set size as a number."
+ },
+ "ReplicaRestartWaitDurationSeconds": {
+ "type": "string",
+ "description": "The duration, in seconds, between when a replica goes down and when a new replica is created."
+ },
+ "QuorumLossWaitDurationSeconds": {
+ "type": "string",
+ "description": "The maximum duration, in seconds, for which a partition is allowed to be in a state of quorum loss."
+ },
+ "StandByReplicaKeepDurationSeconds": {
+ "type": "string",
+ "description": "The definition on how long StandBy replicas should be maintained before being removed."
+ },
+ "ServicePlacementTimeLimitSeconds": {
+ "type": "string",
+ "description": "The duration for which replicas can stay InBuild before reporting that build is stuck."
+ }
+ }
+ },
+ "StatelessServiceUpdateDescription": {
+ "description": "Describes an update for a stateless service.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceUpdateDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "Stateless",
+ "properties": {
+ "InstanceCount": {
+ "type": "integer",
+ "minimum": -1,
+ "description": "The instance count."
+ },
+ "MinInstanceCount": {
+ "$ref": "#/definitions/MinInstanceCount",
+ "description": "MinInstanceCount is the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service."
+ },
+ "MinInstancePercentage": {
+ "$ref": "#/definitions/MinInstancePercentage",
+ "description": "MinInstancePercentage is the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service."
+ },
+ "InstanceCloseDelayDurationSeconds": {
+ "type": "string",
+ "description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster upgrade and disabling node.\nThe endpoint exposed on this instance is removed prior to starting the delay, which prevents new connections to this instance.\nIn addition, clients that have subscribed to service endpoint change events(https://docs.microsoft.com/dotnet/api/system.fabric.fabricclient.servicemanagementclient.registerservicenotificationfilterasync), can do\nthe following upon receiving the endpoint removal notification:\n - Stop sending new requests to this instance.\n - Close existing connections after in-flight requests have completed.\n - Connect to a different instance of the service partition for future requests."
+ }
+ }
+ },
+ "ImageStoreRelativePath": {
+ "type": "string",
+ "description": "The remote location within image store. This path is relative to the image store root."
+ },
+ "FileVersion": {
+ "description": "Information about the version of image store file.",
+ "properties": {
+ "VersionNumber": {
+ "type": "string",
+ "description": "The current image store version number for the file is used in image store for checking whether it need to be updated."
+ },
+ "EpochDataLossNumber": {
+ "type": "string",
+ "description": "The epoch data loss number of image store replica when this file entry was updated or created."
+ },
+ "EpochConfigurationNumber": {
+ "type": "string",
+ "description": "The epoch configuration version number of the image store replica when this file entry was created or updated."
+ }
+ }
+ },
+ "DiskInfo": {
+ "description": "Information about the disk",
+ "properties": {
+ "Capacity": {
+ "type": "string",
+ "description": "the disk size in bytes"
+ },
+ "AvailableSpace": {
+ "type": "string",
+ "description": "the available disk space in bytes"
+ }
+ }
+ },
+ "FileInfo": {
+ "description": "Information about a image store file.",
+ "properties": {
+ "FileSize": {
+ "type": "string",
+ "description": "The size of file in bytes."
+ },
+ "FileVersion": {
+ "$ref": "#/definitions/FileVersion",
+ "description": "Information about the version of image store file."
+ },
+ "ModifiedDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date and time when the image store file was last modified."
+ },
+ "StoreRelativePath": {
+ "type": "string",
+ "description": "The file path relative to the image store root path."
+ }
+ }
+ },
+ "FolderInfo": {
+ "description": "Information about a image store folder. It includes how many files this folder contains and its image store relative path.",
+ "properties": {
+ "StoreRelativePath": {
+ "$ref": "#/definitions/ImageStoreRelativePath",
+ "description": "The remote location within image store. This path is relative to the image store root."
+ },
+ "FileCount": {
+ "type": "string",
+ "description": "The number of files from within the image store folder."
+ }
+ }
+ },
+ "FolderSizeInfo": {
+ "description": "Information of a image store folder size",
+ "properties": {
+ "StoreRelativePath": {
+ "$ref": "#/definitions/ImageStoreRelativePath",
+ "description": "The remote location within image store. This path is relative to the image store root."
+ },
+ "FolderSize": {
+ "type": "string",
+ "description": "The size of folder in bytes."
+ }
+ }
+ },
+ "UsageInfo": {
+ "description": "Information about how much space and how many files in the file system the ImageStore is using in this category",
+ "properties": {
+ "UsedSpace": {
+ "type": "string",
+ "description": "the size of all files in this category"
+ },
+ "FileCount": {
+ "type": "string",
+ "description": "the number of all files in this category"
+ }
+ }
+ },
+ "ImageStoreContent": {
+ "description": "Information about the image store content.",
+ "properties": {
+ "StoreFiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FileInfo"
+ },
+ "description": "The list of image store file info objects represents files found under the given image store relative path."
+ },
+ "StoreFolders": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FolderInfo"
+ },
+ "description": "The list of image store folder info objects represents subfolders found under the given image store relative path."
+ }
+ }
+ },
+ "ImageStoreCopyDescription": {
+ "description": "Information about how to copy image store content from one image store relative path to another image store relative path.",
+ "required": [
+ "RemoteSource",
+ "RemoteDestination"
+ ],
+ "properties": {
+ "RemoteSource": {
+ "type": "string",
+ "description": "The relative path of source image store content to be copied from."
+ },
+ "RemoteDestination": {
+ "type": "string",
+ "description": "The relative path of destination image store content to be copied to."
+ },
+ "SkipFiles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of the file names to be skipped for copying."
+ },
+ "CheckMarkFile": {
+ "type": "boolean",
+ "description": "Indicates whether to check mark file during copying. The property is true if checking mark file is required, false otherwise. The mark file is used to check whether the folder is well constructed. If the property is true and mark file does not exist, the copy is skipped."
+ }
+ }
+ },
+ "ImageStoreInfo": {
+ "description": "Information about the ImageStore's resource usage",
+ "properties": {
+ "DiskInfo": {
+ "$ref": "#/definitions/DiskInfo",
+ "description": "disk capacity and available disk space on the node where the ImageStore primary is placed."
+ },
+ "UsedByMetadata": {
+ "$ref": "#/definitions/UsageInfo",
+ "description": "the ImageStore's file system usage for metadata."
+ },
+ "UsedByStaging": {
+ "$ref": "#/definitions/UsageInfo",
+ "description": "The ImageStore's file system usage for staging files that are being uploaded."
+ },
+ "UsedByCopy": {
+ "$ref": "#/definitions/UsageInfo",
+ "description": "the ImageStore's file system usage for copied application and cluster packages. [Removing application and cluster packages](https://docs.microsoft.com/rest/api/servicefabric/sfclient-api-deleteimagestorecontent) will free up this space."
+ },
+ "UsedByRegister": {
+ "$ref": "#/definitions/UsageInfo",
+ "description": "the ImageStore's file system usage for registered and cluster packages. [Unregistering application](https://docs.microsoft.com/rest/api/servicefabric/sfclient-api-unprovisionapplicationtype) and [cluster packages](https://docs.microsoft.com/rest/api/servicefabric/sfclient-api-unprovisionapplicationtype) will free up this space."
+ }
+ }
+ },
+ "InstanceId": {
+ "type": "string",
+ "description": "Id of a stateless service instance. InstanceId is used by Service Fabric to uniquely identify an instance of a partition of a stateless service. It is unique within a partition and does not change for the lifetime of the instance. If the instance has failed over on the same or different node, it will get a different value for the InstanceId."
+ },
+ "CodePackageInstanceId": {
+ "type": "string",
+ "description": "The instance ID for current running entry point. For a code package setup entry point (if specified) runs first and after it finishes main entry point is started. Each time entry point executable is run, its instance id will change."
+ },
+ "HostIsolationMode": {
+ "type": "string",
+ "description": "Specifies the isolation mode of main entry point of a code package when it's host type is ContainerHost. This is specified as part of container host policies in application manifest while importing service manifest.",
+ "enum": [
+ "None",
+ "Process",
+ "HyperV"
+ ],
+ "x-ms-enum": {
+ "name": "HostIsolationMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "Indicates the isolation mode is not applicable for given HostType. The value is 0."
+ },
+ {
+ "value": "Process",
+ "description": "This is the default isolation mode for a ContainerHost. The value is 1."
+ },
+ {
+ "value": "HyperV",
+ "description": "Indicates the ContainerHost is a Hyper-V container. This applies to only Windows containers. The value is 2."
+ }
+ ]
+ }
+ },
+ "HostType": {
+ "type": "string",
+ "description": "Specifies the type of host for main entry point of a code package as specified in service manifest.",
+ "enum": [
+ "Invalid",
+ "ExeHost",
+ "ContainerHost"
+ ],
+ "x-ms-enum": {
+ "name": "HostType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the type of host is not known or invalid. The value is 0."
+ },
+ {
+ "value": "ExeHost",
+ "description": "Indicates the host is an executable. The value is 1."
+ },
+ {
+ "value": "ContainerHost",
+ "description": "Indicates the host is a container. The value is 2."
+ }
+ ]
+ }
+ },
+ "RestartDeployedCodePackageDescription": {
+ "description": "Defines description for restarting a deployed code package on Service Fabric node.",
+ "required": [
+ "ServiceManifestName",
+ "CodePackageName",
+ "CodePackageInstanceId"
+ ],
+ "properties": {
+ "ServiceManifestName": {
+ "$ref": "#/definitions/ServiceManifestName",
+ "description": "The name of service manifest that specified this code package."
+ },
+ "ServicePackageActivationId": {
+ "$ref": "#/definitions/ServicePackageActivationId",
+ "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string."
+ },
+ "CodePackageName": {
+ "$ref": "#/definitions/CodePackageName",
+ "description": "The name of the code package defined in the service manifest."
+ },
+ "CodePackageInstanceId": {
+ "$ref": "#/definitions/CodePackageInstanceId",
+ "description": "The instance ID for currently running entry point. For a code package setup entry point (if specified) runs first and after it finishes main entry point is started.\nEach time entry point executable is run, its instance ID will change. If 0 is passed in as the code package instance ID, the API will restart the code package with whatever instance ID it is currently running.\nIf an instance ID other than 0 is passed in, the API will restart the code package only if the current Instance ID matches the passed in instance ID.\nNote, passing in the exact instance ID (not 0) in the API is safer, because if ensures at most one restart of the code package."
+ }
+ }
+ },
+ "DeployedServiceTypeInfo": {
+ "description": "Information about service type deployed on a node, information such as the status of the service type registration on a node.",
+ "properties": {
+ "ServiceTypeName": {
+ "$ref": "#/definitions/ServiceTypeName",
+ "description": "Name of the service type as specified in the service manifest."
+ },
+ "ServiceManifestName": {
+ "$ref": "#/definitions/ServiceManifestName",
+ "description": "The name of the service manifest in which this service type is defined."
+ },
+ "CodePackageName": {
+ "$ref": "#/definitions/CodePackageName",
+ "description": "The name of the code package that registered the service type."
+ },
+ "Status": {
+ "$ref": "#/definitions/ServiceTypeRegistrationStatus",
+ "description": "The status of the service type registration on the node."
+ },
+ "ServicePackageActivationId": {
+ "$ref": "#/definitions/ServicePackageActivationId",
+ "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string."
+ }
+ }
+ },
+ "DeployedServiceTypeInfoList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeployedServiceTypeInfo"
+ },
+ "description": "List of information about service type deployed on a node."
+ },
+ "ServiceTypeRegistrationStatus": {
+ "type": "string",
+ "description": "The status of the service type registration on the node.",
+ "enum": [
+ "Invalid",
+ "Disabled",
+ "Enabled",
+ "Registered"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceTypeRegistrationStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the registration status is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Disabled",
+ "description": "Indicates that the service type is disabled on this node. A type gets disabled when there are too many failures of the code package hosting the service type. If the service type is disabled, new replicas of that service type will not be placed on the node until it is enabled again. The service type is enabled again after the process hosting it comes up and re-registers the type or a preconfigured time interval has passed. The value is 1."
+ },
+ {
+ "value": "Enabled",
+ "description": "Indicates that the service type is enabled on this node. Replicas of this service type can be placed on this node when the code package registers the service type. The value is 2."
+ },
+ {
+ "value": "Registered",
+ "description": "Indicates that the service type is enabled and registered on the node by a code package. Replicas of this service type can now be placed on this node. The value is 3."
+ }
+ ]
+ }
+ },
+ "ServiceEndpointRole": {
+ "type": "string",
+ "description": "The role of the replica where the endpoint is reported.",
+ "enum": [
+ "Invalid",
+ "Stateless",
+ "StatefulPrimary",
+ "StatefulSecondary"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceEndpointRole",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the service endpoint role is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Stateless",
+ "description": "Indicates that the service endpoint is of a stateless service. The value is 1."
+ },
+ {
+ "value": "StatefulPrimary",
+ "description": "Indicates that the service endpoint is of a primary replica of a stateful service. The value is 2."
+ },
+ {
+ "value": "StatefulSecondary",
+ "description": "Indicates that the service endpoint is of a secondary replica of a stateful service. The value is 3."
+ }
+ ]
+ }
+ },
+ "ResolvedServiceEndpoint": {
+ "description": "Endpoint of a resolved service partition.",
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/ServiceEndpointRole",
+ "description": "The role of the replica where the endpoint is reported."
+ },
+ "Address": {
+ "type": "string",
+ "description": "The address of the endpoint. If the endpoint has multiple listeners the address is a JSON object with one property per listener with the value as the address of that listener."
+ }
+ }
+ },
+ "ResolvedServicePartition": {
+ "description": "Information about a service partition and its associated endpoints.",
+ "required": [
+ "Name",
+ "PartitionInformation",
+ "Endpoints",
+ "Version"
+ ],
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The full name of the service with 'fabric:' URI scheme."
+ },
+ "PartitionInformation": {
+ "$ref": "#/definitions/PartitionInformation",
+ "description": "A representation of the resolved partition."
+ },
+ "Endpoints": {
+ "$ref": "#/definitions/ResolvedServiceEndpointList",
+ "description": "List of resolved service endpoints of a service partition."
+ },
+ "Version": {
+ "type": "string",
+ "description": "The version of this resolved service partition result. This version should be passed in the next time the ResolveService call is made via the PreviousRspVersion query parameter."
+ }
+ }
+ },
+ "ResolvedServiceEndpointList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResolvedServiceEndpoint"
+ },
+ "description": "List of resolved service endpoints of a service partition."
+ },
+ "InvokeDataLossResult": {
+ "description": "Represents information about an operation in a terminal state (Completed or Faulted).",
+ "properties": {
+ "ErrorCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If OperationState is Completed, this is 0. If OperationState is Faulted, this is an error code indicating the reason."
+ },
+ "SelectedPartition": {
+ "$ref": "#/definitions/SelectedPartition",
+ "description": "This class returns information about the partition that the user-induced operation acted upon."
+ }
+ }
+ },
+ "InvokeQuorumLossResult": {
+ "description": "Represents information about an operation in a terminal state (Completed or Faulted).",
+ "properties": {
+ "ErrorCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If OperationState is Completed, this is 0. If OperationState is Faulted, this is an error code indicating the reason."
+ },
+ "SelectedPartition": {
+ "$ref": "#/definitions/SelectedPartition",
+ "description": "This class returns information about the partition that the user-induced operation acted upon."
+ }
+ }
+ },
+ "NodeResult": {
+ "description": "Contains information about a node that was targeted by a user-induced operation.",
+ "properties": {
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "NodeInstanceId": {
+ "type": "string",
+ "description": "The node instance id."
+ }
+ }
+ },
+ "NodeTransitionProgress": {
+ "description": "Information about an NodeTransition operation. This class contains an OperationState and a NodeTransitionResult. The NodeTransitionResult is not valid until OperationState\nis Completed or Faulted.",
+ "properties": {
+ "State": {
+ "$ref": "#/definitions/OperationState",
+ "description": "The state of the operation."
+ },
+ "NodeTransitionResult": {
+ "$ref": "#/definitions/NodeTransitionResult",
+ "description": "Represents information about an operation in a terminal state (Completed or Faulted)."
+ }
+ }
+ },
+ "NodeTransitionResult": {
+ "description": "Represents information about an operation in a terminal state (Completed or Faulted).",
+ "properties": {
+ "ErrorCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If OperationState is Completed, this is 0. If OperationState is Faulted, this is an error code indicating the reason."
+ },
+ "NodeResult": {
+ "$ref": "#/definitions/NodeResult",
+ "description": "Contains information about a node that was targeted by a user-induced operation."
+ }
+ }
+ },
+ "OperationId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "A GUID that identifies a call to this API. This is also passed into the corresponding GetProgress API."
+ },
+ "OperationState": {
+ "type": "string",
+ "description": "The state of the operation.",
+ "enum": [
+ "Invalid",
+ "Running",
+ "RollingBack",
+ "Completed",
+ "Faulted",
+ "Cancelled",
+ "ForceCancelled"
+ ],
+ "x-ms-enum": {
+ "name": "OperationState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "The operation state is invalid."
+ },
+ {
+ "value": "Running",
+ "description": "The operation is in progress."
+ },
+ {
+ "value": "RollingBack",
+ "description": "The operation is rolling back internal system state because it encountered a fatal error or was cancelled by the user. \"RollingBack\" does not refer to user state. For example, if CancelOperation is called on a command of type PartitionDataLoss, state of \"RollingBack\" does not mean service data is being restored (assuming the command has progressed far enough to cause data loss). It means the system is rolling back/cleaning up internal system state associated with the command."
+ },
+ {
+ "value": "Completed",
+ "description": "The operation has completed successfully and is no longer running."
+ },
+ {
+ "value": "Faulted",
+ "description": "The operation has failed and is no longer running."
+ },
+ {
+ "value": "Cancelled",
+ "description": "The operation was cancelled by the user using CancelOperation, and is no longer running."
+ },
+ {
+ "value": "ForceCancelled",
+ "description": "The operation was cancelled by the user using CancelOperation, with the force parameter set to true. It is no longer running. Refer to CancelOperation for more details."
+ }
+ ]
+ }
+ },
+ "OperationStatus": {
+ "description": "Contains the OperationId, OperationState, and OperationType for user-induced operations.",
+ "properties": {
+ "OperationId": {
+ "$ref": "#/definitions/OperationId",
+ "description": "A GUID that identifies a call to this API. This is also passed into the corresponding GetProgress API."
+ },
+ "State": {
+ "$ref": "#/definitions/OperationState",
+ "description": "The state of the operation."
+ },
+ "Type": {
+ "$ref": "#/definitions/OperationType",
+ "description": "The type of the operation."
+ }
+ }
+ },
+ "OperationStatusList": {
+ "type": "array",
+ "description": "A list of OperationStatus objects.",
+ "items": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "OperationType": {
+ "type": "string",
+ "description": "The type of the operation.",
+ "enum": [
+ "Invalid",
+ "PartitionDataLoss",
+ "PartitionQuorumLoss",
+ "PartitionRestart",
+ "NodeTransition"
+ ],
+ "x-ms-enum": {
+ "name": "OperationType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "The operation state is invalid."
+ },
+ {
+ "value": "PartitionDataLoss",
+ "description": "An operation started using the StartDataLoss API."
+ },
+ {
+ "value": "PartitionQuorumLoss",
+ "description": "An operation started using the StartQuorumLoss API."
+ },
+ {
+ "value": "PartitionRestart",
+ "description": "An operation started using the StartPartitionRestart API."
+ },
+ {
+ "value": "NodeTransition",
+ "description": "An operation started using the StartNodeTransition API."
+ }
+ ]
+ }
+ },
+ "PartitionDataLossProgress": {
+ "description": "Information about a partition data loss user-induced operation.",
+ "properties": {
+ "State": {
+ "$ref": "#/definitions/OperationState",
+ "description": "The state of the operation."
+ },
+ "InvokeDataLossResult": {
+ "$ref": "#/definitions/InvokeDataLossResult",
+ "description": "Represents information about an operation in a terminal state (Completed or Faulted)."
+ }
+ }
+ },
+ "PartitionQuorumLossProgress": {
+ "description": "Information about a partition quorum loss user-induced operation.",
+ "properties": {
+ "State": {
+ "$ref": "#/definitions/OperationState",
+ "description": "The state of the operation."
+ },
+ "InvokeQuorumLossResult": {
+ "$ref": "#/definitions/InvokeQuorumLossResult",
+ "description": "Represents information about an operation in a terminal state (Completed or Faulted)."
+ }
+ }
+ },
+ "PartitionRestartProgress": {
+ "description": "Information about a partition restart user-induced operation.",
+ "properties": {
+ "State": {
+ "$ref": "#/definitions/OperationState",
+ "description": "The state of the operation."
+ },
+ "RestartPartitionResult": {
+ "$ref": "#/definitions/RestartPartitionResult",
+ "description": "Represents information about an operation in a terminal state (Completed or Faulted)."
+ }
+ }
+ },
+ "RestartPartitionResult": {
+ "description": "Represents information about an operation in a terminal state (Completed or Faulted).",
+ "properties": {
+ "ErrorCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If OperationState is Completed, this is 0. If OperationState is Faulted, this is an error code indicating the reason."
+ },
+ "SelectedPartition": {
+ "$ref": "#/definitions/SelectedPartition",
+ "description": "This class returns information about the partition that the user-induced operation acted upon."
+ }
+ }
+ },
+ "SelectedPartition": {
+ "description": "This class returns information about the partition that the user-induced operation acted upon.",
+ "properties": {
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The name of the service the partition belongs to."
+ },
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different."
+ }
+ }
+ },
+ "DeployServicePackageToNodeDescription": {
+ "description": "Defines description for downloading packages associated with a service manifest to image cache on a Service Fabric node.",
+ "properties": {
+ "ServiceManifestName": {
+ "$ref": "#/definitions/ServiceManifestName",
+ "description": "The name of service manifest whose packages need to be downloaded."
+ },
+ "ApplicationTypeName": {
+ "$ref": "#/definitions/ApplicationTypeName",
+ "description": "The application type name as defined in the application manifest."
+ },
+ "ApplicationTypeVersion": {
+ "$ref": "#/definitions/ApplicationTypeVersion",
+ "description": "The version of the application type as defined in the application manifest."
+ },
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "PackageSharingPolicy": {
+ "$ref": "#/definitions/PackageSharingPolicyInfoList",
+ "description": "List of package sharing policy information."
+ }
+ },
+ "required": [
+ "ServiceManifestName",
+ "ApplicationTypeName",
+ "ApplicationTypeVersion",
+ "NodeName"
+ ]
+ },
+ "PackageSharingPolicyInfo": {
+ "description": "Represents a policy for the package sharing.",
+ "properties": {
+ "SharedPackageName": {
+ "type": "string",
+ "description": "The name of code, configuration or data package that should be shared."
+ },
+ "PackageSharingScope": {
+ "$ref": "#/definitions/PackageSharingPolicyScope",
+ "description": "Represents the scope for PackageSharingPolicy. This is specified during DeployServicePackageToNode operation."
+ }
+ }
+ },
+ "PackageSharingPolicyInfoList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PackageSharingPolicyInfo"
+ },
+ "description": "List of package sharing policy information."
+ },
+ "PackageSharingPolicyScope": {
+ "type": "string",
+ "description": "Represents the scope for PackageSharingPolicy. This is specified during DeployServicePackageToNode operation.",
+ "enum": [
+ "None",
+ "All",
+ "Code",
+ "Config",
+ "Data"
+ ],
+ "x-ms-enum": {
+ "name": "PackageSharingPolicyScope",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "No package sharing policy scope. The value is 0."
+ },
+ {
+ "value": "All",
+ "description": "Share all code, config and data packages from corresponding service manifest. The value is 1."
+ },
+ {
+ "value": "Code",
+ "description": "Share all code packages from corresponding service manifest. The value is 2."
+ },
+ {
+ "value": "Config",
+ "description": "Share all config packages from corresponding service manifest. The value is 3."
+ },
+ {
+ "value": "Data",
+ "description": "Share all data packages from corresponding service manifest. The value is 4."
+ }
+ ]
+ }
+ },
+ "ResumeApplicationUpgradeDescription": {
+ "description": "Describes the parameters for resuming an unmonitored manual Service Fabric application upgrade",
+ "properties": {
+ "UpgradeDomainName": {
+ "type": "string",
+ "description": "The name of the upgrade domain in which to resume the upgrade."
+ }
+ },
+ "required": [
+ "UpgradeDomainName"
+ ]
+ },
+ "ApplicationUpgradeUpdateDescription": {
+ "description": "Describes the parameters for updating an ongoing application upgrade.",
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "UpgradeKind": {
+ "$ref": "#/definitions/UpgradeKind",
+ "description": "The kind of upgrade out of the following possible values."
+ },
+ "ApplicationHealthPolicy": {
+ "$ref": "#/definitions/ApplicationHealthPolicy",
+ "description": "Defines a health policy used to evaluate the health of an application or one of its children entities."
+ },
+ "UpdateDescription": {
+ "$ref": "#/definitions/RollingUpgradeUpdateDescription",
+ "description": "Describes the parameters for updating a rolling upgrade of application or cluster."
+ }
+ },
+ "required": [
+ "Name",
+ "UpgradeKind"
+ ]
+ },
+ "RollingUpgradeUpdateDescription": {
+ "description": "Describes the parameters for updating a rolling upgrade of application or cluster.",
+ "properties": {
+ "RollingUpgradeMode": {
+ "$ref": "#/definitions/UpgradeMode",
+ "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored."
+ },
+ "ForceRestart": {
+ "$ref": "#/definitions/ForceRestart",
+ "description": "If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data)."
+ },
+ "ReplicaSetCheckTimeoutInMilliseconds": {
+ "$ref": "#/definitions/UpgradeReplicaSetCheckTimeout",
+ "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer)."
+ },
+ "FailureAction": {
+ "$ref": "#/definitions/FailureAction",
+ "description": "The compensating action to perform when a Monitored upgrade encounters monitoring policy or health policy violations.\nInvalid indicates the failure action is invalid. Rollback specifies that the upgrade will start rolling back automatically.\nManual indicates that the upgrade will switch to UnmonitoredManual upgrade mode."
+ },
+ "HealthCheckWaitDurationInMilliseconds": {
+ "$ref": "#/definitions/HealthCheckWaitDuration",
+ "description": "The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds."
+ },
+ "HealthCheckStableDurationInMilliseconds": {
+ "$ref": "#/definitions/HealthCheckStableDuration",
+ "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds."
+ },
+ "HealthCheckRetryTimeoutInMilliseconds": {
+ "$ref": "#/definitions/HealthCheckRetryTimeout",
+ "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds."
+ },
+ "UpgradeTimeoutInMilliseconds": {
+ "$ref": "#/definitions/UpgradeTimeout",
+ "description": "The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds."
+ },
+ "UpgradeDomainTimeoutInMilliseconds": {
+ "$ref": "#/definitions/UpgradeDomainTimeout",
+ "description": "The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds."
+ },
+ "InstanceCloseDelayDurationInSeconds": {
+ "$ref": "#/definitions/InstanceCloseDelayDurationInSeconds",
+ "description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster\nupgrade, only for those instances which have a non-zero delay duration configured in the service description. See InstanceCloseDelayDurationSeconds property in $ref: \"#/definitions/StatelessServiceDescription.yaml\" for details.\nNote, the default value of InstanceCloseDelayDurationInSeconds is 4294967295, which indicates that the behavior will entirely depend on the delay configured in the stateless service description."
+ }
+ },
+ "required": [
+ "RollingUpgradeMode"
+ ]
+ },
+ "NameDescription": {
+ "description": "Describes a Service Fabric name.",
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/FabricName",
+ "description": "The Service Fabric name, including the 'fabric:' URI scheme."
+ }
+ },
+ "required": [
+ "Name"
+ ]
+ },
+ "FabricName": {
+ "type": "string",
+ "description": "The Service Fabric name, including the 'fabric:' URI scheme."
+ },
+ "PagedSubNameInfoList": {
+ "description": "A paged list of Service Fabric names. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "IsConsistent": {
+ "type": "boolean",
+ "description": "Indicates whether any name under the given name has been modified during the enumeration. If there was a modification, this property value is false."
+ },
+ "SubNames": {
+ "type": "array",
+ "description": "List of the child names.",
+ "items": {
+ "$ref": "#/definitions/FabricName"
+ }
+ }
+ }
+ },
+ "PropertyValueKind": {
+ "type": "string",
+ "description": "The kind of property, determined by the type of data. Following are the possible values.",
+ "enum": [
+ "Invalid",
+ "Binary",
+ "Int64",
+ "Double",
+ "String",
+ "Guid"
+ ],
+ "x-ms-enum": {
+ "name": "PropertyValueKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the property is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Binary",
+ "description": "The data inside the property is a binary blob. The value is 1."
+ },
+ {
+ "value": "Int64",
+ "description": "The data inside the property is an int64. The value is 2."
+ },
+ {
+ "value": "Double",
+ "description": "The data inside the property is a double. The value is 3."
+ },
+ {
+ "value": "String",
+ "description": "The data inside the property is a string. The value is 4."
+ },
+ {
+ "value": "Guid",
+ "description": "The data inside the property is a guid. The value is 5."
+ }
+ ]
+ }
+ },
+ "PropertyValue": {
+ "discriminator": "Kind",
+ "description": "Describes a Service Fabric property value.",
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/PropertyValueKind",
+ "description": "The kind of property, determined by the type of data. Following are the possible values."
+ }
+ },
+ "required": [
+ "Kind"
+ ]
+ },
+ "BinaryPropertyValue": {
+ "description": "Describes a Service Fabric property value of type Binary.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyValue"
+ }
+ ],
+ "x-ms-discriminator-value": "Binary",
+ "required": [
+ "Data"
+ ],
+ "properties": {
+ "Data": {
+ "$ref": "#/definitions/ByteArray",
+ "description": "Array of bytes to be sent as an integer array. Each element of array is a number between 0 and 255."
+ }
+ }
+ },
+ "Int64PropertyValue": {
+ "description": "Describes a Service Fabric property value of type Int64.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyValue"
+ }
+ ],
+ "x-ms-discriminator-value": "Int64",
+ "required": [
+ "Data"
+ ],
+ "properties": {
+ "Data": {
+ "type": "string",
+ "description": "The data of the property value."
+ }
+ }
+ },
+ "DoublePropertyValue": {
+ "description": "Describes a Service Fabric property value of type Double.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyValue"
+ }
+ ],
+ "x-ms-discriminator-value": "Double",
+ "required": [
+ "Data"
+ ],
+ "properties": {
+ "Data": {
+ "type": "number",
+ "format": "double",
+ "description": "The data of the property value."
+ }
+ }
+ },
+ "StringPropertyValue": {
+ "description": "Describes a Service Fabric property value of type String.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyValue"
+ }
+ ],
+ "x-ms-discriminator-value": "String",
+ "required": [
+ "Data"
+ ],
+ "properties": {
+ "Data": {
+ "type": "string",
+ "description": "The data of the property value."
+ }
+ }
+ },
+ "GuidPropertyValue": {
+ "description": "Describes a Service Fabric property value of type Guid.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyValue"
+ }
+ ],
+ "x-ms-discriminator-value": "Guid",
+ "required": [
+ "Data"
+ ],
+ "properties": {
+ "Data": {
+ "type": "string",
+ "format": "uuid",
+ "description": "The data of the property value."
+ }
+ }
+ },
+ "PropertyInfo": {
+ "description": "Information about a Service Fabric property.",
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/PropertyName",
+ "description": "The name of the Service Fabric property."
+ },
+ "Value": {
+ "$ref": "#/definitions/PropertyValue",
+ "description": "Describes a Service Fabric property value."
+ },
+ "Metadata": {
+ "$ref": "#/definitions/PropertyMetadata",
+ "description": "The metadata associated with a property, including the property's name."
+ }
+ },
+ "required": [
+ "Name",
+ "Metadata"
+ ]
+ },
+ "PagedPropertyInfoList": {
+ "description": "The paged list of Service Fabric properties under a given name. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "IsConsistent": {
+ "type": "boolean",
+ "description": "Indicates whether any property under the given name has been modified during the enumeration. If there was a modification, this property value is false."
+ },
+ "Properties": {
+ "type": "array",
+ "description": "List of property information.",
+ "items": {
+ "$ref": "#/definitions/PropertyInfo"
+ }
+ }
+ }
+ },
+ "PropertyDescription": {
+ "description": "Description of a Service Fabric property.",
+ "properties": {
+ "PropertyName": {
+ "$ref": "#/definitions/PropertyName",
+ "description": "The name of the Service Fabric property."
+ },
+ "CustomTypeId": {
+ "$ref": "#/definitions/PropertyCustomTypeId",
+ "description": "The property's custom type ID. Using this property, the user is able to tag the type of the value of the property."
+ },
+ "Value": {
+ "$ref": "#/definitions/PropertyValue",
+ "description": "Describes a Service Fabric property value."
+ }
+ },
+ "required": [
+ "PropertyName",
+ "Value"
+ ]
+ },
+ "PropertyName": {
+ "type": "string",
+ "description": "The name of the Service Fabric property."
+ },
+ "PropertyMetadata": {
+ "description": "The metadata associated with a property, including the property's name.",
+ "properties": {
+ "TypeId": {
+ "$ref": "#/definitions/PropertyValueKind",
+ "description": "The kind of property, determined by the type of data. Following are the possible values."
+ },
+ "CustomTypeId": {
+ "$ref": "#/definitions/PropertyCustomTypeId",
+ "description": "The property's custom type ID."
+ },
+ "Parent": {
+ "$ref": "#/definitions/FabricName",
+ "description": "The name of the parent Service Fabric Name for the property. It could be thought of as the name-space/table under which the property exists."
+ },
+ "SizeInBytes": {
+ "type": "integer",
+ "description": "The length of the serialized property value."
+ },
+ "LastModifiedUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Represents when the Property was last modified. Only write operations will cause this field to be updated."
+ },
+ "SequenceNumber": {
+ "type": "string",
+ "description": "The version of the property. Every time a property is modified, its sequence number is increased."
+ }
+ }
+ },
+ "PropertyCustomTypeId": {
+ "type": "string",
+ "description": "The property's custom type ID. Using this property, the user is able to tag the type of the value of the property."
+ },
+ "PropertyBatchDescriptionList": {
+ "description": "Describes a list of property batch operations to be executed. Either all or none of the operations will be committed.",
+ "properties": {
+ "Operations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PropertyBatchOperation"
+ },
+ "description": "A list of the property batch operations to be executed."
+ }
+ }
+ },
+ "PropertyBatchOperationKind": {
+ "type": "string",
+ "description": "The kind of property batch operation, determined by the operation to be performed. The following are the possible values.",
+ "enum": [
+ "Invalid",
+ "Put",
+ "Get",
+ "CheckExists",
+ "CheckSequence",
+ "Delete",
+ "CheckValue"
+ ],
+ "x-ms-enum": {
+ "name": "PropertyBatchOperationKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the property operation is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Put",
+ "description": "The operation will create or edit a property. The value is 1."
+ },
+ {
+ "value": "Get",
+ "description": "The operation will get a property. The value is 2."
+ },
+ {
+ "value": "CheckExists",
+ "description": "The operation will check that a property exists or doesn't exists, depending on the provided value. The value is 3."
+ },
+ {
+ "value": "CheckSequence",
+ "description": "The operation will ensure that the sequence number is equal to the provided value. The value is 4."
+ },
+ {
+ "value": "Delete",
+ "description": "The operation will delete a property. The value is 5."
+ },
+ {
+ "value": "CheckValue",
+ "description": "The operation will ensure that the value of a property is equal to the provided value. The value is 7."
+ }
+ ]
+ }
+ },
+ "PropertyBatchOperation": {
+ "discriminator": "Kind",
+ "description": "Represents the base type for property operations that can be put into a batch and submitted.",
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/PropertyBatchOperationKind",
+ "description": "The kind of property batch operation, determined by the operation to be performed. The following are the possible values."
+ },
+ "PropertyName": {
+ "$ref": "#/definitions/PropertyName",
+ "description": "The name of the Service Fabric property."
+ }
+ },
+ "required": [
+ "Kind",
+ "PropertyName"
+ ]
+ },
+ "CheckExistsPropertyBatchOperation": {
+ "description": "Represents a PropertyBatchOperation that compares the Boolean existence of a property with the Exists argument.\nThe PropertyBatchOperation operation fails if the property's existence is not equal to the Exists argument.\nThe CheckExistsPropertyBatchOperation is generally used as a precondition for the write operations in the batch.\nNote that if one PropertyBatchOperation in a PropertyBatch fails,\nthe entire batch fails and cannot be committed in a transactional manner.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyBatchOperation"
+ }
+ ],
+ "x-ms-discriminator-value": "CheckExists",
+ "properties": {
+ "Exists": {
+ "type": "boolean",
+ "description": "Whether or not the property should exist for the operation to pass."
+ }
+ },
+ "required": [
+ "Exists"
+ ]
+ },
+ "CheckSequencePropertyBatchOperation": {
+ "description": "Compares the Sequence Number of a property with the SequenceNumber argument.\nA property's sequence number can be thought of as that property's version.\nEvery time the property is modified, its sequence number is increased.\nThe sequence number can be found in a property's metadata.\nThe comparison fails if the sequence numbers are not equal.\nCheckSequencePropertyBatchOperation is generally used as a precondition for the write operations in the batch.\nNote that if one PropertyBatchOperation in a PropertyBatch fails,\nthe entire batch fails and cannot be committed in a transactional manner.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyBatchOperation"
+ }
+ ],
+ "x-ms-discriminator-value": "CheckSequence",
+ "properties": {
+ "SequenceNumber": {
+ "type": "string",
+ "description": "The expected sequence number."
+ }
+ },
+ "required": [
+ "SequenceNumber"
+ ]
+ },
+ "CheckValuePropertyBatchOperation": {
+ "description": "Represents a PropertyBatchOperation that compares the value of the property with the expected value.\nThe CheckValuePropertyBatchOperation is generally used as a precondition for the write operations in the batch.\nNote that if one PropertyBatchOperation in a PropertyBatch fails,\nthe entire batch fails and cannot be committed in a transactional manner.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyBatchOperation"
+ }
+ ],
+ "x-ms-discriminator-value": "CheckValue",
+ "properties": {
+ "Value": {
+ "$ref": "#/definitions/PropertyValue",
+ "description": "The expected property value."
+ }
+ },
+ "required": [
+ "Value"
+ ]
+ },
+ "DeletePropertyBatchOperation": {
+ "description": "Represents a PropertyBatchOperation that deletes a specified property if it exists.\nNote that if one PropertyBatchOperation in a PropertyBatch fails,\nthe entire batch fails and cannot be committed in a transactional manner.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyBatchOperation"
+ }
+ ],
+ "x-ms-discriminator-value": "Delete"
+ },
+ "GetPropertyBatchOperation": {
+ "description": "Represents a PropertyBatchOperation that gets the specified property if it exists.\nNote that if one PropertyBatchOperation in a PropertyBatch fails,\nthe entire batch fails and cannot be committed in a transactional manner.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyBatchOperation"
+ }
+ ],
+ "x-ms-discriminator-value": "Get",
+ "properties": {
+ "IncludeValue": {
+ "type": "boolean",
+ "default": false,
+ "description": "Whether or not to return the property value with the metadata.\nTrue if values should be returned with the metadata; False to return only property metadata."
+ }
+ }
+ },
+ "PutPropertyBatchOperation": {
+ "description": "Puts the specified property under the specified name.\nNote that if one PropertyBatchOperation in a PropertyBatch fails,\nthe entire batch fails and cannot be committed in a transactional manner.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyBatchOperation"
+ }
+ ],
+ "x-ms-discriminator-value": "Put",
+ "properties": {
+ "Value": {
+ "$ref": "#/definitions/PropertyValue",
+ "description": "Describes a Service Fabric property value."
+ },
+ "CustomTypeId": {
+ "$ref": "#/definitions/PropertyCustomTypeId",
+ "description": "The property's custom type ID. Using this property, the user is able to tag the type of the value of the property."
+ }
+ },
+ "required": [
+ "Value"
+ ]
+ },
+ "PropertyBatchInfoKind": {
+ "type": "string",
+ "description": "The kind of property batch info, determined by the results of a property batch. The following are the possible values.",
+ "enum": [
+ "Invalid",
+ "Successful",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "PropertyBatchInfoKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the property batch info is invalid. All Service Fabric enumerations have the invalid type."
+ },
+ {
+ "value": "Successful",
+ "description": "The property batch succeeded."
+ },
+ {
+ "value": "Failed",
+ "description": "The property batch failed."
+ }
+ ]
+ }
+ },
+ "PropertyBatchInfo": {
+ "discriminator": "Kind",
+ "description": "Information about the results of a property batch.",
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/PropertyBatchInfoKind",
+ "description": "The kind of property batch info, determined by the results of a property batch. The following are the possible values."
+ }
+ },
+ "required": [
+ "Kind"
+ ]
+ },
+ "SuccessfulPropertyBatchInfo": {
+ "description": "Derived from PropertyBatchInfo. Represents the property batch succeeding. Contains the results of any \"Get\" operations in the batch.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyBatchInfo"
+ }
+ ],
+ "x-ms-discriminator-value": "Successful",
+ "properties": {
+ "Properties": {
+ "additionalProperties": {
+ "$ref": "#/definitions/PropertyInfo"
+ },
+ "description": "A map containing the properties that were requested through any \"Get\" property batch operations. The key represents the index of the \"Get\" operation in the original request, in string form. The value is the property. If a property is not found, it will not be in the map."
+ }
+ }
+ },
+ "FailedPropertyBatchInfo": {
+ "description": "Derived from PropertyBatchInfo. Represents the property batch failing. Contains information about the specific batch failure.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyBatchInfo"
+ }
+ ],
+ "x-ms-discriminator-value": "Failed",
+ "properties": {
+ "ErrorMessage": {
+ "type": "string",
+ "description": "The error message of the failed operation. Describes the exception thrown due to the first unsuccessful operation in the property batch."
+ },
+ "OperationIndex": {
+ "type": "integer",
+ "description": "The index of the unsuccessful operation in the property batch."
+ }
+ }
+ },
+ "EntityKind": {
+ "type": "string",
+ "description": "The entity type of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc.",
+ "enum": [
+ "Invalid",
+ "Node",
+ "Partition",
+ "Service",
+ "Application",
+ "Replica",
+ "DeployedApplication",
+ "DeployedServicePackage",
+ "Cluster"
+ ],
+ "x-ms-enum": {
+ "name": "EntityKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid entity kind. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Node",
+ "description": "Indicates the entity is a Service Fabric node. The value is 1."
+ },
+ {
+ "value": "Partition",
+ "description": "Indicates the entity is a Service Fabric partition. The value is 2."
+ },
+ {
+ "value": "Service",
+ "description": "Indicates the entity is a Service Fabric service. The value is 3."
+ },
+ {
+ "value": "Application",
+ "description": "Indicates the entity is a Service Fabric application. The value is 4."
+ },
+ {
+ "value": "Replica",
+ "description": "Indicates the entity is a Service Fabric replica. The value is 5."
+ },
+ {
+ "value": "DeployedApplication",
+ "description": "Indicates the entity is a Service Fabric deployed application. The value is 6."
+ },
+ {
+ "value": "DeployedServicePackage",
+ "description": "Indicates the entity is a Service Fabric deployed service package. The value is 7."
+ },
+ {
+ "value": "Cluster",
+ "description": "Indicates the entity is a Service Fabric cluster. The value is 8."
+ }
+ ]
+ }
+ },
+ "HealthStateCount": {
+ "description": "Represents information about how many health entities are in Ok, Warning and Error health state.",
+ "properties": {
+ "OkCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The number of health entities with aggregated health state Ok.",
+ "minimum": 0
+ },
+ "WarningCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The number of health entities with aggregated health state Warning.",
+ "minimum": 0
+ },
+ "ErrorCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The number of health entities with aggregated health state Error.",
+ "minimum": 0
+ }
+ }
+ },
+ "EntityKindHealthStateCount": {
+ "description": "Represents health state count for entities of the specified entity kind.",
+ "properties": {
+ "EntityKind": {
+ "$ref": "#/definitions/EntityKind",
+ "description": "The entity kind for which health states are evaluated."
+ },
+ "HealthStateCount": {
+ "$ref": "#/definitions/HealthStateCount",
+ "description": "The health state count for the entities of the specified kind."
+ }
+ }
+ },
+ "HealthStatistics": {
+ "description": "The health statistics of an entity, returned as part of the health query result when the query description is configured to include statistics.\nThe statistics include health state counts for all children types of the current entity.\nFor example, for cluster, the health statistics include health state counts for nodes, applications, services, partitions, replicas, deployed applications and deployed service packages.\nFor partition, the health statistics include health counts for replicas.",
+ "properties": {
+ "HealthStateCountList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntityKindHealthStateCount"
+ },
+ "description": "List of health state counts per entity kind, which keeps track of how many children of the queried entity are in Ok, Warning and Error state."
+ }
+ }
+ },
+ "BackupPolicyDescription": {
+ "description": "Describes a backup policy for configuring periodic backup.",
+ "required": [
+ "Name",
+ "AutoRestoreOnDataLoss",
+ "Schedule",
+ "MaxIncrementalBackups",
+ "Storage"
+ ],
+ "properties": {
+ "Name": {
+ "type": "string",
+ "description": "The unique name identifying this backup policy."
+ },
+ "AutoRestoreOnDataLoss": {
+ "type": "boolean",
+ "description": "Specifies whether to trigger restore automatically using the latest available backup in case the partition experiences a data loss event."
+ },
+ "MaxIncrementalBackups": {
+ "type": "integer",
+ "minimum": 0,
+ "maximum": 255,
+ "description": "Defines the maximum number of incremental backups to be taken between two full backups. This is just the upper limit. A full backup may be taken before specified number of incremental backups are completed in one of the following conditions\n- The replica has never taken a full backup since it has become primary,\n- Some of the log records since the last backup has been truncated, or\n- Replica passed the MaxAccumulatedBackupLogSizeInMB limit."
+ },
+ "Schedule": {
+ "$ref": "#/definitions/BackupScheduleDescription",
+ "description": "Describes the backup schedule parameters."
+ },
+ "Storage": {
+ "$ref": "#/definitions/BackupStorageDescription",
+ "description": "Describes the details of backup storage where to store the periodic backups."
+ },
+ "RetentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicyDescription",
+ "description": "Describes the policy to retain backups in storage."
+ }
+ }
+ },
+ "PagedBackupPolicyDescriptionList": {
+ "description": "The list of backup policies configured in the cluster. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "The list of backup policies information.",
+ "items": {
+ "$ref": "#/definitions/BackupPolicyDescription"
+ }
+ }
+ }
+ },
+ "BasicRetentionPolicyDescription": {
+ "description": "Describes basic retention policy.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RetentionPolicyDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "Basic",
+ "required": [
+ "RetentionDuration"
+ ],
+ "properties": {
+ "RetentionDuration": {
+ "type": "string",
+ "format": "duration",
+ "description": "It is the minimum duration for which a backup created, will remain stored in the storage and might get deleted after that span of time. It should be specified in ISO8601 format."
+ },
+ "MinimumNumberOfBackups": {
+ "type": "integer",
+ "minimum": 0,
+ "description": "It is the minimum number of backups to be retained at any point of time. If specified with a non zero value, backups will not be deleted even if the backups have gone past retention duration and have number of backups less than or equal to it."
+ }
+ }
+ },
+ "RetentionPolicyType": {
+ "type": "string",
+ "description": "The type of retention policy. Currently only \"Basic\" retention policy is supported.",
+ "enum": [
+ "Basic",
+ "Invalid"
+ ],
+ "x-ms-enum": {
+ "name": "RetentionPolicyType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Basic",
+ "description": "Indicates a basic retention policy type."
+ },
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid retention policy type."
+ }
+ ]
+ }
+ },
+ "DisableBackupDescription": {
+ "description": "It describes the body parameters while disabling backup of a backup entity(Application/Service/Partition).",
+ "required": [
+ "CleanBackup"
+ ],
+ "properties": {
+ "CleanBackup": {
+ "type": "boolean",
+ "description": "Boolean flag to delete backups. It can be set to true for deleting all the backups which were created for the backup entity that is getting disabled for backup."
+ }
+ }
+ },
+ "RetentionPolicyDescription": {
+ "description": "Describes the retention policy configured.",
+ "required": [
+ "RetentionPolicyType"
+ ],
+ "discriminator": "RetentionPolicyType",
+ "properties": {
+ "RetentionPolicyType": {
+ "$ref": "#/definitions/RetentionPolicyType",
+ "description": "The type of retention policy. Currently only \"Basic\" retention policy is supported."
+ }
+ }
+ },
+ "BackupStorageDescription": {
+ "required": [
+ "StorageKind"
+ ],
+ "discriminator": "StorageKind",
+ "properties": {
+ "StorageKind": {
+ "$ref": "#/definitions/BackupStorageKind",
+ "description": "The kind of backup storage, where backups are saved."
+ },
+ "FriendlyName": {
+ "type": "string",
+ "description": "Friendly name for this backup storage."
+ }
+ },
+ "description": "Describes the parameters for the backup storage."
+ },
+ "BackupStorageKind": {
+ "type": "string",
+ "description": "The kind of backup storage, where backups are saved.",
+ "enum": [
+ "Invalid",
+ "FileShare",
+ "AzureBlobStore"
+ ],
+ "x-ms-enum": {
+ "name": "BackupStorageKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid backup storage kind. All Service Fabric enumerations have the invalid type."
+ },
+ {
+ "value": "FileShare",
+ "description": "Indicates file/ SMB share to be used as backup storage."
+ },
+ {
+ "value": "AzureBlobStore",
+ "description": "Indicates Azure blob store to be used as backup storage."
+ }
+ ]
+ }
+ },
+ "BackupScheduleDescription": {
+ "description": "Describes the backup schedule parameters.",
+ "required": [
+ "ScheduleKind"
+ ],
+ "discriminator": "ScheduleKind",
+ "properties": {
+ "ScheduleKind": {
+ "$ref": "#/definitions/BackupScheduleKind",
+ "description": "The kind of backup schedule, time based or frequency based."
+ }
+ }
+ },
+ "BackupScheduleKind": {
+ "type": "string",
+ "description": "The kind of backup schedule, time based or frequency based.",
+ "enum": [
+ "Invalid",
+ "TimeBased",
+ "FrequencyBased"
+ ],
+ "x-ms-enum": {
+ "name": "BackupScheduleKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid backup schedule kind. All Service Fabric enumerations have the invalid type."
+ },
+ {
+ "value": "TimeBased",
+ "description": "Indicates a time-based backup schedule."
+ },
+ {
+ "value": "FrequencyBased",
+ "description": "Indicates a frequency-based backup schedule."
+ }
+ ]
+ }
+ },
+ "ApplicationBackupConfigurationInfo": {
+ "description": "Backup configuration information for a specific Service Fabric application specifying what backup policy is being applied and suspend description, if any.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupConfigurationInfo"
+ }
+ ],
+ "properties": {
+ "ApplicationName": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ }
+ },
+ "x-ms-discriminator-value": "Application"
+ },
+ "ServiceBackupConfigurationInfo": {
+ "description": "Backup configuration information for a specific Service Fabric service specifying what backup policy is being applied and suspend description, if any.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupConfigurationInfo"
+ }
+ ],
+ "properties": {
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The full name of the service with 'fabric:' URI scheme."
+ }
+ },
+ "x-ms-discriminator-value": "Service"
+ },
+ "PagedBackupConfigurationInfoList": {
+ "description": "The list of backup configuration information. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "List of backup configuration information.",
+ "items": {
+ "$ref": "#/definitions/BackupConfigurationInfo"
+ }
+ }
+ }
+ },
+ "BackupPolicyScope": {
+ "type": "string",
+ "description": "Specifies the scope at which the backup policy is applied.",
+ "enum": [
+ "Invalid",
+ "Partition",
+ "Service",
+ "Application"
+ ],
+ "x-ms-enum": {
+ "name": "BackupPolicyScope",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid backup policy scope type. All Service Fabric enumerations have the invalid type."
+ },
+ {
+ "value": "Partition",
+ "description": "Indicates the backup policy is applied at partition level. Hence overriding any policy which may have applied at partition's service or application level."
+ },
+ {
+ "value": "Service",
+ "description": "Indicates the backup policy is applied at service level. All partitions of the service inherit this policy unless explicitly overridden at partition level."
+ },
+ {
+ "value": "Application",
+ "description": "Indicates the backup policy is applied at application level. All services and partitions of the application inherit this policy unless explicitly overridden at service or partition level."
+ }
+ ]
+ }
+ },
+ "BackupSuspensionScope": {
+ "type": "string",
+ "description": "Specifies the scope at which the backup suspension was applied.",
+ "enum": [
+ "Invalid",
+ "Partition",
+ "Service",
+ "Application"
+ ],
+ "x-ms-enum": {
+ "name": "BackupSuspensionScope",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid backup suspension scope type also indicating entity is not suspended. All Service Fabric enumerations have the invalid type."
+ },
+ {
+ "value": "Partition",
+ "description": "Indicates the backup suspension is applied at partition level."
+ },
+ {
+ "value": "Service",
+ "description": "Indicates the backup suspension is applied at service level. All partitions of the service are hence suspended for backup."
+ },
+ {
+ "value": "Application",
+ "description": "Indicates the backup suspension is applied at application level. All services and partitions of the application are hence suspended for backup."
+ }
+ ]
+ }
+ },
+ "RestorePartitionDescription": {
+ "description": "Specifies the parameters needed to trigger a restore of a specific partition.",
+ "required": [
+ "BackupId",
+ "BackupLocation"
+ ],
+ "properties": {
+ "BackupId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Unique backup ID."
+ },
+ "BackupLocation": {
+ "type": "string",
+ "description": "Location of the backup relative to the backup storage specified/ configured."
+ },
+ "BackupStorage": {
+ "$ref": "#/definitions/BackupStorageDescription",
+ "description": "Location of the backup from where the partition will be restored."
+ }
+ }
+ },
+ "RestoreProgressInfo": {
+ "description": "Describes the progress of a restore operation on a partition.",
+ "properties": {
+ "RestoreState": {
+ "$ref": "#/definitions/RestoreState",
+ "description": "Represents the current state of the partition restore operation."
+ },
+ "TimeStampUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Timestamp when operation succeeded or failed."
+ },
+ "RestoredEpoch": {
+ "$ref": "#/definitions/Epoch",
+ "description": "Describes the epoch at which the partition is restored."
+ },
+ "RestoredLsn": {
+ "type": "string",
+ "description": "Restored LSN."
+ },
+ "FailureError": {
+ "$ref": "#/definitions/FabricErrorError",
+ "description": "Denotes the failure encountered in performing restore operation."
+ }
+ }
+ },
+ "RestoreState": {
+ "type": "string",
+ "description": "Represents the current state of the partition restore operation.",
+ "enum": [
+ "Invalid",
+ "Accepted",
+ "RestoreInProgress",
+ "Success",
+ "Failure",
+ "Timeout"
+ ],
+ "x-ms-enum": {
+ "name": "RestoreState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid restore state. All Service Fabric enumerations have the invalid type."
+ },
+ {
+ "value": "Accepted",
+ "description": "Operation has been validated and accepted. Restore is yet to be triggered."
+ },
+ {
+ "value": "RestoreInProgress",
+ "description": "Restore operation has been triggered and is under process."
+ },
+ {
+ "value": "Success",
+ "description": "Operation completed with success."
+ },
+ {
+ "value": "Failure",
+ "description": "Operation completed with failure."
+ },
+ {
+ "value": "Timeout",
+ "description": "Operation timed out."
+ }
+ ]
+ }
+ },
+ "BackupPartitionDescription": {
+ "description": "Describes the parameters for triggering partition's backup.",
+ "properties": {
+ "BackupStorage": {
+ "$ref": "#/definitions/BackupStorageDescription",
+ "description": "Specifies the details of the backup storage where to save the backup."
+ }
+ }
+ },
+ "BackupInfo": {
+ "description": "Represents a backup point which can be used to trigger a restore.",
+ "properties": {
+ "BackupId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Unique backup ID ."
+ },
+ "BackupChainId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Unique backup chain ID. All backups part of the same chain has the same backup chain id. A backup chain is comprised of 1 full backup and multiple incremental backups."
+ },
+ "ApplicationName": {
+ "type": "string",
+ "description": "Name of the Service Fabric application this partition backup belongs to."
+ },
+ "ServiceName": {
+ "type": "string",
+ "description": "Name of the Service Fabric service this partition backup belongs to."
+ },
+ "PartitionInformation": {
+ "$ref": "#/definitions/PartitionInformation",
+ "description": "Information about the partition to which this backup belongs to"
+ },
+ "BackupLocation": {
+ "type": "string",
+ "description": "Location of the backup, relative to the backup store."
+ },
+ "BackupType": {
+ "$ref": "#/definitions/BackupType",
+ "description": "Describes the type of backup, whether its full or incremental."
+ },
+ "EpochOfLastBackupRecord": {
+ "$ref": "#/definitions/Epoch",
+ "description": "Epoch of the last record in this backup."
+ },
+ "LsnOfLastBackupRecord": {
+ "type": "string",
+ "description": "LSN of the last record in this backup."
+ },
+ "CreationTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date time when this backup was taken."
+ },
+ "ServiceManifestVersion": {
+ "type": "string",
+ "description": "Manifest Version of the service this partition backup belongs to."
+ },
+ "FailureError": {
+ "$ref": "#/definitions/FabricErrorError",
+ "description": "Denotes the failure encountered in getting backup point information."
+ }
+ }
+ },
+ "PagedBackupInfoList": {
+ "description": "The list of backups. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "List of backup information.",
+ "items": {
+ "$ref": "#/definitions/BackupInfo"
+ }
+ }
+ }
+ },
+ "BackupType": {
+ "type": "string",
+ "description": "Describes the type of backup, whether its full or incremental.",
+ "enum": [
+ "Invalid",
+ "Full",
+ "Incremental"
+ ],
+ "x-ms-enum": {
+ "name": "BackupType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid backup type. All Service Fabric enumerations have the invalid type."
+ },
+ {
+ "value": "Full",
+ "description": "Indicates a full backup."
+ },
+ {
+ "value": "Incremental",
+ "description": "Indicates an incremental backup. A backup chain is comprised of a full backup followed by 0 or more incremental backups."
+ }
+ ]
+ }
+ },
+ "AzureBlobBackupStorageDescription": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupStorageDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureBlobStore",
+ "required": [
+ "ConnectionString",
+ "ContainerName"
+ ],
+ "properties": {
+ "ConnectionString": {
+ "type": "string",
+ "description": "The connection string to connect to the Azure blob store."
+ },
+ "ContainerName": {
+ "type": "string",
+ "description": "The name of the container in the blob store to store and enumerate backups from."
+ }
+ },
+ "description": "Describes the parameters for Azure blob store used for storing and enumerating backups."
+ },
+ "FileShareBackupStorageDescription": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupStorageDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "FileShare",
+ "required": [
+ "Path"
+ ],
+ "description": "Describes the parameters for file share storage used for storing or enumerating backups.",
+ "properties": {
+ "Path": {
+ "type": "string",
+ "description": "UNC path of the file share where to store or enumerate backups from."
+ },
+ "PrimaryUserName": {
+ "type": "string",
+ "description": "Primary user name to access the file share."
+ },
+ "PrimaryPassword": {
+ "type": "string",
+ "description": "Primary password to access the share location."
+ },
+ "SecondaryUserName": {
+ "type": "string",
+ "description": "Secondary user name to access the file share."
+ },
+ "SecondaryPassword": {
+ "type": "string",
+ "description": "Secondary password to access the share location"
+ }
+ }
+ },
+ "FrequencyBasedBackupScheduleDescription": {
+ "description": "Describes the frequency based backup schedule.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupScheduleDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "FrequencyBased",
+ "required": [
+ "Interval"
+ ],
+ "properties": {
+ "Interval": {
+ "type": "string",
+ "format": "duration",
+ "description": "Defines the interval with which backups are periodically taken. It should be specified in ISO8601 format. Timespan in seconds is not supported and will be ignored while creating the policy."
+ }
+ }
+ },
+ "TimeBasedBackupScheduleDescription": {
+ "description": "Describes the time based backup schedule.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupScheduleDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "TimeBased",
+ "required": [
+ "ScheduleFrequencyType",
+ "RunTimes"
+ ],
+ "properties": {
+ "ScheduleFrequencyType": {
+ "$ref": "#/definitions/BackupScheduleFrequencyType",
+ "description": "Describes the frequency with which to run the time based backup schedule."
+ },
+ "RunDays": {
+ "$ref": "#/definitions/DayOfWeekList",
+ "description": "List of days of a week when to trigger the periodic backup. This is valid only when the backup schedule frequency type is weekly."
+ },
+ "RunTimes": {
+ "$ref": "#/definitions/TimeList",
+ "description": "Represents the list of exact time during the day in ISO8601 format. Like '19:00:00' will represent '7PM' during the day. Date specified along with time will be ignored."
+ }
+ }
+ },
+ "BackupScheduleFrequencyType": {
+ "type": "string",
+ "description": "Describes the frequency with which to run the time based backup schedule.",
+ "enum": [
+ "Invalid",
+ "Daily",
+ "Weekly"
+ ],
+ "x-ms-enum": {
+ "name": "BackupScheduleFrequencyType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid backup schedule frequency type. All Service Fabric enumerations have the invalid type."
+ },
+ {
+ "value": "Daily",
+ "description": "Indicates that the time based backup schedule is repeated at a daily frequency."
+ },
+ {
+ "value": "Weekly",
+ "description": "Indicates that the time based backup schedule is repeated at a weekly frequency."
+ }
+ ]
+ }
+ },
+ "TimeList": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "description": "Represents the list of exact time during the day in ISO8601 format. Like '19:00:00' will represent '7PM' during the day. Date specified along with time will be ignored."
+ },
+ "DayOfWeekList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DayOfWeek"
+ },
+ "description": "List of days of a week when to trigger the periodic backup. This is valid only when the backup schedule frequency type is weekly."
+ },
+ "DayOfWeek": {
+ "type": "string",
+ "description": "Describes the days in a week.",
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Sunday",
+ "description": "Indicates the Day referred is Sunday."
+ },
+ {
+ "value": "Monday",
+ "description": "Indicates the Day referred is Monday."
+ },
+ {
+ "value": "Tuesday",
+ "description": "Indicates the Day referred is Tuesday."
+ },
+ {
+ "value": "Wednesday",
+ "description": "Indicates the Day referred is Wednesday."
+ },
+ {
+ "value": "Thursday",
+ "description": "Indicates the Day referred is Thursday."
+ },
+ {
+ "value": "Friday",
+ "description": "Indicates the Day referred is Friday."
+ },
+ {
+ "value": "Saturday",
+ "description": "Indicates the Day referred is Saturday."
+ }
+ ]
+ }
+ },
+ "BackupProgressInfo": {
+ "description": "Describes the progress of a partition's backup.",
+ "properties": {
+ "BackupState": {
+ "$ref": "#/definitions/BackupState",
+ "description": "Represents the current state of the partition backup operation."
+ },
+ "TimeStampUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "TimeStamp in UTC when operation succeeded or failed."
+ },
+ "BackupId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Unique ID of the newly created backup."
+ },
+ "BackupLocation": {
+ "type": "string",
+ "description": "Location, relative to the backup store, of the newly created backup."
+ },
+ "EpochOfLastBackupRecord": {
+ "$ref": "#/definitions/Epoch",
+ "description": "Specifies the epoch of the last record included in backup."
+ },
+ "LsnOfLastBackupRecord": {
+ "type": "string",
+ "description": "The LSN of last record included in backup."
+ },
+ "FailureError": {
+ "$ref": "#/definitions/FabricErrorError",
+ "description": "Denotes the failure encountered in performing backup operation."
+ }
+ }
+ },
+ "BackupConfigurationInfo": {
+ "discriminator": "Kind",
+ "description": "Describes the backup configuration information.",
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/BackupEntityKind",
+ "description": "The entity type of a Service Fabric entity such as Application, Service or a Partition where periodic backups can be enabled."
+ },
+ "PolicyName": {
+ "description": "The name of the backup policy which is applicable to this Service Fabric application or service or partition.",
+ "type": "string"
+ },
+ "PolicyInheritedFrom": {
+ "$ref": "#/definitions/BackupPolicyScope",
+ "description": "Specifies the scope at which the backup policy is applied."
+ },
+ "SuspensionInfo": {
+ "$ref": "#/definitions/BackupSuspensionInfo",
+ "description": "Describes the backup suspension details."
+ }
+ },
+ "required": [
+ "Kind"
+ ]
+ },
+ "PartitionBackupConfigurationInfo": {
+ "description": "Backup configuration information, for a specific partition, specifying what backup policy is being applied and suspend description, if any.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupConfigurationInfo"
+ }
+ ],
+ "properties": {
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The full name of the service with 'fabric:' URI scheme."
+ },
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "The partition ID identifying the partition."
+ }
+ },
+ "x-ms-discriminator-value": "Partition"
+ },
+ "BackupState": {
+ "type": "string",
+ "description": "Represents the current state of the partition backup operation.",
+ "enum": [
+ "Invalid",
+ "Accepted",
+ "BackupInProgress",
+ "Success",
+ "Failure",
+ "Timeout"
+ ],
+ "x-ms-enum": {
+ "name": "BackupState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid backup state. All Service Fabric enumerations have the invalid type."
+ },
+ {
+ "value": "Accepted",
+ "description": "Operation has been validated and accepted. Backup is yet to be triggered."
+ },
+ {
+ "value": "BackupInProgress",
+ "description": "Backup operation has been triggered and is under process."
+ },
+ {
+ "value": "Success",
+ "description": "Operation completed with success."
+ },
+ {
+ "value": "Failure",
+ "description": "Operation completed with failure."
+ },
+ {
+ "value": "Timeout",
+ "description": "Operation timed out."
+ }
+ ]
+ }
+ },
+ "BackupEntity": {
+ "discriminator": "EntityKind",
+ "description": "Describes the Service Fabric entity that is configured for backup.",
+ "properties": {
+ "EntityKind": {
+ "$ref": "#/definitions/BackupEntityKind",
+ "description": "The entity type of a Service Fabric entity such as Application, Service or a Partition where periodic backups can be enabled."
+ }
+ },
+ "required": [
+ "EntityKind"
+ ]
+ },
+ "ApplicationBackupEntity": {
+ "description": "Identifies the Service Fabric application which is being backed up.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupEntity"
+ }
+ ],
+ "properties": {
+ "ApplicationName": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ }
+ },
+ "x-ms-discriminator-value": "Application"
+ },
+ "ServiceBackupEntity": {
+ "description": "Identifies the Service Fabric stateful service which is being backed up.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupEntity"
+ }
+ ],
+ "properties": {
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The full name of the service with 'fabric:' URI scheme."
+ }
+ },
+ "x-ms-discriminator-value": "Service"
+ },
+ "PartitionBackupEntity": {
+ "description": "Identifies the Service Fabric stateful partition which is being backed up.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupEntity"
+ }
+ ],
+ "properties": {
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The full name of the service with 'fabric:' URI scheme."
+ },
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "The partition ID identifying the partition."
+ }
+ },
+ "x-ms-discriminator-value": "Partition"
+ },
+ "EnableBackupDescription": {
+ "description": "Specifies the parameters needed to enable periodic backup.",
+ "required": [
+ "BackupPolicyName"
+ ],
+ "properties": {
+ "BackupPolicyName": {
+ "type": "string",
+ "description": "Name of the backup policy to be used for enabling periodic backups."
+ }
+ }
+ },
+ "PagedBackupEntityList": {
+ "description": "The list of backup entities that are being periodically backed. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "List of backup entity information.",
+ "items": {
+ "$ref": "#/definitions/BackupEntity"
+ }
+ }
+ }
+ },
+ "BackupSuspensionInfo": {
+ "description": "Describes the backup suspension details.",
+ "properties": {
+ "IsSuspended": {
+ "type": "boolean",
+ "description": "Indicates whether periodic backup is suspended at this level or not."
+ },
+ "SuspensionInheritedFrom": {
+ "$ref": "#/definitions/BackupSuspensionScope",
+ "description": "Specifies the scope at which the backup suspension was applied."
+ }
+ }
+ },
+ "BackupEntityKind": {
+ "type": "string",
+ "description": "The entity type of a Service Fabric entity such as Application, Service or a Partition where periodic backups can be enabled.",
+ "enum": [
+ "Invalid",
+ "Partition",
+ "Service",
+ "Application"
+ ],
+ "x-ms-enum": {
+ "name": "BackupEntityKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid entity kind. All Service Fabric enumerations have the invalid type."
+ },
+ {
+ "value": "Partition",
+ "description": "Indicates the entity is a Service Fabric partition."
+ },
+ {
+ "value": "Service",
+ "description": "Indicates the entity is a Service Fabric service."
+ },
+ {
+ "value": "Application",
+ "description": "Indicates the entity is a Service Fabric application."
+ }
+ ]
+ }
+ },
+ "GetBackupByStorageQueryDescription": {
+ "description": "Describes additional filters to be applied, while listing backups, and backup storage details from where to fetch the backups.",
+ "required": [
+ "Storage",
+ "BackupEntity"
+ ],
+ "properties": {
+ "StartDateTimeFilter": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Specifies the start date time in ISO8601 from which to enumerate backups. If not specified, backups are enumerated from the beginning."
+ },
+ "EndDateTimeFilter": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Specifies the end date time in ISO8601 till which to enumerate backups. If not specified, backups are enumerated till the end."
+ },
+ "Latest": {
+ "type": "boolean",
+ "default": false,
+ "description": "If specified as true, gets the most recent backup (within the specified time range) for every partition under the specified backup entity."
+ },
+ "Storage": {
+ "$ref": "#/definitions/BackupStorageDescription",
+ "description": "Describes the parameters for the backup storage from where to enumerate backups. This is optional and by default backups are enumerated from the backup storage where this backup entity is currently being backed up (as specified in backup policy). This parameter is useful to be able to enumerate backups from another cluster where you may intend to restore."
+ },
+ "BackupEntity": {
+ "$ref": "#/definitions/BackupEntity",
+ "description": "Indicates the entity for which to enumerate backups."
+ }
+ }
+ },
+ "NodeImpact": {
+ "description": "Describes the expected impact of a repair to a particular node.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "properties": {
+ "NodeName": {
+ "type": "string",
+ "description": "The name of the impacted node."
+ },
+ "ImpactLevel": {
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "None",
+ "Restart",
+ "RemoveData",
+ "RemoveNode"
+ ],
+ "description": "The level of impact expected.",
+ "x-ms-enum": {
+ "name": "ImpactLevel",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid"
+ },
+ {
+ "value": "None"
+ },
+ {
+ "value": "Restart"
+ },
+ {
+ "value": "RemoveData"
+ },
+ {
+ "value": "RemoveNode"
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "NodeName"
+ ]
+ },
+ "NodeRepairImpactDescription": {
+ "description": "Describes the expected impact of a repair on a set of nodes.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "x-ms-discriminator-value": "Node",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RepairImpactDescriptionBase"
+ }
+ ],
+ "properties": {
+ "NodeImpactList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NodeImpact"
+ },
+ "description": "The list of nodes impacted by a repair action and their respective expected impact."
+ }
+ }
+ },
+ "NodeRepairTargetDescription": {
+ "description": "Describes the list of nodes targeted by a repair action.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "x-ms-discriminator-value": "Node",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RepairTargetDescriptionBase"
+ }
+ ],
+ "properties": {
+ "NodeNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of nodes targeted by a repair action."
+ }
+ }
+ },
+ "RepairImpactDescriptionBase": {
+ "discriminator": "Kind",
+ "description": "Describes the expected impact of executing a repair task.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/RepairImpactKind",
+ "description": "The kind of repair impact represented by the current object."
+ }
+ },
+ "required": [
+ "Kind"
+ ]
+ },
+ "RepairImpactKind": {
+ "description": "Specifies the kind of the impact. This type supports the Service Fabric platform; it is not meant to be used directly from your code.'",
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "Node"
+ ],
+ "x-ms-enum": {
+ "name": "RepairImpactKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "The repair impact is not valid or is of an unknown type."
+ },
+ {
+ "value": "Node",
+ "description": "The repair impact affects a set of Service Fabric nodes."
+ }
+ ]
+ }
+ },
+ "RepairTargetDescriptionBase": {
+ "discriminator": "Kind",
+ "description": "Describes the entities targeted by a repair action.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/RepairTargetKind",
+ "description": "The kind of repair target described by the current object."
+ }
+ },
+ "required": [
+ "Kind"
+ ]
+ },
+ "RepairTargetKind": {
+ "description": "Specifies the kind of the repair target. This type supports the Service Fabric platform; it is not meant to be used directly from your code.'",
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "Node"
+ ],
+ "x-ms-enum": {
+ "name": "RepairTargetKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "The repair target is not valid or is of an unknown type."
+ },
+ {
+ "value": "Node",
+ "description": "The repair target is a set of Service Fabric nodes."
+ }
+ ]
+ }
+ },
+ "RepairTask": {
+ "description": "Represents a repair task, which includes information about what kind of repair was requested, what its progress is, and what its final result was.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "properties": {
+ "TaskId": {
+ "type": "string",
+ "description": "The ID of the repair task."
+ },
+ "Version": {
+ "type": "string",
+ "description": "The version of the repair task.\nWhen creating a new repair task, the version must be set to zero. When updating a repair task,\nthe version is used for optimistic concurrency checks. If the version is\nset to zero, the update will not check for write conflicts. If the version is set to a non-zero value, then the\nupdate will only succeed if the actual current version of the repair task matches this value."
+ },
+ "Description": {
+ "type": "string",
+ "description": "A description of the purpose of the repair task, or other informational details.\nMay be set when the repair task is created, and is immutable once set."
+ },
+ "State": {
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "Created",
+ "Claimed",
+ "Preparing",
+ "Approved",
+ "Executing",
+ "Restoring",
+ "Completed"
+ ],
+ "description": "The workflow state of the repair task. Valid initial states are Created, Claimed, and Preparing.",
+ "x-ms-enum": {
+ "name": "State",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates that the repair task state is invalid. All Service Fabric enumerations have the invalid value."
+ },
+ {
+ "value": "Created",
+ "description": "Indicates that the repair task has been created."
+ },
+ {
+ "value": "Claimed",
+ "description": "Indicates that the repair task has been claimed by a repair executor."
+ },
+ {
+ "value": "Preparing",
+ "description": "Indicates that the Repair Manager is preparing the system to handle the impact of the repair task, usually by taking resources offline gracefully."
+ },
+ {
+ "value": "Approved",
+ "description": "Indicates that the repair task has been approved by the Repair Manager and is safe to execute."
+ },
+ {
+ "value": "Executing",
+ "description": "Indicates that execution of the repair task is in progress."
+ },
+ {
+ "value": "Restoring",
+ "description": "Indicates that the Repair Manager is restoring the system to its pre-repair state, usually by bringing resources back online."
+ },
+ {
+ "value": "Completed",
+ "description": "Indicates that the repair task has completed, and no further state changes will occur."
+ }
+ ]
+ }
+ },
+ "Flags": {
+ "type": "integer",
+ "description": "A bitwise-OR of the following values, which gives additional details about the status of the repair task.\n- 1 - Cancellation of the repair has been requested\n- 2 - Abort of the repair has been requested\n- 4 - Approval of the repair was forced via client request"
+ },
+ "Action": {
+ "type": "string",
+ "description": "The requested repair action. Must be specified when the repair task is created, and is immutable once set."
+ },
+ "Target": {
+ "$ref": "#/definitions/RepairTargetDescriptionBase",
+ "description": "The target object determines what actions the system will take to prepare for the impact of the repair, prior to approving execution of the repair.\nMay be set when the repair task is created, and is immutable once set."
+ },
+ "Executor": {
+ "type": "string",
+ "description": "The name of the repair executor. Must be specified in Claimed and later states, and is immutable once set."
+ },
+ "ExecutorData": {
+ "type": "string",
+ "description": "A data string that the repair executor can use to store its internal state."
+ },
+ "Impact": {
+ "$ref": "#/definitions/RepairImpactDescriptionBase",
+ "description": "The impact object determines what actions the system will take to prepare for the impact of the repair, prior to approving execution of the repair.\nImpact must be specified by the repair executor when transitioning to the Preparing state, and is immutable once set."
+ },
+ "ResultStatus": {
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "Succeeded",
+ "Cancelled",
+ "Interrupted",
+ "Failed",
+ "Pending"
+ ],
+ "description": "A value describing the overall result of the repair task execution. Must be specified in the Restoring and later states, and is immutable once set.",
+ "x-ms-enum": {
+ "name": "ResultStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates that the repair task result is invalid. All Service Fabric enumerations have the invalid value."
+ },
+ {
+ "value": "Succeeded",
+ "description": "Indicates that the repair task completed execution successfully."
+ },
+ {
+ "value": "Cancelled",
+ "description": "Indicates that the repair task was cancelled prior to execution."
+ },
+ {
+ "value": "Interrupted",
+ "description": "Indicates that execution of the repair task was interrupted by a cancellation request after some work had already been performed."
+ },
+ {
+ "value": "Failed",
+ "description": "Indicates that there was a failure during execution of the repair task. Some work may have been performed."
+ },
+ {
+ "value": "Pending",
+ "description": "Indicates that the repair task result is not yet available, because the repair task has not finished executing."
+ }
+ ]
+ }
+ },
+ "ResultCode": {
+ "type": "integer",
+ "description": "A numeric value providing additional details about the result of the repair task execution.\nMay be specified in the Restoring and later states, and is immutable once set."
+ },
+ "ResultDetails": {
+ "type": "string",
+ "description": "A string providing additional details about the result of the repair task execution.\nMay be specified in the Restoring and later states, and is immutable once set."
+ },
+ "History": {
+ "$ref": "#/definitions/RepairTaskHistory",
+ "description": "An object that contains timestamps of the repair task's state transitions.\nThese timestamps are updated by the system, and cannot be directly modified."
+ },
+ "PreparingHealthCheckState": {
+ "$ref": "#/definitions/RepairTaskHealthCheckState",
+ "description": "The workflow state of the health check when the repair task is in the Preparing state."
+ },
+ "RestoringHealthCheckState": {
+ "$ref": "#/definitions/RepairTaskHealthCheckState",
+ "description": "The workflow state of the health check when the repair task is in the Restoring state."
+ },
+ "PerformPreparingHealthCheck": {
+ "type": "boolean",
+ "description": "A value to determine if health checks will be performed when the repair task enters the Preparing state."
+ },
+ "PerformRestoringHealthCheck": {
+ "type": "boolean",
+ "description": "A value to determine if health checks will be performed when the repair task enters the Restoring state."
+ }
+ },
+ "required": [
+ "TaskId",
+ "Action",
+ "State"
+ ]
+ },
+ "RepairTaskApproveDescription": {
+ "description": "Describes a request for forced approval of a repair task.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "properties": {
+ "TaskId": {
+ "type": "string",
+ "description": "The ID of the repair task."
+ },
+ "Version": {
+ "type": "string",
+ "description": "The current version number of the repair task. If non-zero, then the request will only succeed if this value matches the actual current version of the repair task. If zero, then no version check is performed."
+ }
+ },
+ "required": [
+ "TaskId"
+ ]
+ },
+ "RepairTaskCancelDescription": {
+ "description": "Describes a request to cancel a repair task.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "properties": {
+ "TaskId": {
+ "type": "string",
+ "description": "The ID of the repair task."
+ },
+ "Version": {
+ "type": "string",
+ "description": "The current version number of the repair task. If non-zero, then the request will only succeed if this value matches the actual current version of the repair task. If zero, then no version check is performed."
+ },
+ "RequestAbort": {
+ "type": "boolean",
+ "description": "_True_ if the repair should be stopped as soon as possible even if it has already started executing. _False_ if the repair should be cancelled only if execution has not yet started."
+ }
+ },
+ "required": [
+ "TaskId"
+ ]
+ },
+ "RepairTaskDeleteDescription": {
+ "description": "Describes a request to delete a completed repair task.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "properties": {
+ "TaskId": {
+ "type": "string",
+ "description": "The ID of the completed repair task to be deleted."
+ },
+ "Version": {
+ "type": "string",
+ "description": "The current version number of the repair task. If non-zero, then the request will only succeed if this value matches the actual current version of the repair task. If zero, then no version check is performed."
+ }
+ },
+ "required": [
+ "TaskId"
+ ]
+ },
+ "RepairTaskHealthCheckState": {
+ "description": "Specifies the workflow state of a repair task's health check. This type supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "type": "string",
+ "enum": [
+ "NotStarted",
+ "InProgress",
+ "Succeeded",
+ "Skipped",
+ "TimedOut"
+ ],
+ "x-ms-enum": {
+ "name": "RepairTaskHealthCheckState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "NotStarted",
+ "description": "Indicates that the health check has not started."
+ },
+ {
+ "value": "InProgress",
+ "description": "Indicates that the health check is in progress."
+ },
+ {
+ "value": "Succeeded",
+ "description": "Indicates that the health check succeeded."
+ },
+ {
+ "value": "Skipped",
+ "description": "Indicates that the health check was skipped."
+ },
+ {
+ "value": "TimedOut",
+ "description": "Indicates that the health check timed out."
+ }
+ ]
+ }
+ },
+ "RepairTaskHistory": {
+ "description": "A record of the times when the repair task entered each state.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "properties": {
+ "CreatedUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the repair task entered the Created state."
+ },
+ "ClaimedUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the repair task entered the Claimed state."
+ },
+ "PreparingUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the repair task entered the Preparing state."
+ },
+ "ApprovedUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the repair task entered the Approved state"
+ },
+ "ExecutingUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the repair task entered the Executing state"
+ },
+ "RestoringUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the repair task entered the Restoring state"
+ },
+ "CompletedUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the repair task entered the Completed state"
+ },
+ "PreparingHealthCheckStartUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the repair task started the health check in the Preparing state."
+ },
+ "PreparingHealthCheckEndUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the repair task completed the health check in the Preparing state."
+ },
+ "RestoringHealthCheckStartUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the repair task started the health check in the Restoring state."
+ },
+ "RestoringHealthCheckEndUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the repair task completed the health check in the Restoring state."
+ }
+ }
+ },
+ "RepairTaskList": {
+ "type": "array",
+ "description": "A list of repair tasks.",
+ "items": {
+ "$ref": "#/definitions/RepairTask"
+ }
+ },
+ "RepairTaskUpdateHealthPolicyDescription": {
+ "description": "Describes a request to update the health policy of a repair task.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "properties": {
+ "TaskId": {
+ "type": "string",
+ "description": "The ID of the repair task to be updated."
+ },
+ "Version": {
+ "type": "string",
+ "description": "The current version number of the repair task. If non-zero, then the request will only succeed if this value matches the actual current value of the repair task. If zero, then no version check is performed."
+ },
+ "PerformPreparingHealthCheck": {
+ "type": "boolean",
+ "description": "A boolean indicating if health check is to be performed in the Preparing stage of the repair task. If not specified the existing value should not be altered. Otherwise, specify the desired new value."
+ },
+ "PerformRestoringHealthCheck": {
+ "type": "boolean",
+ "description": "A boolean indicating if health check is to be performed in the Restoring stage of the repair task. If not specified the existing value should not be altered. Otherwise, specify the desired new value."
+ }
+ },
+ "required": [
+ "TaskId"
+ ]
+ },
+ "RepairTaskUpdateInfo": {
+ "description": "Describes the result of an operation that created or updated a repair task.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "properties": {
+ "Version": {
+ "type": "string",
+ "description": "The new version of the repair task."
+ }
+ },
+ "required": [
+ "Version"
+ ]
+ },
+ "ReconfigurationInformation": {
+ "description": "Information about current reconfiguration like phase, type, previous configuration role of replica and reconfiguration start date time.",
+ "properties": {
+ "PreviousConfigurationRole": {
+ "$ref": "#/definitions/ReplicaRole",
+ "description": "Replica role before reconfiguration started."
+ },
+ "ReconfigurationPhase": {
+ "$ref": "#/definitions/ReconfigurationPhase",
+ "description": "Current phase of ongoing reconfiguration. If no reconfiguration is taking place then this value will be \"None\"."
+ },
+ "ReconfigurationType": {
+ "$ref": "#/definitions/ReconfigurationType",
+ "description": "Type of current ongoing reconfiguration. If no reconfiguration is taking place then this value will be \"None\"."
+ },
+ "ReconfigurationStartTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Start time (in UTC) of the ongoing reconfiguration. If no reconfiguration is taking place then this value will be zero date-time."
+ }
+ }
+ },
+ "ReconfigurationPhase": {
+ "type": "string",
+ "description": "The reconfiguration phase of a replica of a stateful service.",
+ "enum": [
+ "Unknown",
+ "None",
+ "Phase0",
+ "Phase1",
+ "Phase2",
+ "Phase3",
+ "Phase4",
+ "AbortPhaseZero"
+ ],
+ "x-ms-enum": {
+ "name": "ReconfigurationPhase",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Unknown",
+ "description": "Indicates the invalid reconfiguration phase."
+ },
+ {
+ "value": "None",
+ "description": "Specifies that there is no reconfiguration in progress."
+ },
+ {
+ "value": "Phase0",
+ "description": "Refers to the phase where the reconfiguration is transferring data from the previous primary to the new primary."
+ },
+ {
+ "value": "Phase1",
+ "description": "Refers to the phase where the reconfiguration is querying the replica set for the progress."
+ },
+ {
+ "value": "Phase2",
+ "description": "Refers to the phase where the reconfiguration is ensuring that data from the current primary is present in a majority of the replica set."
+ },
+ {
+ "value": "Phase3",
+ "description": "This phase is for internal use only."
+ },
+ {
+ "value": "Phase4",
+ "description": "This phase is for internal use only."
+ },
+ {
+ "value": "AbortPhaseZero",
+ "description": "This phase is for internal use only."
+ }
+ ]
+ }
+ },
+ "ReconfigurationType": {
+ "type": "string",
+ "description": "The type of reconfiguration for replica of a stateful service.",
+ "enum": [
+ "Unknown",
+ "SwapPrimary",
+ "Failover",
+ "Other"
+ ],
+ "x-ms-enum": {
+ "name": "ReconfigurationType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Unknown",
+ "description": "Indicates the invalid reconfiguration type."
+ },
+ {
+ "value": "SwapPrimary",
+ "description": "Specifies that the primary replica is being swapped with a different replica."
+ },
+ {
+ "value": "Failover",
+ "description": "Reconfiguration triggered in response to a primary going down. This could be due to many reasons such as primary replica crashing etc."
+ },
+ {
+ "value": "Other",
+ "description": "Reconfigurations where the primary replica is not changing."
+ }
+ ]
+ }
+ },
+ "InfrastructureServiceResponse": {
+ "type": "string",
+ "format": "binary",
+ "description": "This is a weakly-typed response stream to the client. It contains the JSON response from the infrastructure service without deserialization.\nThe content of the response depends on which command was issued to the infrastructure service."
+ },
+ "UploadChunkRange": {
+ "description": "Information about which portion of the file to upload.",
+ "properties": {
+ "StartPosition": {
+ "type": "string",
+ "description": "The start position of the portion of the file. It's represented by the number of bytes."
+ },
+ "EndPosition": {
+ "type": "string",
+ "description": "The end position of the portion of the file. It's represented by the number of bytes."
+ }
+ }
+ },
+ "UploadSessionInfo": {
+ "description": "Information about an image store upload session. A session is associated with a relative path in the image store.",
+ "properties": {
+ "StoreRelativePath": {
+ "type": "string",
+ "description": "The remote location within image store. This path is relative to the image store root."
+ },
+ "SessionId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "A unique ID of the upload session. A session ID can be reused only if the session was committed or removed."
+ },
+ "ModifiedDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date and time when the upload session was last modified."
+ },
+ "FileSize": {
+ "type": "string",
+ "description": "The size in bytes of the uploading file."
+ },
+ "ExpectedRanges": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UploadChunkRange"
+ },
+ "description": "List of chunk ranges that image store has not received yet."
+ }
+ }
+ },
+ "UploadSession": {
+ "description": "Information about a image store upload session",
+ "properties": {
+ "UploadSessions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UploadSessionInfo"
+ },
+ "description": "When querying upload session by upload session ID, the result contains only one upload session. When querying upload session by image store relative path, the result might contain multiple upload sessions."
+ }
+ }
+ },
+ "ScalingPolicyDescription": {
+ "description": "Describes how the scaling should be performed",
+ "required": [
+ "ScalingTrigger",
+ "ScalingMechanism"
+ ],
+ "properties": {
+ "ScalingTrigger": {
+ "$ref": "#/definitions/ScalingTriggerDescription",
+ "description": "Specifies the trigger associated with this scaling policy"
+ },
+ "ScalingMechanism": {
+ "$ref": "#/definitions/ScalingMechanismDescription",
+ "description": "Specifies the mechanism associated with this scaling policy"
+ }
+ }
+ },
+ "ScalingPolicyDescriptionList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ScalingPolicyDescription"
+ },
+ "description": "A list that describes the scaling policies."
+ },
+ "ScalingTriggerDescription": {
+ "discriminator": "Kind",
+ "description": "Describes the trigger for performing a scaling operation.",
+ "required": [
+ "Kind"
+ ],
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/ScalingTriggerKind",
+ "description": "Specifies the kind of scaling trigger"
+ }
+ }
+ },
+ "ScalingMechanismDescription": {
+ "discriminator": "Kind",
+ "description": "Describes the mechanism for performing a scaling operation.",
+ "required": [
+ "Kind"
+ ],
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/ScalingMechanismKind",
+ "description": "Specifies the kind of scaling mechanism"
+ }
+ }
+ },
+ "ScalingTriggerKind": {
+ "type": "string",
+ "description": "Enumerates the ways that a service can be scaled.",
+ "enum": [
+ "Invalid",
+ "AveragePartitionLoad",
+ "AverageServiceLoad"
+ ],
+ "x-ms-enum": {
+ "name": "ScalingTriggerKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the scaling trigger is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "AveragePartitionLoad",
+ "description": "Indicates a trigger where scaling decisions are made based on average load of a partition. The value is 1."
+ },
+ {
+ "value": "AverageServiceLoad",
+ "description": "Indicates a trigger where scaling decisions are made based on average load of a service. The value is 2."
+ }
+ ]
+ }
+ },
+ "ScalingMechanismKind": {
+ "type": "string",
+ "description": "Enumerates the ways that a service can be scaled.",
+ "enum": [
+ "Invalid",
+ "PartitionInstanceCount",
+ "AddRemoveIncrementalNamedPartition"
+ ],
+ "x-ms-enum": {
+ "name": "ScalingMechanismKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the scaling mechanism is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "PartitionInstanceCount",
+ "description": "Indicates a mechanism for scaling where new instances are added or removed from a partition. The value is 1."
+ },
+ {
+ "value": "AddRemoveIncrementalNamedPartition",
+ "description": "Indicates a mechanism for scaling where new named partitions are added or removed from a service. The value is 2."
+ }
+ ]
+ }
+ },
+ "AveragePartitionLoadScalingTrigger": {
+ "description": "Represents a scaling trigger related to an average load of a metric/resource of a partition.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ScalingTriggerDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "AveragePartitionLoad",
+ "required": [
+ "MetricName",
+ "LowerLoadThreshold",
+ "UpperLoadThreshold",
+ "ScaleIntervalInSeconds"
+ ],
+ "properties": {
+ "MetricName": {
+ "type": "string",
+ "description": "The name of the metric for which usage should be tracked."
+ },
+ "LowerLoadThreshold": {
+ "type": "string",
+ "format": "double",
+ "description": "The lower limit of the load below which a scale in operation should be performed."
+ },
+ "UpperLoadThreshold": {
+ "type": "string",
+ "format": "double",
+ "description": "The upper limit of the load beyond which a scale out operation should be performed."
+ },
+ "ScaleIntervalInSeconds": {
+ "type": "integer",
+ "format": "int64",
+ "minimum": 0,
+ "maximum": 4294967295,
+ "description": "The period in seconds on which a decision is made whether to scale or not."
+ }
+ }
+ },
+ "AverageServiceLoadScalingTrigger": {
+ "description": "Represents a scaling policy related to an average load of a metric/resource of a service.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ScalingTriggerDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "AverageServiceLoad",
+ "required": [
+ "MetricName",
+ "LowerLoadThreshold",
+ "UpperLoadThreshold",
+ "ScaleIntervalInSeconds"
+ ],
+ "properties": {
+ "MetricName": {
+ "type": "string",
+ "description": "The name of the metric for which usage should be tracked."
+ },
+ "LowerLoadThreshold": {
+ "type": "string",
+ "format": "double",
+ "description": "The lower limit of the load below which a scale in operation should be performed."
+ },
+ "UpperLoadThreshold": {
+ "type": "string",
+ "format": "double",
+ "description": "The upper limit of the load beyond which a scale out operation should be performed."
+ },
+ "ScaleIntervalInSeconds": {
+ "type": "integer",
+ "format": "int64",
+ "minimum": 0,
+ "maximum": 4294967295,
+ "description": "The period in seconds on which a decision is made whether to scale or not."
+ }
+ }
+ },
+ "PartitionInstanceCountScaleMechanism": {
+ "description": "Represents a scaling mechanism for adding or removing instances of stateless service partition.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ScalingMechanismDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "PartitionInstanceCount",
+ "required": [
+ "MinInstanceCount",
+ "MaxInstanceCount",
+ "ScaleIncrement"
+ ],
+ "properties": {
+ "MinInstanceCount": {
+ "type": "integer",
+ "description": "Minimum number of instances of the partition."
+ },
+ "MaxInstanceCount": {
+ "type": "integer",
+ "description": "Maximum number of instances of the partition."
+ },
+ "ScaleIncrement": {
+ "type": "integer",
+ "description": "The number of instances to add or remove during a scaling operation."
+ }
+ }
+ },
+ "AddRemoveIncrementalNamedPartitionScalingMechanism": {
+ "description": "Represents a scaling mechanism for adding or removing named partitions of a stateless service. Partition names are in the format '0','1''N-1'",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ScalingMechanismDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "AddRemoveIncrementalNamedPartition",
+ "required": [
+ "MinPartitionCount",
+ "MaxPartitionCount",
+ "ScaleIncrement"
+ ],
+ "properties": {
+ "MinPartitionCount": {
+ "type": "integer",
+ "description": "Minimum number of named partitions of the service."
+ },
+ "MaxPartitionCount": {
+ "type": "integer",
+ "description": "Maximum number of named partitions of the service."
+ },
+ "ScaleIncrement": {
+ "type": "integer",
+ "description": "The number of instances to add or remove during a scaling operation."
+ }
+ }
+ },
+ "UnplacedReplicaInformation": {
+ "description": "Contains information for an unplaced replica.",
+ "properties": {
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The name of the service."
+ },
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "The ID of the partition."
+ },
+ "UnplacedReplicaDetails": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of reasons due to which a replica cannot be placed."
+ }
+ }
+ },
+ "ApplicationCreatedEvent": {
+ "description": "Application Created event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ApplicationTypeName": {
+ "type": "string",
+ "description": "Application type name."
+ },
+ "ApplicationTypeVersion": {
+ "type": "string",
+ "description": "Application type version."
+ },
+ "ApplicationDefinitionKind": {
+ "type": "string",
+ "description": "Application definition kind."
+ }
+ },
+ "required": [
+ "ApplicationTypeName",
+ "ApplicationTypeVersion",
+ "ApplicationDefinitionKind"
+ ],
+ "x-ms-discriminator-value": "ApplicationCreated"
+ },
+ "ApplicationDeletedEvent": {
+ "description": "Application Deleted event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ApplicationTypeName": {
+ "type": "string",
+ "description": "Application type name."
+ },
+ "ApplicationTypeVersion": {
+ "type": "string",
+ "description": "Application type version."
+ }
+ },
+ "required": [
+ "ApplicationTypeName",
+ "ApplicationTypeVersion"
+ ],
+ "x-ms-discriminator-value": "ApplicationDeleted"
+ },
+ "ApplicationNewHealthReportEvent": {
+ "description": "Application Health Report Created event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ApplicationInstanceId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Application instance."
+ },
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "ApplicationInstanceId",
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "ApplicationNewHealthReport"
+ },
+ "ApplicationHealthReportExpiredEvent": {
+ "description": "Application Health Report Expired event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ApplicationInstanceId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Application instance."
+ },
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "ApplicationInstanceId",
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "ApplicationHealthReportExpired"
+ },
+ "ApplicationUpgradeCompletedEvent": {
+ "description": "Application Upgrade Completed event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ApplicationTypeName": {
+ "type": "string",
+ "description": "Application type name."
+ },
+ "ApplicationTypeVersion": {
+ "type": "string",
+ "description": "Application type version."
+ },
+ "OverallUpgradeElapsedTimeInMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Overall upgrade time in milli-seconds."
+ }
+ },
+ "required": [
+ "ApplicationTypeName",
+ "ApplicationTypeVersion",
+ "OverallUpgradeElapsedTimeInMs"
+ ],
+ "x-ms-discriminator-value": "ApplicationUpgradeCompleted"
+ },
+ "ApplicationUpgradeDomainCompletedEvent": {
+ "description": "Application Upgrade Domain Completed event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ApplicationTypeName": {
+ "type": "string",
+ "description": "Application type name."
+ },
+ "CurrentApplicationTypeVersion": {
+ "type": "string",
+ "description": "Current Application type version."
+ },
+ "ApplicationTypeVersion": {
+ "type": "string",
+ "description": "Target Application type version."
+ },
+ "UpgradeState": {
+ "type": "string",
+ "description": "State of upgrade."
+ },
+ "UpgradeDomains": {
+ "type": "string",
+ "description": "Upgrade domains."
+ },
+ "UpgradeDomainElapsedTimeInMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Upgrade time of domain in milli-seconds."
+ }
+ },
+ "required": [
+ "ApplicationTypeName",
+ "CurrentApplicationTypeVersion",
+ "ApplicationTypeVersion",
+ "UpgradeState",
+ "UpgradeDomains",
+ "UpgradeDomainElapsedTimeInMs"
+ ],
+ "x-ms-discriminator-value": "ApplicationUpgradeDomainCompleted"
+ },
+ "ApplicationUpgradeRollbackCompletedEvent": {
+ "description": "Application Upgrade Rollback Completed event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ApplicationTypeName": {
+ "type": "string",
+ "description": "Application type name."
+ },
+ "ApplicationTypeVersion": {
+ "type": "string",
+ "description": "Application type version."
+ },
+ "FailureReason": {
+ "type": "string",
+ "description": "Describes reason of failure."
+ },
+ "OverallUpgradeElapsedTimeInMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Overall upgrade time in milli-seconds."
+ }
+ },
+ "required": [
+ "ApplicationTypeName",
+ "ApplicationTypeVersion",
+ "FailureReason",
+ "OverallUpgradeElapsedTimeInMs"
+ ],
+ "x-ms-discriminator-value": "ApplicationUpgradeRollbackCompleted"
+ },
+ "ApplicationUpgradeRollbackStartedEvent": {
+ "description": "Application Upgrade Rollback Started event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ApplicationTypeName": {
+ "type": "string",
+ "description": "Application type name."
+ },
+ "CurrentApplicationTypeVersion": {
+ "type": "string",
+ "description": "Current Application type version."
+ },
+ "ApplicationTypeVersion": {
+ "type": "string",
+ "description": "Target Application type version."
+ },
+ "FailureReason": {
+ "type": "string",
+ "description": "Describes reason of failure."
+ },
+ "OverallUpgradeElapsedTimeInMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Overall upgrade time in milli-seconds."
+ }
+ },
+ "required": [
+ "ApplicationTypeName",
+ "CurrentApplicationTypeVersion",
+ "ApplicationTypeVersion",
+ "FailureReason",
+ "OverallUpgradeElapsedTimeInMs"
+ ],
+ "x-ms-discriminator-value": "ApplicationUpgradeRollbackStarted"
+ },
+ "ApplicationUpgradeStartedEvent": {
+ "description": "Application Upgrade Started event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ApplicationTypeName": {
+ "type": "string",
+ "description": "Application type name."
+ },
+ "CurrentApplicationTypeVersion": {
+ "type": "string",
+ "description": "Current Application type version."
+ },
+ "ApplicationTypeVersion": {
+ "type": "string",
+ "description": "Target Application type version."
+ },
+ "UpgradeType": {
+ "type": "string",
+ "description": "Type of upgrade."
+ },
+ "RollingUpgradeMode": {
+ "type": "string",
+ "description": "Mode of upgrade."
+ },
+ "FailureAction": {
+ "type": "string",
+ "description": "Action if failed."
+ }
+ },
+ "required": [
+ "ApplicationTypeName",
+ "CurrentApplicationTypeVersion",
+ "ApplicationTypeVersion",
+ "UpgradeType",
+ "RollingUpgradeMode",
+ "FailureAction"
+ ],
+ "x-ms-discriminator-value": "ApplicationUpgradeStarted"
+ },
+ "DeployedApplicationNewHealthReportEvent": {
+ "description": "Deployed Application Health Report Created event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ApplicationInstanceId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Application instance."
+ },
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "ApplicationInstanceId",
+ "NodeName",
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "DeployedApplicationNewHealthReport"
+ },
+ "DeployedApplicationHealthReportExpiredEvent": {
+ "description": "Deployed Application Health Report Expired event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ApplicationInstanceId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Application instance."
+ },
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "ApplicationInstanceId",
+ "NodeName",
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "DeployedApplicationHealthReportExpired"
+ },
+ "ApplicationProcessExitedEvent": {
+ "description": "Process Exited event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ServiceName": {
+ "type": "string",
+ "description": "Name of Service."
+ },
+ "ServicePackageName": {
+ "type": "string",
+ "description": "Name of Service package."
+ },
+ "ServicePackageActivationId": {
+ "type": "string",
+ "description": "Activation Id of Service package."
+ },
+ "IsExclusive": {
+ "type": "boolean",
+ "description": "Indicates IsExclusive flag."
+ },
+ "CodePackageName": {
+ "type": "string",
+ "description": "Name of Code package."
+ },
+ "EntryPointType": {
+ "type": "string",
+ "description": "Type of EntryPoint."
+ },
+ "ExeName": {
+ "type": "string",
+ "description": "Name of executable."
+ },
+ "ProcessId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Process Id."
+ },
+ "HostId": {
+ "type": "string",
+ "description": "Host Id."
+ },
+ "ExitCode": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Exit code of process."
+ },
+ "UnexpectedTermination": {
+ "type": "boolean",
+ "description": "Indicates if termination is unexpected."
+ },
+ "StartTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Start time of process."
+ }
+ },
+ "required": [
+ "ServiceName",
+ "ServicePackageName",
+ "ServicePackageActivationId",
+ "IsExclusive",
+ "CodePackageName",
+ "EntryPointType",
+ "ExeName",
+ "ProcessId",
+ "HostId",
+ "ExitCode",
+ "UnexpectedTermination",
+ "StartTime"
+ ],
+ "x-ms-discriminator-value": "ApplicationProcessExited"
+ },
+ "ApplicationContainerInstanceExitedEvent": {
+ "description": "Container Exited event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ServiceName": {
+ "type": "string",
+ "description": "Name of Service."
+ },
+ "ServicePackageName": {
+ "type": "string",
+ "description": "Name of Service package."
+ },
+ "ServicePackageActivationId": {
+ "type": "string",
+ "description": "Activation Id of Service package."
+ },
+ "IsExclusive": {
+ "type": "boolean",
+ "description": "Indicates IsExclusive flag."
+ },
+ "CodePackageName": {
+ "type": "string",
+ "description": "Name of Code package."
+ },
+ "EntryPointType": {
+ "type": "string",
+ "description": "Type of EntryPoint."
+ },
+ "ImageName": {
+ "type": "string",
+ "description": "Name of Container image."
+ },
+ "ContainerName": {
+ "type": "string",
+ "description": "Name of Container."
+ },
+ "HostId": {
+ "type": "string",
+ "description": "Host Id."
+ },
+ "ExitCode": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Exit code of process."
+ },
+ "UnexpectedTermination": {
+ "type": "boolean",
+ "description": "Indicates if termination is unexpected."
+ },
+ "StartTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Start time of process."
+ }
+ },
+ "required": [
+ "ServiceName",
+ "ServicePackageName",
+ "ServicePackageActivationId",
+ "IsExclusive",
+ "CodePackageName",
+ "EntryPointType",
+ "ImageName",
+ "ContainerName",
+ "HostId",
+ "ExitCode",
+ "UnexpectedTermination",
+ "StartTime"
+ ],
+ "x-ms-discriminator-value": "ApplicationContainerInstanceExited"
+ },
+ "NodeAbortedEvent": {
+ "description": "Node Aborted event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ ],
+ "properties": {
+ "NodeInstance": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Node instance."
+ },
+ "NodeId": {
+ "type": "string",
+ "description": "Id of Node."
+ },
+ "UpgradeDomain": {
+ "type": "string",
+ "description": "Upgrade domain of Node."
+ },
+ "FaultDomain": {
+ "type": "string",
+ "description": "Fault domain of Node."
+ },
+ "IpAddressOrFQDN": {
+ "type": "string",
+ "description": "IP address or FQDN."
+ },
+ "Hostname": {
+ "type": "string",
+ "description": "Name of Host."
+ },
+ "IsSeedNode": {
+ "type": "boolean",
+ "description": "Indicates if it is seed node."
+ },
+ "NodeVersion": {
+ "type": "string",
+ "description": "Version of Node."
+ }
+ },
+ "required": [
+ "NodeInstance",
+ "NodeId",
+ "UpgradeDomain",
+ "FaultDomain",
+ "IpAddressOrFQDN",
+ "Hostname",
+ "IsSeedNode",
+ "NodeVersion"
+ ],
+ "x-ms-discriminator-value": "NodeAborted"
+ },
+ "NodeAddedToClusterEvent": {
+ "description": "Node Added event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ ],
+ "properties": {
+ "NodeId": {
+ "type": "string",
+ "description": "Id of Node."
+ },
+ "NodeInstance": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Node instance."
+ },
+ "NodeType": {
+ "type": "string",
+ "description": "Type of Node."
+ },
+ "FabricVersion": {
+ "type": "string",
+ "description": "Fabric version."
+ },
+ "IpAddressOrFQDN": {
+ "type": "string",
+ "description": "IP address or FQDN."
+ },
+ "NodeCapacities": {
+ "type": "string",
+ "description": "Capacities."
+ }
+ },
+ "required": [
+ "NodeId",
+ "NodeInstance",
+ "NodeType",
+ "FabricVersion",
+ "IpAddressOrFQDN",
+ "NodeCapacities"
+ ],
+ "x-ms-discriminator-value": "NodeAddedToCluster"
+ },
+ "NodeClosedEvent": {
+ "description": "Node Closed event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ ],
+ "properties": {
+ "NodeId": {
+ "type": "string",
+ "description": "Id of Node."
+ },
+ "NodeInstance": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Node instance."
+ },
+ "Error": {
+ "type": "string",
+ "description": "Describes error."
+ }
+ },
+ "required": [
+ "NodeId",
+ "NodeInstance",
+ "Error"
+ ],
+ "x-ms-discriminator-value": "NodeClosed"
+ },
+ "NodeDeactivateCompletedEvent": {
+ "description": "Node Deactivate Completed event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ ],
+ "properties": {
+ "NodeInstance": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Node instance."
+ },
+ "EffectiveDeactivateIntent": {
+ "type": "string",
+ "description": "Describes deactivate intent."
+ },
+ "BatchIdsWithDeactivateIntent": {
+ "type": "string",
+ "description": "Batch Ids."
+ },
+ "StartTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Start time."
+ }
+ },
+ "required": [
+ "NodeInstance",
+ "EffectiveDeactivateIntent",
+ "BatchIdsWithDeactivateIntent",
+ "StartTime"
+ ],
+ "x-ms-discriminator-value": "NodeDeactivateCompleted"
+ },
+ "NodeDeactivateStartedEvent": {
+ "description": "Node Deactivate Started event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ ],
+ "properties": {
+ "NodeInstance": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Node instance."
+ },
+ "BatchId": {
+ "type": "string",
+ "description": "Batch Id."
+ },
+ "DeactivateIntent": {
+ "type": "string",
+ "description": "Describes deactivate intent."
+ }
+ },
+ "required": [
+ "NodeInstance",
+ "BatchId",
+ "DeactivateIntent"
+ ],
+ "x-ms-discriminator-value": "NodeDeactivateStarted"
+ },
+ "NodeDownEvent": {
+ "description": "Node Down event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ ],
+ "properties": {
+ "NodeInstance": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Node instance."
+ },
+ "LastNodeUpAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time when Node was last up."
+ }
+ },
+ "required": [
+ "NodeInstance",
+ "LastNodeUpAt"
+ ],
+ "x-ms-discriminator-value": "NodeDown"
+ },
+ "NodeNewHealthReportEvent": {
+ "description": "Node Health Report Created event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ ],
+ "properties": {
+ "NodeInstanceId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Node instance."
+ },
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "NodeInstanceId",
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "NodeNewHealthReport"
+ },
+ "NodeHealthReportExpiredEvent": {
+ "description": "Node Health Report Expired event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ ],
+ "properties": {
+ "NodeInstanceId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Node instance."
+ },
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "NodeInstanceId",
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "NodeHealthReportExpired"
+ },
+ "NodeOpenSucceededEvent": {
+ "description": "Node Opened Succeeded event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ ],
+ "properties": {
+ "NodeInstance": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Node instance."
+ },
+ "NodeId": {
+ "type": "string",
+ "description": "Id of Node."
+ },
+ "UpgradeDomain": {
+ "type": "string",
+ "description": "Upgrade domain of Node."
+ },
+ "FaultDomain": {
+ "type": "string",
+ "description": "Fault domain of Node."
+ },
+ "IpAddressOrFQDN": {
+ "type": "string",
+ "description": "IP address or FQDN."
+ },
+ "Hostname": {
+ "type": "string",
+ "description": "Name of Host."
+ },
+ "IsSeedNode": {
+ "type": "boolean",
+ "description": "Indicates if it is seed node."
+ },
+ "NodeVersion": {
+ "type": "string",
+ "description": "Version of Node."
+ }
+ },
+ "required": [
+ "NodeInstance",
+ "NodeId",
+ "UpgradeDomain",
+ "FaultDomain",
+ "IpAddressOrFQDN",
+ "Hostname",
+ "IsSeedNode",
+ "NodeVersion"
+ ],
+ "x-ms-discriminator-value": "NodeOpenSucceeded"
+ },
+ "NodeOpenFailedEvent": {
+ "description": "Node Open Failed event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ ],
+ "properties": {
+ "NodeInstance": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Node instance."
+ },
+ "NodeId": {
+ "type": "string",
+ "description": "Id of Node."
+ },
+ "UpgradeDomain": {
+ "type": "string",
+ "description": "Upgrade domain of Node."
+ },
+ "FaultDomain": {
+ "type": "string",
+ "description": "Fault domain of Node."
+ },
+ "IpAddressOrFQDN": {
+ "type": "string",
+ "description": "IP address or FQDN."
+ },
+ "Hostname": {
+ "type": "string",
+ "description": "Name of Host."
+ },
+ "IsSeedNode": {
+ "type": "boolean",
+ "description": "Indicates if it is seed node."
+ },
+ "NodeVersion": {
+ "type": "string",
+ "description": "Version of Node."
+ },
+ "Error": {
+ "type": "string",
+ "description": "Describes the error."
+ }
+ },
+ "required": [
+ "NodeInstance",
+ "NodeId",
+ "UpgradeDomain",
+ "FaultDomain",
+ "IpAddressOrFQDN",
+ "Hostname",
+ "IsSeedNode",
+ "NodeVersion",
+ "Error"
+ ],
+ "x-ms-discriminator-value": "NodeOpenFailed"
+ },
+ "NodeRemovedFromClusterEvent": {
+ "description": "Node Removed event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ ],
+ "properties": {
+ "NodeId": {
+ "type": "string",
+ "description": "Id of Node."
+ },
+ "NodeInstance": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Node instance."
+ },
+ "NodeType": {
+ "type": "string",
+ "description": "Type of Node."
+ },
+ "FabricVersion": {
+ "type": "string",
+ "description": "Fabric version."
+ },
+ "IpAddressOrFQDN": {
+ "type": "string",
+ "description": "IP address or FQDN."
+ },
+ "NodeCapacities": {
+ "type": "string",
+ "description": "Capacities."
+ }
+ },
+ "required": [
+ "NodeId",
+ "NodeInstance",
+ "NodeType",
+ "FabricVersion",
+ "IpAddressOrFQDN",
+ "NodeCapacities"
+ ],
+ "x-ms-discriminator-value": "NodeRemovedFromCluster"
+ },
+ "NodeUpEvent": {
+ "description": "Node Up event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ ],
+ "properties": {
+ "NodeInstance": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Node instance."
+ },
+ "LastNodeDownAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time when Node was last down."
+ }
+ },
+ "required": [
+ "NodeInstance",
+ "LastNodeDownAt"
+ ],
+ "x-ms-discriminator-value": "NodeUp"
+ },
+ "PartitionNewHealthReportEvent": {
+ "description": "Partition Health Report Created event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionEvent"
+ }
+ ],
+ "properties": {
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "PartitionNewHealthReport"
+ },
+ "PartitionHealthReportExpiredEvent": {
+ "description": "Partition Health Report Expired event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionEvent"
+ }
+ ],
+ "properties": {
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "PartitionHealthReportExpired"
+ },
+ "PartitionReconfiguredEvent": {
+ "description": "Partition Reconfiguration event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionEvent"
+ }
+ ],
+ "properties": {
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "NodeInstanceId": {
+ "type": "string",
+ "description": "Id of Node instance."
+ },
+ "ServiceType": {
+ "type": "string",
+ "description": "Type of Service."
+ },
+ "CcEpochDataLossVersion": {
+ "type": "integer",
+ "format": "int64",
+ "description": "CcEpochDataLoss version."
+ },
+ "CcEpochConfigVersion": {
+ "type": "integer",
+ "format": "int64",
+ "description": "CcEpochConfig version."
+ },
+ "ReconfigType": {
+ "type": "string",
+ "description": "Type of reconfiguration."
+ },
+ "Result": {
+ "type": "string",
+ "description": "Describes reconfiguration result."
+ },
+ "Phase0DurationMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Duration of Phase0 in milli-seconds."
+ },
+ "Phase1DurationMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Duration of Phase1 in milli-seconds."
+ },
+ "Phase2DurationMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Duration of Phase2 in milli-seconds."
+ },
+ "Phase3DurationMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Duration of Phase3 in milli-seconds."
+ },
+ "Phase4DurationMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Duration of Phase4 in milli-seconds."
+ },
+ "TotalDurationMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Total duration in milli-seconds."
+ }
+ },
+ "required": [
+ "NodeName",
+ "NodeInstanceId",
+ "ServiceType",
+ "CcEpochDataLossVersion",
+ "CcEpochConfigVersion",
+ "ReconfigType",
+ "Result",
+ "Phase0DurationMs",
+ "Phase1DurationMs",
+ "Phase2DurationMs",
+ "Phase3DurationMs",
+ "Phase4DurationMs",
+ "TotalDurationMs"
+ ],
+ "x-ms-discriminator-value": "PartitionReconfigured"
+ },
+ "PartitionPrimaryMoveAnalysisEvent": {
+ "description": "Partition Primary Move Analysis event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionAnalysisEvent"
+ }
+ ],
+ "properties": {
+ "WhenMoveCompleted": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time when the move was completed."
+ },
+ "PreviousNode": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "CurrentNode": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "MoveReason": {
+ "type": "string",
+ "description": "Move reason."
+ },
+ "RelevantTraces": {
+ "type": "string",
+ "description": "Relevant traces."
+ }
+ },
+ "required": [
+ "WhenMoveCompleted",
+ "PreviousNode",
+ "CurrentNode",
+ "MoveReason",
+ "RelevantTraces"
+ ],
+ "x-ms-discriminator-value": "PartitionPrimaryMoveAnalysis"
+ },
+ "ServiceCreatedEvent": {
+ "description": "Service Created event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceEvent"
+ }
+ ],
+ "properties": {
+ "ServiceTypeName": {
+ "type": "string",
+ "description": "Service type name."
+ },
+ "ApplicationName": {
+ "type": "string",
+ "description": "Application name."
+ },
+ "ApplicationTypeName": {
+ "type": "string",
+ "description": "Application type name."
+ },
+ "ServiceInstance": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Service instance."
+ },
+ "IsStateful": {
+ "type": "boolean",
+ "description": "Indicates if Service is stateful."
+ },
+ "PartitionCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of partitions."
+ },
+ "TargetReplicaSetSize": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Size of target replicas set."
+ },
+ "MinReplicaSetSize": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Minimum size of replicas set."
+ },
+ "ServicePackageVersion": {
+ "type": "string",
+ "description": "Version of Service package."
+ },
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different."
+ }
+ },
+ "required": [
+ "ServiceTypeName",
+ "ApplicationName",
+ "ApplicationTypeName",
+ "ServiceInstance",
+ "IsStateful",
+ "PartitionCount",
+ "TargetReplicaSetSize",
+ "MinReplicaSetSize",
+ "ServicePackageVersion",
+ "PartitionId"
+ ],
+ "x-ms-discriminator-value": "ServiceCreated"
+ },
+ "ServiceDeletedEvent": {
+ "description": "Service Deleted event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceEvent"
+ }
+ ],
+ "properties": {
+ "ServiceTypeName": {
+ "type": "string",
+ "description": "Service type name."
+ },
+ "ApplicationName": {
+ "type": "string",
+ "description": "Application name."
+ },
+ "ApplicationTypeName": {
+ "type": "string",
+ "description": "Application type name."
+ },
+ "ServiceInstance": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Service instance."
+ },
+ "IsStateful": {
+ "type": "boolean",
+ "description": "Indicates if Service is stateful."
+ },
+ "PartitionCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of partitions."
+ },
+ "TargetReplicaSetSize": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Size of target replicas set."
+ },
+ "MinReplicaSetSize": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Minimum size of replicas set."
+ },
+ "ServicePackageVersion": {
+ "type": "string",
+ "description": "Version of Service package."
+ }
+ },
+ "required": [
+ "ServiceTypeName",
+ "ApplicationName",
+ "ApplicationTypeName",
+ "ServiceInstance",
+ "IsStateful",
+ "PartitionCount",
+ "TargetReplicaSetSize",
+ "MinReplicaSetSize",
+ "ServicePackageVersion"
+ ],
+ "x-ms-discriminator-value": "ServiceDeleted"
+ },
+ "ServiceNewHealthReportEvent": {
+ "description": "Service Health Report Created event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceEvent"
+ }
+ ],
+ "properties": {
+ "InstanceId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Service instance."
+ },
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "InstanceId",
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "ServiceNewHealthReport"
+ },
+ "ServiceHealthReportExpiredEvent": {
+ "description": "Service Health Report Expired event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceEvent"
+ }
+ ],
+ "properties": {
+ "InstanceId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Service instance."
+ },
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "InstanceId",
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "ServiceHealthReportExpired"
+ },
+ "DeployedServicePackageNewHealthReportEvent": {
+ "description": "Deployed Service Health Report Created event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ServiceManifestName": {
+ "type": "string",
+ "description": "Service manifest name."
+ },
+ "ServicePackageInstanceId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Service package instance."
+ },
+ "ServicePackageActivationId": {
+ "type": "string",
+ "description": "Id of Service package activation."
+ },
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "ServiceManifestName",
+ "ServicePackageInstanceId",
+ "ServicePackageActivationId",
+ "NodeName",
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "DeployedServicePackageNewHealthReport"
+ },
+ "DeployedServicePackageHealthReportExpiredEvent": {
+ "description": "Deployed Service Health Report Expired event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ServiceManifest": {
+ "type": "string",
+ "description": "Service manifest name."
+ },
+ "ServicePackageInstanceId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Service package instance."
+ },
+ "ServicePackageActivationId": {
+ "type": "string",
+ "description": "Id of Service package activation."
+ },
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "ServiceManifest",
+ "ServicePackageInstanceId",
+ "ServicePackageActivationId",
+ "NodeName",
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "DeployedServicePackageHealthReportExpired"
+ },
+ "StatefulReplicaNewHealthReportEvent": {
+ "description": "Stateful Replica Health Report Created event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicaEvent"
+ }
+ ],
+ "properties": {
+ "ReplicaInstanceId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Replica instance."
+ },
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "ReplicaInstanceId",
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "StatefulReplicaNewHealthReport"
+ },
+ "StatefulReplicaHealthReportExpiredEvent": {
+ "description": "Stateful Replica Health Report Expired event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicaEvent"
+ }
+ ],
+ "properties": {
+ "ReplicaInstanceId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Replica instance."
+ },
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "ReplicaInstanceId",
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "StatefulReplicaHealthReportExpired"
+ },
+ "StatelessReplicaNewHealthReportEvent": {
+ "description": "Stateless Replica Health Report Created event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicaEvent"
+ }
+ ],
+ "properties": {
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "StatelessReplicaNewHealthReport"
+ },
+ "StatelessReplicaHealthReportExpiredEvent": {
+ "description": "Stateless Replica Health Report Expired event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicaEvent"
+ }
+ ],
+ "properties": {
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "StatelessReplicaHealthReportExpired"
+ },
+ "ClusterNewHealthReportEvent": {
+ "description": "Cluster Health Report Created event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ClusterEvent"
+ }
+ ],
+ "properties": {
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "ClusterNewHealthReport"
+ },
+ "ClusterHealthReportExpiredEvent": {
+ "description": "Cluster Health Report Expired event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ClusterEvent"
+ }
+ ],
+ "properties": {
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "ClusterHealthReportExpired"
+ },
+ "ClusterUpgradeCompletedEvent": {
+ "description": "Cluster Upgrade Completed event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ClusterEvent"
+ }
+ ],
+ "properties": {
+ "TargetClusterVersion": {
+ "type": "string",
+ "description": "Target Cluster version."
+ },
+ "OverallUpgradeElapsedTimeInMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Overall duration of upgrade in milli-seconds."
+ }
+ },
+ "required": [
+ "TargetClusterVersion",
+ "OverallUpgradeElapsedTimeInMs"
+ ],
+ "x-ms-discriminator-value": "ClusterUpgradeCompleted"
+ },
+ "ClusterUpgradeDomainCompletedEvent": {
+ "description": "Cluster Upgrade Domain Completed event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ClusterEvent"
+ }
+ ],
+ "properties": {
+ "TargetClusterVersion": {
+ "type": "string",
+ "description": "Target Cluster version."
+ },
+ "UpgradeState": {
+ "type": "string",
+ "description": "State of upgrade."
+ },
+ "UpgradeDomains": {
+ "type": "string",
+ "description": "Upgrade domains."
+ },
+ "UpgradeDomainElapsedTimeInMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Duration of domain upgrade in milli-seconds."
+ }
+ },
+ "required": [
+ "TargetClusterVersion",
+ "UpgradeState",
+ "UpgradeDomains",
+ "UpgradeDomainElapsedTimeInMs"
+ ],
+ "x-ms-discriminator-value": "ClusterUpgradeDomainCompleted"
+ },
+ "ClusterUpgradeRollbackCompletedEvent": {
+ "description": "Cluster Upgrade Rollback Completed event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ClusterEvent"
+ }
+ ],
+ "properties": {
+ "TargetClusterVersion": {
+ "type": "string",
+ "description": "Target Cluster version."
+ },
+ "FailureReason": {
+ "type": "string",
+ "description": "Describes failure."
+ },
+ "OverallUpgradeElapsedTimeInMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Overall duration of upgrade in milli-seconds."
+ }
+ },
+ "required": [
+ "TargetClusterVersion",
+ "FailureReason",
+ "OverallUpgradeElapsedTimeInMs"
+ ],
+ "x-ms-discriminator-value": "ClusterUpgradeRollbackCompleted"
+ },
+ "ClusterUpgradeRollbackStartedEvent": {
+ "description": "Cluster Upgrade Rollback Started event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ClusterEvent"
+ }
+ ],
+ "properties": {
+ "TargetClusterVersion": {
+ "type": "string",
+ "description": "Target Cluster version."
+ },
+ "FailureReason": {
+ "type": "string",
+ "description": "Describes failure."
+ },
+ "OverallUpgradeElapsedTimeInMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Overall duration of upgrade in milli-seconds."
+ }
+ },
+ "required": [
+ "TargetClusterVersion",
+ "FailureReason",
+ "OverallUpgradeElapsedTimeInMs"
+ ],
+ "x-ms-discriminator-value": "ClusterUpgradeRollbackStarted"
+ },
+ "ClusterUpgradeStartedEvent": {
+ "description": "Cluster Upgrade Started event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ClusterEvent"
+ }
+ ],
+ "properties": {
+ "CurrentClusterVersion": {
+ "type": "string",
+ "description": "Current Cluster version."
+ },
+ "TargetClusterVersion": {
+ "type": "string",
+ "description": "Target Cluster version."
+ },
+ "UpgradeType": {
+ "type": "string",
+ "description": "Type of upgrade."
+ },
+ "RollingUpgradeMode": {
+ "type": "string",
+ "description": "Mode of upgrade."
+ },
+ "FailureAction": {
+ "type": "string",
+ "description": "Action if failed."
+ }
+ },
+ "required": [
+ "CurrentClusterVersion",
+ "TargetClusterVersion",
+ "UpgradeType",
+ "RollingUpgradeMode",
+ "FailureAction"
+ ],
+ "x-ms-discriminator-value": "ClusterUpgradeStarted"
+ },
+ "ChaosStoppedEvent": {
+ "description": "Chaos Stopped event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ClusterEvent"
+ }
+ ],
+ "properties": {
+ "Reason": {
+ "type": "string",
+ "description": "Describes reason."
+ }
+ },
+ "required": [
+ "Reason"
+ ],
+ "x-ms-discriminator-value": "ChaosStopped"
+ },
+ "ChaosStartedEvent": {
+ "description": "Chaos Started event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ClusterEvent"
+ }
+ ],
+ "properties": {
+ "MaxConcurrentFaults": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Maximum number of concurrent faults."
+ },
+ "TimeToRunInSeconds": {
+ "type": "number",
+ "format": "double",
+ "description": "Time to run in seconds."
+ },
+ "MaxClusterStabilizationTimeoutInSeconds": {
+ "type": "number",
+ "format": "double",
+ "description": "Maximum timeout for cluster stabilization in seconds."
+ },
+ "WaitTimeBetweenIterationsInSeconds": {
+ "type": "number",
+ "format": "double",
+ "description": "Wait time between iterations in seconds."
+ },
+ "WaitTimeBetweenFaultsInSeconds": {
+ "type": "number",
+ "format": "double",
+ "description": "Wait time between faults in seconds."
+ },
+ "MoveReplicaFaultEnabled": {
+ "type": "boolean",
+ "description": "Indicates MoveReplica fault is enabled."
+ },
+ "IncludedNodeTypeList": {
+ "type": "string",
+ "description": "List of included Node types."
+ },
+ "IncludedApplicationList": {
+ "type": "string",
+ "description": "List of included Applications."
+ },
+ "ClusterHealthPolicy": {
+ "type": "string",
+ "description": "Health policy."
+ },
+ "ChaosContext": {
+ "type": "string",
+ "description": "Chaos Context."
+ }
+ },
+ "required": [
+ "MaxConcurrentFaults",
+ "TimeToRunInSeconds",
+ "MaxClusterStabilizationTimeoutInSeconds",
+ "WaitTimeBetweenIterationsInSeconds",
+ "WaitTimeBetweenFaultsInSeconds",
+ "MoveReplicaFaultEnabled",
+ "IncludedNodeTypeList",
+ "IncludedApplicationList",
+ "ClusterHealthPolicy",
+ "ChaosContext"
+ ],
+ "x-ms-discriminator-value": "ChaosStarted"
+ },
+ "ChaosCodePackageRestartScheduledEvent": {
+ "description": "Chaos Restart Code Package Fault Scheduled event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "FaultGroupId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Id of fault group."
+ },
+ "FaultId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Id of fault."
+ },
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "ServiceManifestName": {
+ "type": "string",
+ "description": "Service manifest name."
+ },
+ "CodePackageName": {
+ "type": "string",
+ "description": "Code package name."
+ },
+ "ServicePackageActivationId": {
+ "type": "string",
+ "description": "Id of Service package activation."
+ }
+ },
+ "required": [
+ "FaultGroupId",
+ "FaultId",
+ "NodeName",
+ "ServiceManifestName",
+ "CodePackageName",
+ "ServicePackageActivationId"
+ ],
+ "x-ms-discriminator-value": "ChaosCodePackageRestartScheduled"
+ },
+ "ChaosReplicaRemovalScheduledEvent": {
+ "description": "Chaos Remove Replica Fault Scheduled event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicaEvent"
+ }
+ ],
+ "properties": {
+ "FaultGroupId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Id of fault group."
+ },
+ "FaultId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Id of fault."
+ },
+ "ServiceUri": {
+ "type": "string",
+ "description": "Service name."
+ }
+ },
+ "required": [
+ "FaultGroupId",
+ "FaultId",
+ "ServiceUri"
+ ],
+ "x-ms-discriminator-value": "ChaosReplicaRemovalScheduled"
+ },
+ "ChaosPartitionSecondaryMoveScheduledEvent": {
+ "description": "Chaos Move Secondary Fault Scheduled event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionEvent"
+ }
+ ],
+ "properties": {
+ "FaultGroupId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Id of fault group."
+ },
+ "FaultId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Id of fault."
+ },
+ "ServiceName": {
+ "type": "string",
+ "description": "Service name."
+ },
+ "SourceNode": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "DestinationNode": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "ForcedMove": {
+ "type": "boolean",
+ "description": "Indicates a forced move."
+ }
+ },
+ "required": [
+ "FaultGroupId",
+ "FaultId",
+ "ServiceName",
+ "SourceNode",
+ "DestinationNode",
+ "ForcedMove"
+ ],
+ "x-ms-discriminator-value": "ChaosPartitionSecondaryMoveScheduled"
+ },
+ "ChaosPartitionPrimaryMoveScheduledEvent": {
+ "description": "Chaos Move Primary Fault Scheduled event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionEvent"
+ }
+ ],
+ "properties": {
+ "FaultGroupId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Id of fault group."
+ },
+ "FaultId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Id of fault."
+ },
+ "ServiceName": {
+ "type": "string",
+ "description": "Service name."
+ },
+ "NodeTo": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "ForcedMove": {
+ "type": "boolean",
+ "description": "Indicates a forced move."
+ }
+ },
+ "required": [
+ "FaultGroupId",
+ "FaultId",
+ "ServiceName",
+ "NodeTo",
+ "ForcedMove"
+ ],
+ "x-ms-discriminator-value": "ChaosPartitionPrimaryMoveScheduled"
+ },
+ "ChaosReplicaRestartScheduledEvent": {
+ "description": "Chaos Restart Replica Fault Scheduled event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicaEvent"
+ }
+ ],
+ "properties": {
+ "FaultGroupId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Id of fault group."
+ },
+ "FaultId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Id of fault."
+ },
+ "ServiceUri": {
+ "type": "string",
+ "description": "Service name."
+ }
+ },
+ "required": [
+ "FaultGroupId",
+ "FaultId",
+ "ServiceUri"
+ ],
+ "x-ms-discriminator-value": "ChaosReplicaRestartScheduled"
+ },
+ "ChaosNodeRestartScheduledEvent": {
+ "description": "Chaos Restart Node Fault Scheduled event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ ],
+ "properties": {
+ "NodeInstanceId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Node instance."
+ },
+ "FaultGroupId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Id of fault group."
+ },
+ "FaultId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Id of fault."
+ }
+ },
+ "required": [
+ "NodeInstanceId",
+ "FaultGroupId",
+ "FaultId"
+ ],
+ "x-ms-discriminator-value": "ChaosNodeRestartScheduled"
+ },
+ "ManagedApplicationIdentityDescription": {
+ "description": "Managed application identity description.",
+ "properties": {
+ "TokenServiceEndpoint": {
+ "type": "string",
+ "description": "Token service endpoint."
+ },
+ "ManagedIdentities": {
+ "$ref": "#/definitions/ManagedApplicationIdentityList",
+ "description": "A list of managed application identity objects."
+ }
+ }
+ },
+ "ManagedApplicationIdentityList": {
+ "description": "A list of managed application identity objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedApplicationIdentity"
+ }
+ },
+ "ManagedApplicationIdentity": {
+ "description": "Describes a managed application identity.",
+ "required": [
+ "Name"
+ ],
+ "properties": {
+ "Name": {
+ "type": "string",
+ "description": "The name of the identity."
+ },
+ "PrincipalId": {
+ "type": "string",
+ "description": "The identity's PrincipalId."
+ }
+ }
+ },
+ "InstanceCloseDelayDurationInSeconds": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster\nupgrade, only for those instances which have a non-zero delay duration configured in the service description. See InstanceCloseDelayDurationSeconds property in $ref: \"#/definitions/StatelessServiceDescription.yaml\" for details.\nNote, the default value of InstanceCloseDelayDurationInSeconds is 4294967295, which indicates that the behavior will entirely depend on the delay configured in the stateless service description.",
+ "default": 4294967295
+ },
+ "ResourceStatus": {
+ "description": "Status of the resource.",
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "Ready",
+ "Upgrading",
+ "Creating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Unknown",
+ "description": "Indicates the resource status is unknown. The value is zero."
+ },
+ {
+ "value": "Ready",
+ "description": "Indicates the resource is ready. The value is 1."
+ },
+ {
+ "value": "Upgrading",
+ "description": "Indicates the resource is upgrading. The value is 2."
+ },
+ {
+ "value": "Creating",
+ "description": "Indicates the resource is being created. The value is 3."
+ },
+ {
+ "value": "Deleting",
+ "description": "Indicates the resource is being deleted. The value is 4."
+ },
+ {
+ "value": "Failed",
+ "description": "Indicates the resource is not functional due to persistent failures. See statusDetails property for more details. The value is 5."
+ }
+ ]
+ }
+ },
+ "SecretKind": {
+ "type": "string",
+ "description": "Describes the kind of secret.",
+ "enum": [
+ "inlinedValue",
+ "keyVaultVersionedReference"
+ ],
+ "x-ms-enum": {
+ "name": "SecretKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "inlinedValue",
+ "description": "A simple secret resource whose plaintext value is provided by the user."
+ },
+ {
+ "value": "keyVaultVersionedReference",
+ "description": "A secret resource that references a specific version of a secret stored in Azure Key Vault; the expected value is a versioned KeyVault URI corresponding to the version of the secret being referenced."
+ }
+ ]
+ }
+ },
+ "SecretResourceProperties": {
+ "description": "Describes the properties of a secret resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SecretResourcePropertiesBase"
+ }
+ ],
+ "properties": {
+ "description": {
+ "description": "User readable description of the secret.",
+ "type": "string"
+ },
+ "status": {
+ "readOnly": true,
+ "$ref": "#/definitions/ResourceStatus",
+ "description": "Status of the resource."
+ },
+ "statusDetails": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gives additional information about the current status of the secret."
+ },
+ "contentType": {
+ "type": "string",
+ "description": "The type of the content stored in the secret value. The value of this property is opaque to Service Fabric. Once set, the value of this property cannot be changed."
+ }
+ }
+ },
+ "InlinedValueSecretResourceProperties": {
+ "description": "Describes the properties of a secret resource whose value is provided explicitly as plaintext. The secret resource may have multiple values, each being uniquely versioned. The secret value of each version is stored encrypted, and delivered as plaintext into the context of applications referencing it.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SecretResourceProperties"
+ }
+ ],
+ "x-ms-discriminator-value": "inlinedValue"
+ },
+ "SecretResourceName": {
+ "type": "string",
+ "description": "Name of the Secret resource."
+ },
+ "SecretResourceDescription": {
+ "description": "This type describes a secret resource.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SecretResourceProperties",
+ "description": "Describes the properties of a secret resource."
+ },
+ "name": {
+ "$ref": "#/definitions/SecretResourceName",
+ "description": "Name of the Secret resource."
+ }
+ },
+ "required": [
+ "name",
+ "properties"
+ ]
+ },
+ "PagedSecretResourceDescriptionList": {
+ "type": "object",
+ "description": "The list of secret resources. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "One page of the list.",
+ "items": {
+ "$ref": "#/definitions/SecretResourceDescription"
+ }
+ }
+ }
+ },
+ "SecretResourcePropertiesBase": {
+ "discriminator": "kind",
+ "description": "This type describes the properties of a secret resource, including its kind.",
+ "type": "object",
+ "properties": {
+ "kind": {
+ "$ref": "#/definitions/SecretKind",
+ "description": "Describes the kind of secret."
+ }
+ },
+ "required": [
+ "kind"
+ ]
+ },
+ "SecretValue": {
+ "type": "object",
+ "description": "This type represents the unencrypted value of the secret.",
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "The actual value of the secret."
+ }
+ }
+ },
+ "SecretValueProperties": {
+ "type": "object",
+ "description": "This type describes properties of secret value resource.",
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "The actual value of the secret."
+ }
+ }
+ },
+ "SecretValueResourceDescription": {
+ "description": "This type describes a value of a secret resource. The name of this resource is the version identifier corresponding to this secret value.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Version identifier of the secret value."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SecretValueResourceProperties",
+ "description": "This type describes properties of a secret value resource."
+ }
+ },
+ "required": [
+ "name",
+ "properties"
+ ]
+ },
+ "PagedSecretValueResourceDescriptionList": {
+ "type": "object",
+ "description": "The list of values of a secret resource, paged if the number of results exceeds the limits of a single message. The next set of results can be obtained by executing the same query with the continuation token provided in the previous page.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SecretValueResourceDescription"
+ },
+ "description": "One page of the list."
+ }
+ }
+ },
+ "SecretValueResourceProperties": {
+ "description": "This type describes properties of a secret value resource.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SecretValueProperties"
+ }
+ ]
+ },
+ "VolumeProperties": {
+ "description": "Describes properties of a volume resource.",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "User readable description of the volume."
+ },
+ "status": {
+ "readOnly": true,
+ "$ref": "#/definitions/ResourceStatus",
+ "description": "Status of the volume."
+ },
+ "statusDetails": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gives additional information about the current status of the volume."
+ },
+ "provider": {
+ "$ref": "#/definitions/VolumeProvider",
+ "description": "Provider of the volume."
+ },
+ "azureFileParameters": {
+ "$ref": "#/definitions/VolumeProviderParametersAzureFile",
+ "description": "This type describes a volume provided by an Azure Files file share."
+ }
+ },
+ "required": [
+ "provider"
+ ]
+ },
+ "VolumeProvider": {
+ "type": "string",
+ "description": "Describes the provider of the volume resource.",
+ "enum": [
+ "SFAzureFile"
+ ],
+ "x-ms-enum": {
+ "name": "VolumeProvider",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "SFAzureFile",
+ "description": "Provides volumes that are backed by Azure Files."
+ }
+ ]
+ }
+ },
+ "VolumeProviderParametersAzureFile": {
+ "description": "This type describes a volume provided by an Azure Files file share.",
+ "properties": {
+ "accountName": {
+ "description": "Name of the Azure storage account for the File Share.",
+ "type": "string"
+ },
+ "accountKey": {
+ "description": "Access key of the Azure storage account for the File Share.",
+ "type": "string"
+ },
+ "shareName": {
+ "description": "Name of the Azure Files file share that provides storage for the volume.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "accountName",
+ "shareName"
+ ]
+ },
+ "VolumeReference": {
+ "description": "Describes a reference to a volume resource.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the volume being referenced."
+ },
+ "readOnly": {
+ "type": "boolean",
+ "description": "The flag indicating whether the volume is read only. Default is 'false'."
+ },
+ "destinationPath": {
+ "type": "string",
+ "description": "The path within the container at which the volume should be mounted. Only valid path characters are allowed."
+ }
+ },
+ "required": [
+ "name",
+ "destinationPath"
+ ]
+ },
+ "ApplicationScopedVolume": {
+ "description": "Describes a volume whose lifetime is scoped to the application's lifetime.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/VolumeReference"
+ }
+ ],
+ "properties": {
+ "creationParameters": {
+ "$ref": "#/definitions/ApplicationScopedVolumeCreationParameters",
+ "description": "Describes parameters for creating application-scoped volumes."
+ }
+ },
+ "required": [
+ "creationParameters"
+ ]
+ },
+ "ApplicationScopedVolumeCreationParameters": {
+ "description": "Describes parameters for creating application-scoped volumes.",
+ "type": "object",
+ "discriminator": "kind",
+ "properties": {
+ "kind": {
+ "$ref": "#/definitions/ApplicationScopedVolumeKind",
+ "description": "Specifies the application-scoped volume kind."
+ },
+ "description": {
+ "description": "User readable description of the volume.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ]
+ },
+ "ApplicationScopedVolumeCreationParametersServiceFabricVolumeDisk": {
+ "description": "Describes parameters for creating application-scoped volumes provided by Service Fabric Volume Disks",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationScopedVolumeCreationParameters"
+ }
+ ],
+ "properties": {
+ "sizeDisk": {
+ "description": "Volume size",
+ "type": "string",
+ "enum": [
+ "Small",
+ "Medium",
+ "Large"
+ ],
+ "x-ms-enum": {
+ "name": "SizeTypes",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "sizeDisk"
+ ],
+ "x-ms-discriminator-value": "ServiceFabricVolumeDisk"
+ },
+ "ApplicationScopedVolumeKind": {
+ "description": "Specifies the application-scoped volume kind.",
+ "type": "string",
+ "enum": [
+ "ServiceFabricVolumeDisk"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationScopedVolumeKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "ServiceFabricVolumeDisk",
+ "description": "Provides Service Fabric High Availability Volume Disk"
+ }
+ ]
+ }
+ },
+ "VolumeResourceName": {
+ "type": "string",
+ "description": "Name of the Volume resource."
+ },
+ "VolumeResourceDescription": {
+ "description": "This type describes a volume resource.",
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/VolumeResourceName",
+ "description": "Name of the Volume resource."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VolumeProperties",
+ "description": "Describes properties of a volume resource."
+ }
+ },
+ "required": [
+ "name",
+ "properties"
+ ]
+ },
+ "PagedVolumeResourceDescriptionList": {
+ "type": "object",
+ "description": "The list of volume resources. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "One page of the list.",
+ "items": {
+ "$ref": "#/definitions/VolumeResourceDescription"
+ }
+ }
+ }
+ },
+ "NetworkAddressPrefix": {
+ "type": "string",
+ "description": "Address space for a container network. This is expressed in CIDR notation."
+ },
+ "NetworkRef": {
+ "description": "Describes a network reference in a service.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the network"
+ },
+ "endpointRefs": {
+ "description": "A list of endpoints that are exposed on this network.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointRef"
+ }
+ }
+ }
+ },
+ "EndpointRef": {
+ "description": "Describes a reference to a service endpoint.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the endpoint."
+ }
+ }
+ },
+ "NetworkKind": {
+ "type": "string",
+ "description": "The type of a Service Fabric container network.",
+ "enum": [
+ "Local"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Local",
+ "description": "Indicates a container network local to a single Service Fabric cluster. The value is 1."
+ }
+ ]
+ }
+ },
+ "NetworkResourceProperties": {
+ "description": "Describes properties of a network resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NetworkResourcePropertiesBase"
+ }
+ ],
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "User readable description of the network."
+ },
+ "status": {
+ "readOnly": true,
+ "$ref": "#/definitions/ResourceStatus",
+ "description": "Status of the network."
+ },
+ "statusDetails": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gives additional information about the current status of the network."
+ }
+ }
+ },
+ "LocalNetworkResourceProperties": {
+ "description": "Information about a Service Fabric container network local to a single Service Fabric cluster.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NetworkResourceProperties"
+ }
+ ],
+ "x-ms-discriminator-value": "Local",
+ "properties": {
+ "networkAddressPrefix": {
+ "$ref": "#/definitions/NetworkAddressPrefix",
+ "description": "Address space for the local container network."
+ }
+ }
+ },
+ "NetworkResourceName": {
+ "type": "string",
+ "description": "Name of the Network resource."
+ },
+ "NetworkResourceDescription": {
+ "description": "This type describes a network resource.",
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/NetworkResourceName",
+ "description": "Name of the Network resource."
+ },
+ "properties": {
+ "$ref": "#/definitions/NetworkResourceProperties",
+ "description": "Describes properties of a network resource."
+ }
+ },
+ "required": [
+ "name",
+ "properties"
+ ]
+ },
+ "NetworkResourcePropertiesBase": {
+ "discriminator": "kind",
+ "description": "This type describes the properties of a network resource, including its kind.",
+ "type": "object",
+ "properties": {
+ "kind": {
+ "$ref": "#/definitions/NetworkKind",
+ "description": "The type of a Service Fabric container network."
+ }
+ },
+ "required": [
+ "kind"
+ ]
+ },
+ "PagedNetworkResourceDescriptionList": {
+ "type": "object",
+ "description": "The list of network resources. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "One page of the list.",
+ "items": {
+ "$ref": "#/definitions/NetworkResourceDescription"
+ }
+ }
+ }
+ },
+ "GatewayDestination": {
+ "description": "Describes destination endpoint for routing traffic.",
+ "type": "object",
+ "properties": {
+ "applicationName": {
+ "type": "string",
+ "description": "Name of the service fabric Mesh application."
+ },
+ "serviceName": {
+ "type": "string",
+ "description": "service that contains the endpoint."
+ },
+ "endpointName": {
+ "type": "string",
+ "description": "name of the endpoint in the service."
+ }
+ },
+ "required": [
+ "applicationName",
+ "endpointName",
+ "serviceName"
+ ]
+ },
+ "GatewayProperties": {
+ "description": "Describes properties of a gateway resource.",
+ "properties": {
+ "description": {
+ "description": "User readable description of the gateway.",
+ "type": "string"
+ },
+ "sourceNetwork": {
+ "$ref": "#/definitions/NetworkRef",
+ "description": "Network the gateway should listen on for requests."
+ },
+ "destinationNetwork": {
+ "$ref": "#/definitions/NetworkRef",
+ "description": "Network that the Application is using."
+ },
+ "tcp": {
+ "description": "Configuration for tcp connectivity for this gateway.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TcpConfig"
+ }
+ },
+ "http": {
+ "description": "Configuration for http connectivity for this gateway.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HttpConfig"
+ }
+ },
+ "status": {
+ "readOnly": true,
+ "$ref": "#/definitions/ResourceStatus",
+ "description": "Status of the resource."
+ },
+ "statusDetails": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gives additional information about the current status of the gateway."
+ },
+ "ipAddress": {
+ "readOnly": true,
+ "type": "string",
+ "description": "IP address of the gateway. This is populated in the response and is ignored for incoming requests."
+ }
+ },
+ "required": [
+ "destinationNetwork",
+ "sourceNetwork"
+ ]
+ },
+ "HttpConfig": {
+ "description": "Describes the http configuration for external connectivity for this network.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "http gateway config name."
+ },
+ "port": {
+ "type": "integer",
+ "description": "Specifies the port at which the service endpoint below needs to be exposed."
+ },
+ "hosts": {
+ "type": "array",
+ "description": "description for routing.",
+ "items": {
+ "$ref": "#/definitions/HttpHostConfig"
+ }
+ }
+ },
+ "required": [
+ "hosts",
+ "name",
+ "port"
+ ]
+ },
+ "HttpHostConfig": {
+ "description": "Describes the hostname properties for http routing.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "http hostname config name."
+ },
+ "routes": {
+ "type": "array",
+ "description": "Route information to use for routing. Routes are processed in the order they are specified. Specify routes that are more specific before routes that can handle general cases.",
+ "items": {
+ "$ref": "#/definitions/HttpRouteConfig"
+ }
+ }
+ },
+ "required": [
+ "name",
+ "routes"
+ ]
+ },
+ "HttpRouteConfig": {
+ "description": "Describes the hostname properties for http routing.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "http route name."
+ },
+ "match": {
+ "$ref": "#/definitions/HttpRouteMatchRule",
+ "description": "Describes a rule for http route matching."
+ },
+ "destination": {
+ "$ref": "#/definitions/GatewayDestination",
+ "description": "Describes destination endpoint for routing traffic."
+ }
+ },
+ "required": [
+ "destination",
+ "match",
+ "name"
+ ]
+ },
+ "HttpRouteMatchHeader": {
+ "description": "Describes header information for http route matching.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of header to match in request."
+ },
+ "value": {
+ "type": "string",
+ "description": "Value of header to match in request."
+ },
+ "type": {
+ "type": "string",
+ "description": "how to match header value",
+ "enum": [
+ "exact"
+ ],
+ "x-ms-enum": {
+ "name": "HeaderMatchType",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "HttpRouteMatchPath": {
+ "description": "Path to match for routing.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Uri path to match for request."
+ },
+ "rewrite": {
+ "type": "string",
+ "description": "replacement string for matched part of the Uri."
+ },
+ "type": {
+ "type": "string",
+ "description": "how to match value in the Uri",
+ "enum": [
+ "prefix"
+ ],
+ "x-ms-enum": {
+ "name": "PathMatchType",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "type",
+ "value"
+ ]
+ },
+ "HttpRouteMatchRule": {
+ "description": "Describes a rule for http route matching.",
+ "type": "object",
+ "properties": {
+ "path": {
+ "$ref": "#/definitions/HttpRouteMatchPath",
+ "description": "Path to match for routing."
+ },
+ "headers": {
+ "type": "array",
+ "description": "headers and their values to match in request.",
+ "items": {
+ "$ref": "#/definitions/HttpRouteMatchHeader"
+ }
+ }
+ },
+ "required": [
+ "path"
+ ]
+ },
+ "TcpConfig": {
+ "description": "Describes the tcp configuration for external connectivity for this network.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "tcp gateway config name."
+ },
+ "port": {
+ "type": "integer",
+ "description": "Specifies the port at which the service endpoint below needs to be exposed."
+ },
+ "destination": {
+ "$ref": "#/definitions/GatewayDestination",
+ "description": "Describes destination endpoint for routing traffic."
+ }
+ },
+ "required": [
+ "destination",
+ "name",
+ "port"
+ ]
+ },
+ "GatewayResourceName": {
+ "type": "string",
+ "description": "Name of the Gateway resource."
+ },
+ "GatewayResourceDescription": {
+ "description": "This type describes a gateway resource.",
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/GatewayResourceName",
+ "description": "Name of the Gateway resource."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GatewayProperties",
+ "description": "Describes properties of a gateway resource."
+ }
+ },
+ "required": [
+ "name",
+ "properties"
+ ]
+ },
+ "PagedGatewayResourceDescriptionList": {
+ "type": "object",
+ "description": "The list of gateway resources. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "One page of the list.",
+ "items": {
+ "$ref": "#/definitions/GatewayResourceDescription"
+ }
+ }
+ }
+ },
+ "ApplicationProperties": {
+ "description": "Describes properties of a application resource.",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "User readable description of the application."
+ },
+ "services": {
+ "type": "array",
+ "description": "Describes the services in the application. This property is used to create or modify services of the application. On get only the name of the service is returned. The service description can be obtained by querying for the service resource.",
+ "items": {
+ "$ref": "#/definitions/ServiceResourceDescription"
+ }
+ },
+ "diagnostics": {
+ "$ref": "#/definitions/DiagnosticsDescription",
+ "description": "Describes the diagnostics definition and usage for an application resource."
+ },
+ "debugParams": {
+ "description": "Internal - used by Visual Studio to setup the debugging session on the local development environment.",
+ "type": "string"
+ },
+ "serviceNames": {
+ "readOnly": true,
+ "description": "Names of the services in the application.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "status": {
+ "readOnly": true,
+ "$ref": "#/definitions/ResourceStatus",
+ "description": "Status of the application."
+ },
+ "statusDetails": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gives additional information about the current status of the application."
+ },
+ "healthState": {
+ "readOnly": true,
+ "$ref": "#/definitions/HealthState",
+ "description": "Describes the health state of an application resource."
+ },
+ "unhealthyEvaluation": {
+ "readOnly": true,
+ "type": "string",
+ "description": "When the application's health state is not 'Ok', this additional details from service fabric Health Manager for the user to know why the application is marked unhealthy."
+ }
+ }
+ },
+ "ApplicationResourceUpgradeProgressInfo": {
+ "description": "This type describes an application resource upgrade.",
+ "properties": {
+ "Name": {
+ "type": "string",
+ "description": "Name of the Application resource."
+ },
+ "TargetApplicationTypeVersion": {
+ "type": "string",
+ "description": "The target application version for the application upgrade."
+ },
+ "StartTimestampUtc": {
+ "type": "string",
+ "description": "The estimated UTC datetime when the upgrade started."
+ },
+ "UpgradeState": {
+ "$ref": "#/definitions/ApplicationResourceUpgradeState",
+ "description": "The state of the application resource upgrade."
+ },
+ "PercentCompleted": {
+ "type": "string",
+ "description": "The estimated percent of replicas are completed in the upgrade."
+ },
+ "ServiceUpgradeProgress": {
+ "$ref": "#/definitions/ServiceUpgradeProgressList",
+ "description": "List of service upgrade progresses."
+ },
+ "RollingUpgradeMode": {
+ "$ref": "#/definitions/RollingUpgradeMode",
+ "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored."
+ },
+ "UpgradeDuration": {
+ "type": "string",
+ "description": "The estimated amount of time that the overall upgrade elapsed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.",
+ "default": "PT0H2M0S"
+ },
+ "ApplicationUpgradeStatusDetails": {
+ "type": "string",
+ "description": "Additional detailed information about the status of the pending upgrade."
+ },
+ "UpgradeReplicaSetCheckTimeoutInSeconds": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer).",
+ "default": 42949672925
+ },
+ "FailureTimestampUtc": {
+ "type": "string",
+ "description": "The estimated UTC datetime when the upgrade failed and FailureAction was executed."
+ }
+ }
+ },
+ "ApplicationResourceUpgradeState": {
+ "type": "string",
+ "description": "The state of the application resource upgrade.",
+ "enum": [
+ "Invalid",
+ "ProvisioningTarget",
+ "RollingForward",
+ "UnprovisioningCurrent",
+ "CompletedRollforward",
+ "RollingBack",
+ "UnprovisioningTarget",
+ "CompletedRollback",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationResourceUpgradeState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the upgrade state is invalid. All Service Fabric enumerations have the invalid type. The value is 0."
+ },
+ {
+ "value": "ProvisioningTarget",
+ "description": "The upgrade is in the progress of provisioning target application type version. The value is 1."
+ },
+ {
+ "value": "RollingForward",
+ "description": "The upgrade is rolling forward to the target version but is not complete yet. The value is 2."
+ },
+ {
+ "value": "UnprovisioningCurrent",
+ "description": "The upgrade is in the progress of unprovisioning current application type version and rolling forward to the target version is completed. The value is 3."
+ },
+ {
+ "value": "CompletedRollforward",
+ "description": "The upgrade has finished rolling forward. The value is 4."
+ },
+ {
+ "value": "RollingBack",
+ "description": "The upgrade is rolling back to the previous version but is not complete yet. The value is 5."
+ },
+ {
+ "value": "UnprovisioningTarget",
+ "description": "The upgrade is in the progress of unprovisioning target application type version and rolling back to the current version is completed. The value is 6."
+ },
+ {
+ "value": "CompletedRollback",
+ "description": "The upgrade has finished rolling back. The value is 7."
+ },
+ {
+ "value": "Failed",
+ "description": "The upgrade has failed and is unable to execute FailureAction. The value is 8."
+ }
+ ]
+ }
+ },
+ "AzureInternalMonitoringPipelineSinkDescription": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DiagnosticsSinkProperties"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureInternalMonitoringPipeline",
+ "description": "Diagnostics settings for Geneva.",
+ "properties": {
+ "accountName": {
+ "description": "Azure Internal monitoring pipeline account.",
+ "type": "string"
+ },
+ "namespace": {
+ "description": "Azure Internal monitoring pipeline account namespace.",
+ "type": "string"
+ },
+ "maConfigUrl": {
+ "description": "Azure Internal monitoring agent configuration.",
+ "type": "string"
+ },
+ "fluentdConfigUrl": {
+ "description": "Azure Internal monitoring agent fluentd configuration.",
+ "type": "string"
+ },
+ "autoKeyConfigUrl": {
+ "description": "Azure Internal monitoring pipeline autokey associated with the certificate.",
+ "type": "string"
+ }
+ }
+ },
+ "DiagnosticsDescription": {
+ "description": "Describes the diagnostics options available",
+ "properties": {
+ "sinks": {
+ "description": "List of supported sinks that can be referenced.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiagnosticsSinkProperties"
+ }
+ },
+ "enabled": {
+ "description": "Status of whether or not sinks are enabled.",
+ "type": "boolean"
+ },
+ "defaultSinkRefs": {
+ "description": "The sinks to be used if diagnostics is enabled. Sink choices can be overridden at the service and code package level.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DiagnosticsRef": {
+ "description": "Reference to sinks in DiagnosticsDescription.",
+ "properties": {
+ "enabled": {
+ "description": "Status of whether or not sinks are enabled.",
+ "type": "boolean"
+ },
+ "sinkRefs": {
+ "description": "List of sinks to be used if enabled. References the list of sinks in DiagnosticsDescription.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DiagnosticsSinkKind": {
+ "type": "string",
+ "description": "The kind of DiagnosticsSink.",
+ "enum": [
+ "Invalid",
+ "AzureInternalMonitoringPipeline"
+ ],
+ "x-ms-enum": {
+ "name": "DiagnosticsSinkKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid sink kind. All Service Fabric enumerations have the invalid type."
+ },
+ {
+ "value": "AzureInternalMonitoringPipeline",
+ "description": "Diagnostics settings for Geneva."
+ }
+ ]
+ }
+ },
+ "DiagnosticsSinkProperties": {
+ "description": "Properties of a DiagnosticsSink.",
+ "discriminator": "kind",
+ "properties": {
+ "kind": {
+ "$ref": "#/definitions/DiagnosticsSinkKind",
+ "description": "The kind of DiagnosticsSink."
+ },
+ "name": {
+ "description": "Name of the sink. This value is referenced by DiagnosticsReferenceDescription",
+ "type": "string"
+ },
+ "description": {
+ "description": "A description of the sink.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ]
+ },
+ "IdentityDescription": {
+ "description": "Information describing the identities associated with this application.",
+ "properties": {
+ "tokenServiceEndpoint": {
+ "type": "string",
+ "description": "the endpoint for the token service managing this identity"
+ },
+ "type": {
+ "type": "string",
+ "description": "the types of identities associated with this resource; currently restricted to 'SystemAssigned and UserAssigned'"
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "the identifier of the tenant containing the application's identity."
+ },
+ "principalId": {
+ "type": "string",
+ "description": "the object identifier of the Service Principal of the identity associated with this resource."
+ },
+ "userAssignedIdentities": {
+ "$ref": "#/definitions/UserAssignedIdentityMap",
+ "description": "represents user assigned identities map."
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "IdentityItemDescription": {
+ "description": "Describes a single user-assigned identity associated with the application.",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "type": "string",
+ "description": "the object identifier of the Service Principal which this identity represents."
+ },
+ "clientId": {
+ "type": "string",
+ "description": "the client identifier of the Service Principal which this identity represents."
+ }
+ }
+ },
+ "RollingUpgradeMode": {
+ "type": "string",
+ "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored.",
+ "enum": [
+ "Invalid",
+ "UnmonitoredAuto",
+ "UnmonitoredManual",
+ "Monitored"
+ ],
+ "default": "Monitored",
+ "x-ms-enum": {
+ "name": "RollingUpgradeMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the upgrade mode is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "UnmonitoredAuto",
+ "description": "The upgrade will proceed automatically without performing any health monitoring. The value is 1"
+ },
+ {
+ "value": "UnmonitoredManual",
+ "description": "The upgrade will stop after completing each upgrade domain, giving the opportunity to manually monitor health before proceeding. The value is 2"
+ },
+ {
+ "value": "Monitored",
+ "description": "The upgrade will stop after completing each upgrade domain and automatically monitor health before proceeding. The value is 3"
+ }
+ ]
+ }
+ },
+ "ServiceUpgradeProgressList": {
+ "type": "array",
+ "description": "List of service upgrade progresses.",
+ "items": {
+ "$ref": "#/definitions/ServiceUpgradeProgress"
+ }
+ },
+ "ServiceUpgradeProgress": {
+ "description": "Information about how many replicas are completed or pending for a specific service during upgrade.",
+ "properties": {
+ "ServiceName": {
+ "type": "string",
+ "description": "Name of the Service resource."
+ },
+ "CompletedReplicaCount": {
+ "type": "string",
+ "description": "The number of replicas that completes the upgrade in the service."
+ },
+ "PendingReplicaCount": {
+ "type": "string",
+ "description": "The number of replicas that are waiting to be upgraded in the service."
+ }
+ }
+ },
+ "UserAssignedIdentityMap": {
+ "type": "object",
+ "description": "Defines a map that contains user assigned identities.",
+ "additionalProperties": {
+ "$ref": "#/definitions/IdentityItemDescription"
+ }
+ },
+ "AddRemoveReplicaScalingMechanism": {
+ "description": "Describes the horizontal auto scaling mechanism that adds or removes replicas (containers or container groups).",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AutoScalingMechanism"
+ },
+ {
+ "type": "object"
+ }
+ ],
+ "x-ms-discriminator-value": "AddRemoveReplica",
+ "properties": {
+ "minCount": {
+ "type": "integer",
+ "description": "Minimum number of containers (scale down won't be performed below this number)."
+ },
+ "maxCount": {
+ "type": "integer",
+ "description": "Maximum number of containers (scale up won't be performed above this number)."
+ },
+ "scaleIncrement": {
+ "type": "integer",
+ "description": "Each time auto scaling is performed, this number of containers will be added or removed."
+ }
+ },
+ "required": [
+ "minCount",
+ "maxCount",
+ "scaleIncrement"
+ ]
+ },
+ "AutoScalingMechanism": {
+ "type": "object",
+ "discriminator": "kind",
+ "description": "Describes the mechanism for performing auto scaling operation. Derived classes will describe the actual mechanism.",
+ "properties": {
+ "kind": {
+ "$ref": "#/definitions/AutoScalingMechanismKind",
+ "description": "The type of auto scaling mechanism."
+ }
+ },
+ "required": [
+ "kind"
+ ]
+ },
+ "AutoScalingMechanismKind": {
+ "type": "string",
+ "description": "Enumerates the mechanisms for auto scaling.",
+ "enum": [
+ "AddRemoveReplica"
+ ],
+ "x-ms-enum": {
+ "name": "AutoScalingMechanismKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "AddRemoveReplica",
+ "description": "Indicates that scaling should be performed by adding or removing replicas."
+ }
+ ]
+ }
+ },
+ "AutoScalingMetric": {
+ "type": "object",
+ "discriminator": "kind",
+ "description": "Describes the metric that is used for triggering auto scaling operation. Derived classes will describe resources or metrics.",
+ "properties": {
+ "kind": {
+ "$ref": "#/definitions/AutoScalingMetricKind",
+ "description": "The type of auto scaling metric"
+ }
+ },
+ "required": [
+ "kind"
+ ]
+ },
+ "AutoScalingMetricKind": {
+ "type": "string",
+ "description": "Enumerates the metrics that are used for triggering auto scaling.",
+ "enum": [
+ "Resource"
+ ],
+ "x-ms-enum": {
+ "name": "AutoScalingMetricKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Resource",
+ "description": "Indicates that the metric is one of resources, like cpu or memory."
+ }
+ ]
+ }
+ },
+ "AutoScalingPolicy": {
+ "description": "Describes the auto scaling policy",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the auto scaling policy.",
+ "type": "string"
+ },
+ "trigger": {
+ "$ref": "#/definitions/AutoScalingTrigger",
+ "description": "Determines when auto scaling operation will be invoked."
+ },
+ "mechanism": {
+ "$ref": "#/definitions/AutoScalingMechanism",
+ "description": "The mechanism that is used to scale when auto scaling operation is invoked."
+ }
+ },
+ "required": [
+ "name",
+ "trigger",
+ "mechanism"
+ ]
+ },
+ "AutoScalingResourceMetric": {
+ "description": "Describes the resource that is used for triggering auto scaling.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AutoScalingMetric"
+ },
+ {
+ "type": "object"
+ }
+ ],
+ "x-ms-discriminator-value": "Resource",
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/AutoScalingResourceMetricName",
+ "description": "Name of the resource."
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "AutoScalingResourceMetricName": {
+ "type": "string",
+ "description": "Enumerates the resources that are used for triggering auto scaling.",
+ "enum": [
+ "cpu",
+ "memoryInGB"
+ ],
+ "x-ms-enum": {
+ "name": "AutoScalingResourceMetricName",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "cpu",
+ "description": "Indicates that the resource is CPU cores."
+ },
+ {
+ "value": "memoryInGB",
+ "description": "Indicates that the resource is memory in GB."
+ }
+ ]
+ }
+ },
+ "AutoScalingTrigger": {
+ "type": "object",
+ "discriminator": "kind",
+ "description": "Describes the trigger for performing auto scaling operation.",
+ "properties": {
+ "kind": {
+ "$ref": "#/definitions/AutoScalingTriggerKind",
+ "description": "The type of auto scaling trigger"
+ }
+ },
+ "required": [
+ "kind"
+ ]
+ },
+ "AutoScalingTriggerKind": {
+ "type": "string",
+ "description": "Enumerates the triggers for auto scaling.",
+ "enum": [
+ "AverageLoad"
+ ],
+ "x-ms-enum": {
+ "name": "AutoScalingTriggerKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "AverageLoad",
+ "description": "Indicates that scaling should be performed based on average load of all replicas in the service."
+ }
+ ]
+ }
+ },
+ "ContainerCodePackageProperties": {
+ "description": "Describes a container and its runtime properties.",
+ "properties": {
+ "name": {
+ "description": "The name of the code package.",
+ "type": "string"
+ },
+ "image": {
+ "description": "The Container image to use.",
+ "type": "string"
+ },
+ "imageRegistryCredential": {
+ "$ref": "#/definitions/ImageRegistryCredential",
+ "description": "Image registry credential."
+ },
+ "entryPoint": {
+ "description": "Override for the default entry point in the container.",
+ "type": "string"
+ },
+ "commands": {
+ "description": "Command array to execute within the container in exec form.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "environmentVariables": {
+ "description": "The environment variables to set in this container",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentVariable"
+ }
+ },
+ "settings": {
+ "description": "The settings to set in this container. The setting file path can be fetched from environment variable \"Fabric_SettingPath\". The path for Windows container is \"C:\\\\secrets\". The path for Linux container is \"/var/secrets\".",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Setting"
+ }
+ },
+ "labels": {
+ "description": "The labels to set in this container.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerLabel"
+ }
+ },
+ "endpoints": {
+ "description": "The endpoints exposed by this container.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointProperties"
+ }
+ },
+ "resources": {
+ "description": "The resources required by this container.",
+ "$ref": "#/definitions/ResourceRequirements"
+ },
+ "volumeRefs": {
+ "description": "Volumes to be attached to the container. The lifetime of these volumes is independent of the application's lifetime.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VolumeReference"
+ }
+ },
+ "volumes": {
+ "description": "Volumes to be attached to the container. The lifetime of these volumes is scoped to the application's lifetime.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationScopedVolume"
+ }
+ },
+ "diagnostics": {
+ "$ref": "#/definitions/DiagnosticsRef",
+ "description": "Reference to sinks in DiagnosticsDescription."
+ },
+ "reliableCollectionsRefs": {
+ "description": "A list of ReliableCollection resources used by this particular code package. Please refer to ReliableCollectionsRef for more details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReliableCollectionsRef"
+ }
+ },
+ "instanceView": {
+ "readOnly": true,
+ "$ref": "#/definitions/ContainerInstanceView",
+ "description": "Runtime information of a container instance."
+ },
+ "livenessProbe": {
+ "description": "An array of liveness probes for a code package. It determines when to restart a code package.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Probe"
+ }
+ },
+ "readinessProbe": {
+ "description": "An array of readiness probes for a code package. It determines when to unpublish an endpoint.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Probe"
+ }
+ }
+ },
+ "required": [
+ "name",
+ "image",
+ "resources"
+ ]
+ },
+ "ContainerEvent": {
+ "description": "A container event.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the container event."
+ },
+ "count": {
+ "type": "integer",
+ "description": "The count of the event."
+ },
+ "firstTimestamp": {
+ "type": "string",
+ "description": "Date/time of the first event."
+ },
+ "lastTimestamp": {
+ "type": "string",
+ "description": "Date/time of the last event."
+ },
+ "message": {
+ "type": "string",
+ "description": "The event message"
+ },
+ "type": {
+ "type": "string",
+ "description": "The event type."
+ }
+ }
+ },
+ "ContainerInstanceView": {
+ "description": "Runtime information of a container instance.",
+ "properties": {
+ "restartCount": {
+ "type": "integer",
+ "description": "The number of times the container has been restarted."
+ },
+ "currentState": {
+ "$ref": "#/definitions/ContainerState",
+ "description": "Current container instance state."
+ },
+ "previousState": {
+ "$ref": "#/definitions/ContainerState",
+ "description": "Previous container instance state."
+ },
+ "events": {
+ "description": "The events of this container instance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerEvent"
+ }
+ }
+ }
+ },
+ "ContainerLabel": {
+ "description": "Describes a container label.",
+ "properties": {
+ "name": {
+ "description": "The name of the container label.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The value of the container label.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ]
+ },
+ "ContainerState": {
+ "description": "The container state.",
+ "properties": {
+ "state": {
+ "type": "string",
+ "description": "The state of this container"
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date/time when the container state started."
+ },
+ "exitCode": {
+ "type": "string",
+ "description": "The container exit code."
+ },
+ "finishTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date/time when the container state finished."
+ },
+ "detailStatus": {
+ "description": "Human-readable status of this state.",
+ "type": "string"
+ }
+ }
+ },
+ "DefaultExecutionPolicy": {
+ "description": "The default execution policy. Always restart the service if an exit occurs.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ExecutionPolicy"
+ },
+ {
+ "type": "object"
+ }
+ ],
+ "x-ms-discriminator-value": "Default"
+ },
+ "EndpointProperties": {
+ "description": "Describes a container endpoint.",
+ "properties": {
+ "name": {
+ "description": "The name of the endpoint.",
+ "type": "string"
+ },
+ "port": {
+ "description": "Port used by the container.",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "EnvironmentVariable": {
+ "description": "Describes an environment variable for the container.",
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/EnvironmentVariableType",
+ "description": "The type of the environment variable being given in value"
+ },
+ "name": {
+ "description": "The name of the environment variable.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The value of the environment variable, will be processed based on the type provided.",
+ "type": "string"
+ }
+ }
+ },
+ "EnvironmentVariableType": {
+ "type": "string",
+ "description": "The type of the environment variable being given in value",
+ "default": "ClearText",
+ "enum": [
+ "ClearText",
+ "KeyVaultReference",
+ "SecretValueReference"
+ ],
+ "x-ms-enum": {
+ "name": "EnvironmentVariableType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "ClearText",
+ "description": "The environment variable in clear text, will not be processed in any way and passed in as is"
+ },
+ {
+ "value": "KeyVaultReference",
+ "description": "The URI to a KeyVault secret version, will be resolved using the application's managed identity (this type is only valid if the app was assigned a managed identity) before getting passed in"
+ },
+ {
+ "value": "SecretValueReference",
+ "description": "The reference to a SecretValue resource, will be resolved before getting passed in"
+ }
+ ]
+ }
+ },
+ "ExecutionPolicy": {
+ "type": "object",
+ "discriminator": "type",
+ "description": "The execution policy of the service",
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/ExecutionPolicyType",
+ "description": "Enumerates the execution policy types for services."
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "ExecutionPolicyType": {
+ "type": "string",
+ "description": "Enumerates the execution policy types for services.",
+ "enum": [
+ "Default",
+ "RunToCompletion"
+ ],
+ "x-ms-enum": {
+ "name": "ExecutionPolicyType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Default",
+ "description": "Indicates the default execution policy, always restart the service if an exit occurs."
+ },
+ {
+ "value": "RunToCompletion",
+ "description": "Indicates that the service will perform its desired operation and complete successfully. If the service encounters failure, it will restarted based on restart policy specified. If the service completes its operation successfully, it will not be restarted again."
+ }
+ ]
+ }
+ },
+ "ImageRegistryCredential": {
+ "description": "Image registry credential.",
+ "properties": {
+ "server": {
+ "type": "string",
+ "description": "Docker image registry server, without protocol such as `http` and `https`."
+ },
+ "username": {
+ "type": "string",
+ "description": "The username for the private registry."
+ },
+ "passwordType": {
+ "$ref": "#/definitions/ImageRegistryPasswordType",
+ "description": "The type of the image registry password being given in password"
+ },
+ "password": {
+ "type": "string",
+ "description": "The password for the private registry. The password is required for create or update operations, however it is not returned in the get or list operations. Will be processed based on the type provided."
+ }
+ },
+ "required": [
+ "server",
+ "username"
+ ]
+ },
+ "ImageRegistryPasswordType": {
+ "type": "string",
+ "description": "The type of the image registry password being given in password",
+ "default": "ClearText",
+ "enum": [
+ "ClearText",
+ "KeyVaultReference",
+ "SecretValueReference"
+ ],
+ "x-ms-enum": {
+ "name": "ImageRegistryPasswordType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "ClearText",
+ "description": "The image registry password in clear text, will not be processed in any way and used directly"
+ },
+ {
+ "value": "KeyVaultReference",
+ "description": "The URI to a KeyVault secret version, will be resolved using the application's managed identity (this type is only valid if the app was assigned a managed identity) before getting used"
+ },
+ {
+ "value": "SecretValueReference",
+ "description": "The reference to a SecretValue resource, will be resolved before getting used"
+ }
+ ]
+ }
+ },
+ "OperatingSystemType": {
+ "type": "string",
+ "description": "The operation system required by the code in service.",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Linux",
+ "description": "The required operating system is Linux."
+ },
+ {
+ "value": "Windows",
+ "description": "The required operating system is Windows."
+ }
+ ]
+ }
+ },
+ "Probe": {
+ "description": "Probes have a number of fields that you can use to control their behavior.",
+ "properties": {
+ "initialDelaySeconds": {
+ "type": "integer",
+ "description": "The initial delay in seconds to start executing probe once codepackage has started.",
+ "default": 0
+ },
+ "periodSeconds": {
+ "type": "integer",
+ "description": "Periodic seconds to execute probe.",
+ "default": 10
+ },
+ "timeoutSeconds": {
+ "type": "integer",
+ "description": "Period after which probe is considered as failed if it hasn't completed successfully.",
+ "default": 1
+ },
+ "successThreshold": {
+ "type": "integer",
+ "description": "The count of successful probe executions after which probe is considered success.",
+ "default": 1
+ },
+ "failureThreshold": {
+ "type": "integer",
+ "description": "The count of failures after which probe is considered failed.",
+ "default": 3
+ },
+ "exec": {
+ "$ref": "#/definitions/ProbeExec",
+ "description": "Exec command to run inside the container."
+ },
+ "httpGet": {
+ "$ref": "#/definitions/ProbeHttpGet",
+ "description": "Http probe for the container."
+ },
+ "tcpSocket": {
+ "$ref": "#/definitions/ProbeTcpSocket",
+ "description": "Tcp port to probe inside the container."
+ }
+ }
+ },
+ "ProbeExec": {
+ "description": "Exec command to run inside the container.",
+ "properties": {
+ "command": {
+ "description": "Comma separated command to run inside the container for example \"sh, -c, echo hello world\".",
+ "type": "string"
+ }
+ },
+ "required": [
+ "command"
+ ]
+ },
+ "ProbeHttpGet": {
+ "description": "Http probe for the container.",
+ "properties": {
+ "port": {
+ "description": "Port to access for probe.",
+ "type": "integer"
+ },
+ "path": {
+ "description": "Path to access on the HTTP request.",
+ "type": "string"
+ },
+ "host": {
+ "description": "Host IP to connect to.",
+ "type": "string"
+ },
+ "httpHeaders": {
+ "description": "Headers to set in the request.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProbeHttpGetHeaders"
+ }
+ },
+ "scheme": {
+ "type": "string",
+ "description": "Scheme for the http probe. Can be Http or Https.",
+ "enum": [
+ "http",
+ "https"
+ ],
+ "x-ms-enum": {
+ "name": "scheme",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "http",
+ "description": "Indicates that the probe is http."
+ },
+ {
+ "value": "https",
+ "description": "Indicates that the probe is https. No cert validation."
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "port"
+ ]
+ },
+ "ProbeHttpGetHeaders": {
+ "description": "Http headers.",
+ "properties": {
+ "name": {
+ "description": "The name of the header.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The value of the header.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ]
+ },
+ "ProbeTcpSocket": {
+ "description": "Tcp port to probe inside the container.",
+ "properties": {
+ "port": {
+ "description": "Port to access for probe.",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "port"
+ ]
+ },
+ "ReliableCollectionsRef": {
+ "description": "Specifying this parameter adds support for reliable collections",
+ "properties": {
+ "name": {
+ "description": "Name of ReliableCollection resource. Right now it's not used and you can use any string.",
+ "type": "string"
+ },
+ "doNotPersistState": {
+ "description": "False (the default) if ReliableCollections state is persisted to disk as usual. True if you do not want to persist state, in which case replication is still enabled and you can use ReliableCollections as distributed cache.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "ResourceLimits": {
+ "description": "This type describes the resource limits for a given container. It describes the most amount of resources a container is allowed to use before being restarted.",
+ "properties": {
+ "memoryInGB": {
+ "description": "The memory limit in GB.",
+ "type": "number",
+ "format": "double"
+ },
+ "cpu": {
+ "description": "CPU limits in cores. At present, only full cores are supported.",
+ "type": "number",
+ "format": "double"
+ }
+ }
+ },
+ "ResourceRequests": {
+ "description": "This type describes the requested resources for a given container. It describes the least amount of resources required for the container. A container can consume more than requested resources up to the specified limits before being restarted. Currently, the requested resources are treated as limits.",
+ "properties": {
+ "memoryInGB": {
+ "description": "The memory request in GB for this container.",
+ "type": "number",
+ "format": "double"
+ },
+ "cpu": {
+ "description": "Requested number of CPU cores. At present, only full cores are supported.",
+ "type": "number",
+ "format": "double"
+ }
+ },
+ "required": [
+ "memoryInGB",
+ "cpu"
+ ]
+ },
+ "ResourceRequirements": {
+ "description": "This type describes the resource requirements for a container or a service.",
+ "properties": {
+ "requests": {
+ "$ref": "#/definitions/ResourceRequests",
+ "description": "Describes the requested resources for a given container."
+ },
+ "limits": {
+ "$ref": "#/definitions/ResourceLimits",
+ "description": "Describes the maximum limits on the resources for a given container."
+ }
+ },
+ "required": [
+ "requests"
+ ]
+ },
+ "RestartPolicy": {
+ "type": "string",
+ "description": "Enumerates the restart policy for RunToCompletionExecutionPolicy",
+ "enum": [
+ "OnFailure",
+ "Never"
+ ],
+ "x-ms-enum": {
+ "name": "RestartPolicy",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "OnFailure",
+ "description": "Service will be restarted when it encounters a failure."
+ },
+ {
+ "value": "Never",
+ "description": "Service will never be restarted. If the service encounters a failure, it will move to Failed state."
+ }
+ ]
+ }
+ },
+ "RunToCompletionExecutionPolicy": {
+ "description": "The run to completion execution policy, the service will perform its desired operation and complete successfully. If the service encounters failure, it will restarted based on restart policy specified. If the service completes its operation successfully, it will not be restarted again.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ExecutionPolicy"
+ },
+ {
+ "type": "object"
+ }
+ ],
+ "x-ms-discriminator-value": "RunToCompletion",
+ "properties": {
+ "restart": {
+ "$ref": "#/definitions/RestartPolicy",
+ "description": "Enumerates the restart policy for RunToCompletionExecutionPolicy"
+ }
+ },
+ "required": [
+ "restart"
+ ]
+ },
+ "ServiceProperties": {
+ "description": "Describes properties of a service resource.",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "User readable description of the service."
+ },
+ "replicaCount": {
+ "type": "integer",
+ "description": "The number of replicas of the service to create. Defaults to 1 if not specified."
+ },
+ "executionPolicy": {
+ "$ref": "#/definitions/ExecutionPolicy",
+ "description": "The execution policy of the service"
+ },
+ "autoScalingPolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AutoScalingPolicy"
+ },
+ "description": "Auto scaling policies"
+ },
+ "status": {
+ "readOnly": true,
+ "$ref": "#/definitions/ResourceStatus",
+ "description": "Status of the service."
+ },
+ "statusDetails": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gives additional information about the current status of the service."
+ },
+ "healthState": {
+ "readOnly": true,
+ "$ref": "#/definitions/HealthState",
+ "description": "Describes the health state of an application resource."
+ },
+ "unhealthyEvaluation": {
+ "readOnly": true,
+ "type": "string",
+ "description": "When the service's health state is not 'Ok', this additional details from service fabric Health Manager for the user to know why the service is marked unhealthy."
+ },
+ "identityRefs": {
+ "description": "The service identity list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceIdentity"
+ }
+ },
+ "dnsName": {
+ "type": "string",
+ "description": "Dns name of the service."
+ }
+ }
+ },
+ "ServiceReplicaProperties": {
+ "description": "Describes the properties of a service replica.",
+ "properties": {
+ "osType": {
+ "$ref": "#/definitions/OperatingSystemType",
+ "description": "The operation system required by the code in service."
+ },
+ "codePackages": {
+ "description": "Describes the set of code packages that forms the service. A code package describes the container and the properties for running it. All the code packages are started together on the same host and share the same context (network, process etc.).",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerCodePackageProperties"
+ }
+ },
+ "networkRefs": {
+ "type": "array",
+ "description": "The names of the private networks that this service needs to be part of.",
+ "items": {
+ "$ref": "#/definitions/NetworkRef"
+ }
+ },
+ "diagnostics": {
+ "$ref": "#/definitions/DiagnosticsRef",
+ "description": "Reference to sinks in DiagnosticsDescription."
+ }
+ },
+ "required": [
+ "osType",
+ "codePackages"
+ ]
+ },
+ "Setting": {
+ "description": "Describes a setting for the container. The setting file path can be fetched from environment variable \"Fabric_SettingPath\". The path for Windows container is \"C:\\\\secrets\". The path for Linux container is \"/var/secrets\".",
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/SettingType",
+ "description": "The type of the setting being given in value"
+ },
+ "name": {
+ "description": "The name of the setting.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The value of the setting, will be processed based on the type provided.",
+ "type": "string"
+ }
+ }
+ },
+ "SettingType": {
+ "type": "string",
+ "description": "The type of the setting being given in value",
+ "default": "ClearText",
+ "enum": [
+ "ClearText",
+ "KeyVaultReference",
+ "SecretValueReference"
+ ],
+ "x-ms-enum": {
+ "name": "SettingType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "ClearText",
+ "description": "The setting in clear text, will not be processed in any way and passed in as is"
+ },
+ {
+ "value": "KeyVaultReference",
+ "description": "The URI to a KeyVault secret version, will be resolved using the application's managed identity (this type is only valid if the app was assigned a managed identity) before getting passed in"
+ },
+ {
+ "value": "SecretValueReference",
+ "description": "The reference to a SecretValue resource, will be resolved before getting passed in"
+ }
+ ]
+ }
+ },
+ "ServiceReplicaDescription": {
+ "description": "Describes a replica of a service resource.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceReplicaProperties"
+ }
+ ],
+ "properties": {
+ "replicaName": {
+ "type": "string",
+ "description": "Name of the replica."
+ }
+ },
+ "required": [
+ "replicaName"
+ ]
+ },
+ "AverageLoadScalingTrigger": {
+ "description": "Describes the average load trigger used for auto scaling.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AutoScalingTrigger"
+ },
+ {
+ "type": "object"
+ }
+ ],
+ "x-ms-discriminator-value": "AverageLoad",
+ "properties": {
+ "metric": {
+ "$ref": "#/definitions/AutoScalingMetric",
+ "description": "Description of the metric that is used for scaling."
+ },
+ "lowerLoadThreshold": {
+ "type": "number",
+ "format": "double",
+ "description": "Lower load threshold (if average load is below this threshold, service will scale down)."
+ },
+ "upperLoadThreshold": {
+ "type": "number",
+ "format": "double",
+ "description": "Upper load threshold (if average load is above this threshold, service will scale up)."
+ },
+ "scaleIntervalInSeconds": {
+ "type": "integer",
+ "description": "Scale interval that indicates how often will this trigger be checked.",
+ "minimum": 60
+ }
+ },
+ "required": [
+ "metric",
+ "lowerLoadThreshold",
+ "upperLoadThreshold",
+ "scaleIntervalInSeconds"
+ ]
+ },
+ "ServiceIdentity": {
+ "description": "Map service identity friendly name to an application identity.",
+ "properties": {
+ "name": {
+ "description": "The identity friendly name.",
+ "type": "string"
+ },
+ "identityRef": {
+ "description": "The application identity name.",
+ "type": "string"
+ }
+ }
+ },
+ "ServiceResourceName": {
+ "type": "string",
+ "description": "Name of the Service resource."
+ },
+ "ServiceResourceDescription": {
+ "description": "This type describes a service resource.",
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/ServiceResourceName",
+ "description": "Name of the Service resource."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ServiceResourceProperties",
+ "description": "This type describes properties of a service resource."
+ }
+ },
+ "required": [
+ "name",
+ "properties"
+ ]
+ },
+ "ServiceResourceProperties": {
+ "description": "This type describes properties of a service resource.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceReplicaProperties"
+ },
+ {
+ "$ref": "#/definitions/ServiceProperties"
+ }
+ ]
+ },
+ "PagedServiceResourceDescriptionList": {
+ "type": "object",
+ "description": "The list of service resources. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "One page of the list.",
+ "items": {
+ "$ref": "#/definitions/ServiceResourceDescription"
+ }
+ }
+ }
+ },
+ "PagedServiceReplicaDescriptionList": {
+ "description": "The list of service resource replicas in the cluster. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "List of service resource replica description.",
+ "items": {
+ "$ref": "#/definitions/ServiceReplicaDescription"
+ }
+ }
+ }
+ },
+ "ApplicationResourceName": {
+ "type": "string",
+ "description": "Name of the Application resource."
+ },
+ "ApplicationResourceDescription": {
+ "description": "This type describes a application resource.",
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/ApplicationResourceName",
+ "description": "Name of the Application resource."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationProperties",
+ "description": "Describes properties of a application resource."
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityDescription",
+ "description": "Describes the identity of the application."
+ }
+ },
+ "required": [
+ "name",
+ "properties"
+ ]
+ },
+ "PagedApplicationResourceDescriptionList": {
+ "type": "object",
+ "description": "The list of application resources. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "One page of the list.",
+ "items": {
+ "$ref": "#/definitions/ApplicationResourceDescription"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "CodePackageNameRequiredPathParam": {
+ "name": "codePackageName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "The name of code package of the service."
+ },
+ "ApiVersion_6-4-Preview_RequiredQueryParam": {
+ "name": "api-version",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "6.4-preview"
+ ],
+ "required": true,
+ "default": "6.4-preview",
+ "description": "The version of the API. This parameter is required and its value must be '6.4-preview'.",
+ "x-ms-enum": {
+ "name": "ApiVersion_6-4-Preview_RequiredQueryParam",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "6.4-preview",
+ "description": "The version number for the preview functionality of 6.4 runtime"
+ }
+ ]
+ }
+ },
+ "TailOptionalQueryParam": {
+ "name": "Tail",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "Number of lines to show from the end of the logs. Default is 100. 'all' to show the complete logs."
+ },
+ "ApiVersion_6-0-Preview_RequiredQueryParam": {
+ "name": "api-version",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "6.0-preview"
+ ],
+ "required": true,
+ "default": "6.0-preview",
+ "description": "The version of the API. This parameter is required and its value must be '\"6.0-preview'.",
+ "x-ms-enum": {
+ "name": "ApiVersion_6-0-Preview_RequiredQueryParam",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "6.0-preview",
+ "description": "The version number for the preview functionality of 6.0 runtime."
+ }
+ ]
+ }
+ },
+ "ApiVersion_6-0_RequiredQueryParam": {
+ "name": "api-version",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "6.0"
+ ],
+ "required": true,
+ "default": "6.0",
+ "description": "The version of the API. This parameter is required and its value must be '6.0'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accept any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0, but if the runtime is 6.1, in order to make it easier to write the clients, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.",
+ "x-ms-enum": {
+ "name": "ApiVersion_6-0_RequiredQueryParam",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "6.0",
+ "description": "The 6.0 version of the API."
+ }
+ ]
+ }
+ },
+ "ApiVersion_6-1_RequiredQueryParam": {
+ "name": "api-version",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "6.1"
+ ],
+ "required": true,
+ "default": "6.1",
+ "description": "The version of the API. This parameter is required and its value must be '6.1'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accept any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0, but if the runtime is 6.1, in order to make it easier to write the clients, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.",
+ "x-ms-enum": {
+ "name": "ApiVersion_6-1_RequiredQueryParam",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "6.1",
+ "description": "The 6.1 version of the API."
+ }
+ ]
+ }
+ },
+ "ApiVersion_6-2_RequiredQueryParam": {
+ "name": "api-version",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "6.2"
+ ],
+ "required": true,
+ "default": "6.2",
+ "description": "The version of the API. This parameter is required and its value must be '6.2'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.",
+ "x-ms-enum": {
+ "name": "ApiVersion_6-2_RequiredQueryParam",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "6.2",
+ "description": "The 6.2 version of the API."
+ }
+ ]
+ }
+ },
+ "ApiVersion_6-2-Preview_RequiredQueryParam": {
+ "name": "api-version",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "6.2-preview"
+ ],
+ "required": true,
+ "default": "6.2-preview",
+ "description": "The version of the API. This parameter is required and its value must be '6.2-preview'.",
+ "x-ms-enum": {
+ "name": "ApiVersion_6-2-Preview_RequiredQueryParam",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "6.2-preview",
+ "description": "The version number for the preview functionality of 6.2 runtime"
+ }
+ ]
+ }
+ },
+ "ApiVersion_6-3_RequiredQueryParam": {
+ "name": "api-version",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "6.3"
+ ],
+ "required": true,
+ "default": "6.3",
+ "description": "The version of the API. This parameter is required and its value must be '6.3'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.",
+ "x-ms-enum": {
+ "name": "ApiVersion_6-3_RequiredQueryParam",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "6.3",
+ "description": "The 6.3 version of the API."
+ }
+ ]
+ }
+ },
+ "ApiVersion_6-3-Preview_RequiredQueryParam": {
+ "name": "api-version",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "6.3-preview"
+ ],
+ "required": true,
+ "default": "6.3-preview",
+ "description": "The version of the API. This parameter is required and its value must be '6.3-preview'.",
+ "x-ms-enum": {
+ "name": "ApiVersion_6-3-Preview_RequiredQueryParam",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "6.3-preview",
+ "description": "The version number for the preview functionality of 6.3 runtime"
+ }
+ ]
+ }
+ },
+ "ApiVersion_6-4_RequiredQueryParam": {
+ "name": "api-version",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "6.4"
+ ],
+ "required": true,
+ "default": "6.4",
+ "description": "The version of the API. This parameter is required and its value must be '6.4'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.",
+ "x-ms-enum": {
+ "name": "ApiVersion_6-4_RequiredQueryParam",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "6.4",
+ "description": "The 6.4 version of the API."
+ }
+ ]
+ }
+ },
+ "ApiVersion_6-5_RequiredQueryParam": {
+ "name": "api-version",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "6.5"
+ ],
+ "required": true,
+ "default": "6.5",
+ "description": "The version of the API. This parameter is required and its value must be '6.5'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.",
+ "x-ms-enum": {
+ "name": "ApiVersion_6-5_RequiredQueryParam",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "6.5",
+ "description": "The 6.5 version of the API."
+ }
+ ]
+ }
+ },
+ "ApiVersion_7-0_RequiredQueryParam": {
+ "name": "api-version",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "7.0"
+ ],
+ "required": true,
+ "default": "7.0",
+ "description": "The version of the API. This parameter is required and its value must be '7.0'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.",
+ "x-ms-enum": {
+ "name": "ApiVersion_7-0_RequiredQueryParam",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "7.0",
+ "description": "The 7.0 version of the API."
+ }
+ ]
+ }
+ },
+ "ApplicationDefinitionKindFilterOptionalQueryParam": {
+ "name": "ApplicationDefinitionKindFilter",
+ "description": "Used to filter on ApplicationDefinitionKind, which is the mechanism used to define a Service Fabric application.\n- Default - Default value, which performs the same function as selecting \"All\". The value is 0.\n- All - Filter that matches input with any ApplicationDefinitionKind value. The value is 65535.\n- ServiceFabricApplicationDescription - Filter that matches input with ApplicationDefinitionKind value ServiceFabricApplicationDescription. The value is 1.\n- Compose - Filter that matches input with ApplicationDefinitionKind value Compose. The value is 2.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false,
+ "default": 0
+ },
+ "ApplicationHealthPolicyOptionalBodyParam": {
+ "name": "ApplicationHealthPolicy",
+ "in": "body",
+ "description": "Describes the health policies used to evaluate the health of an application or one of its children.\nIf not present, the health evaluation uses the health policy from application manifest or the default health policy.",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ApplicationHealthPolicy"
+ }
+ },
+ "ApplicationIdRequiredPathParam": {
+ "name": "applicationId",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "The identity of the application. This is typically the full name of the application without the 'fabric:' URI scheme.\nStarting from version 6.0, hierarchical names are delimited with the \"~\" character.\nFor example, if the application name is \"fabric:/myapp/app1\", the application identity would be \"myapp~app1\" in 6.0+ and \"myapp/app1\" in previous versions."
+ },
+ "ApplicationsHealthStateFilterOptionalQueryParam": {
+ "name": "ApplicationsHealthStateFilter",
+ "description": "Allows filtering of the application health state objects returned in the result of cluster health\nquery based on their health state.\nThe possible values for this parameter include integer value obtained from members or bitwise operations\non members of HealthStateFilter enumeration. Only applications that match the filter are returned.\nAll applications are used to evaluate the aggregated health state. If not specified, all entries are returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6 then health state of applications with HealthState value of OK (2) and Warning (4) are returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false,
+ "default": 0
+ },
+ "ApplicationTypeDefinitionKindFilterOptionalQueryParam": {
+ "name": "ApplicationTypeDefinitionKindFilter",
+ "description": "Used to filter on ApplicationTypeDefinitionKind which is the mechanism used to define a Service Fabric application type.\n- Default - Default value, which performs the same function as selecting \"All\". The value is 0.\n- All - Filter that matches input with any ApplicationTypeDefinitionKind value. The value is 65535.\n- ServiceFabricApplicationPackage - Filter that matches input with ApplicationTypeDefinitionKind value ServiceFabricApplicationPackage. The value is 1.\n- Compose - Filter that matches input with ApplicationTypeDefinitionKind value Compose. The value is 2.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false,
+ "default": 0
+ },
+ "ApplicationTypeNameOptionalQueryParam": {
+ "name": "ApplicationTypeName",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The application type name used to filter the applications to query for. This value should not contain the application type version."
+ },
+ "ApplicationTypeNameRequiredPathParam": {
+ "name": "applicationTypeName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "The name of the application type."
+ },
+ "ApplicationTypeVersionOptionalQueryParam": {
+ "name": "ApplicationTypeVersion",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The version of the application type."
+ },
+ "ApplicationTypeVersionRequiredQueryParam": {
+ "name": "ApplicationTypeVersion",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "The version of the application type."
+ },
+ "ProvisionApplicationTypeDescriptionBaseRequiredBodyParam": {
+ "name": "ProvisionApplicationTypeDescriptionBaseRequiredBodyParam",
+ "in": "body",
+ "description": "The base type of provision application type description which supports either image store-based provision or external store-based provision.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ProvisionApplicationTypeDescriptionBase"
+ }
+ },
+ "ClusterConfigurationUpgradeDescriptionRequiredBodyParam": {
+ "name": "ClusterConfigurationUpgradeDescription",
+ "in": "body",
+ "description": "Parameters for a standalone cluster configuration upgrade.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ClusterConfigurationUpgradeDescription"
+ }
+ },
+ "ClusterHealthPoliciesOptionalBodyParam": {
+ "name": "ClusterHealthPolicies",
+ "in": "body",
+ "description": "Describes the health policies used to evaluate the cluster health.\nIf not present, the health evaluation uses the cluster health policy defined in the cluster manifest or the default cluster health policy.\nBy default, each application is evaluated using its specific application health policy, defined in the application manifest, or the default health policy, if no policy is defined in manifest.\nIf the application health policy map is specified, and it has an entry for an application, the specified application health policy\nis used to evaluate the application health.",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ClusterHealthPolicies"
+ }
+ },
+ "ClusterHealthPolicyOptionalBodyParam": {
+ "name": "ClusterHealthPolicy",
+ "in": "body",
+ "description": "Describes the health policies used to evaluate the health of a cluster or node. If not present, the health evaluation uses the health policy from cluster manifest or the default health policy.",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ClusterHealthPolicy"
+ }
+ },
+ "ClusterHealthChunkQueryDescriptionOptionalBodyParam": {
+ "name": "ClusterHealthChunkQueryDescription",
+ "in": "body",
+ "description": "Describes the cluster and application health policies used to evaluate the cluster health and the filters to select which cluster entities to be returned.\nIf the cluster health policy is present, it is used to evaluate the cluster events and the cluster nodes. If not present, the health evaluation uses the cluster health policy defined in the cluster manifest or the default cluster health policy.\nBy default, each application is evaluated using its specific application health policy, defined in the application manifest, or the default health policy, if no policy is defined in manifest.\nIf the application health policy map is specified, and it has an entry for an application, the specified application health policy\nis used to evaluate the application health.\nUsers can specify very flexible filters to select which cluster entities to include in response. The selection can be done based on the entities health state and based on the hierarchy.\nThe query can return multi-level children of the entities based on the specified filters. For example, it can return one application with a specified name, and for this application, return\nonly services that are in Error or Warning, and all partitions and replicas for one of these services.",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ClusterHealthChunkQueryDescription"
+ }
+ },
+ "CodePackageInstanceIdRequiredQueryParam": {
+ "name": "CodePackageInstanceId",
+ "description": "ID that uniquely identifies a code package instance deployed on a service fabric node.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true
+ },
+ "CodePackageNameRequiredQueryParam": {
+ "name": "CodePackageName",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "The name of code package specified in service manifest registered as part of an application type in a Service Fabric cluster."
+ },
+ "CodeVersionOptionalQueryParam": {
+ "name": "CodeVersion",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The product version of Service Fabric."
+ },
+ "ConfigVersionOptionalQueryParam": {
+ "name": "ConfigVersion",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The config version of Service Fabric."
+ },
+ "ConfigurationApiVersionRequiredQueryParam": {
+ "name": "ConfigurationApiVersion",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "The API version of the Standalone cluster json configuration."
+ },
+ "ContainerApiRequiredBodyParam": {
+ "name": "ContainerApiRequestBody",
+ "in": "body",
+ "description": "Parameters for making container API call",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ContainerApiRequestBody"
+ }
+ },
+ "ContinuationTokenOptionalQueryParam": {
+ "name": "ContinuationToken",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": false,
+ "description": "The continuation token parameter is used to obtain next set of results. A continuation token with a non-empty value is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token does not contain a value. The value of this parameter should not be URL encoded."
+ },
+ "DeployedApplicationsHealthStateFilterOptionalQueryParam": {
+ "name": "DeployedApplicationsHealthStateFilter",
+ "description": "Allows filtering of the deployed applications health state objects returned in the result of application health query based on their health state.\nThe possible values for this parameter include integer value of one of the following health states. Only deployed applications that match the filter will be returned.\nAll deployed applications are used to evaluate the aggregated health state. If not specified, all entries are returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values, obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6 then health state of deployed applications with HealthState value of OK (2) and Warning (4) are returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false,
+ "default": 0
+ },
+ "DeployedServicePackagesHealthStateFilterOptionalQueryParam": {
+ "name": "DeployedServicePackagesHealthStateFilter",
+ "description": "Allows filtering of the deployed service package health state objects returned in the result of deployed application health query based on their health state.\nThe possible values for this parameter include integer value of one of the following health states.\nOnly deployed service packages that match the filter are returned. All deployed service packages are used to evaluate the aggregated health state of the deployed application.\nIf not specified, all entries are returned.\nThe state values are flag-based enumeration, so the value can be a combination of these values, obtained using the bitwise 'OR' operator.\nFor example, if the provided value is 6 then health state of service packages with HealthState value of OK (2) and Warning (4) are returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false,
+ "default": 0
+ },
+ "DeploymentNameRequiredPathParam": {
+ "name": "deploymentName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "The identity of the deployment."
+ },
+ "EventsHealthStateFilterOptionalQueryParam": {
+ "name": "EventsHealthStateFilter",
+ "description": "Allows filtering the collection of HealthEvent objects returned based on health state.\nThe possible values for this parameter include integer value of one of the following health states.\nOnly events that match the filter are returned. All events are used to evaluate the aggregated health state.\nIf not specified, all entries are returned. The state values are flag-based enumeration, so the value could be a combination of these values, obtained using the bitwise 'OR' operator. For example, If the provided value is 6 then all of the events with HealthState value of OK (2) and Warning (4) are returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false,
+ "default": 0
+ },
+ "ExcludeApplicationParametersOptionalQueryParam": {
+ "name": "ExcludeApplicationParameters",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "default": false,
+ "description": "The flag that specifies whether application parameters will be excluded from the result."
+ },
+ "HealthInformationRequiredBodyParam": {
+ "name": "HealthInformation",
+ "in": "body",
+ "description": "Describes the health information for the health report. This information needs to be present in all of the health reports sent to the health manager.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/HealthInformation"
+ }
+ },
+ "NodeNameRequiredPathParam": {
+ "name": "nodeName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "The name of the node."
+ },
+ "NodesHealthStateFilterOptionalQueryParam": {
+ "name": "NodesHealthStateFilter",
+ "description": "Allows filtering of the node health state objects returned in the result of cluster health query\nbased on their health state. The possible values for this parameter include integer value of one of the\nfollowing health states. Only nodes that match the filter are returned. All nodes are used to evaluate the aggregated health state.\nIf not specified, all entries are returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6 then health state of nodes with HealthState value of OK (2) and Warning (4) are returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false,
+ "default": 0
+ },
+ "NodeStatusFilterOptionalQueryParam": {
+ "name": "NodeStatusFilter",
+ "description": "Allows filtering the nodes based on the NodeStatus. Only the nodes that are matching the specified filter value will be returned. The filter value can be one of the following.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "default",
+ "all",
+ "up",
+ "down",
+ "enabling",
+ "disabling",
+ "disabled",
+ "unknown",
+ "removed"
+ ],
+ "required": false,
+ "default": "default",
+ "x-ms-enum": {
+ "name": "NodeStatusFilter",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "default",
+ "description": "This filter value will match all of the nodes excepts the ones with status as Unknown or Removed."
+ },
+ {
+ "value": "all",
+ "description": "This filter value will match all of the nodes."
+ },
+ {
+ "value": "up",
+ "description": "This filter value will match nodes that are Up."
+ },
+ {
+ "value": "down",
+ "description": "This filter value will match nodes that are Down."
+ },
+ {
+ "value": "enabling",
+ "description": "This filter value will match nodes that are in the process of being enabled with status as Enabling."
+ },
+ {
+ "value": "disabling",
+ "description": "This filter value will match nodes that are in the process of being disabled with status as Disabling."
+ },
+ {
+ "value": "disabled",
+ "description": "This filter value will match nodes that are Disabled."
+ },
+ {
+ "value": "unknown",
+ "description": "This filter value will match nodes whose status is Unknown. A node would be in Unknown state if Service Fabric does not have authoritative information about that node. This can happen if the system learns about a node at runtime."
+ },
+ {
+ "value": "removed",
+ "description": "This filter value will match nodes whose status is Removed. These are the nodes that are removed from the cluster using the RemoveNodeState API."
+ }
+ ]
+ }
+ },
+ "PartitionIdOptionalQueryParam": {
+ "name": "PartitionId",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "format": "uuid",
+ "required": false,
+ "description": "The identity of the partition."
+ },
+ "PartitionIdRequiredPathParam": {
+ "name": "partitionId",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "format": "uuid",
+ "required": true,
+ "description": "The identity of the partition."
+ },
+ "ProvisionFabricDescriptionRequiredBodyParam": {
+ "name": "ProvisionFabricDescription",
+ "in": "body",
+ "description": "Describes the parameters for provisioning a cluster.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ProvisionFabricDescription"
+ }
+ },
+ "UnprovisionFabricDescriptionRequiredBodyParam": {
+ "name": "UnprovisionFabricDescription",
+ "in": "body",
+ "description": "Describes the parameters for unprovisioning a cluster.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/UnprovisionFabricDescription"
+ }
+ },
+ "ResumeClusterUpgradeDescriptionRequiredBodyParam": {
+ "name": "ResumeClusterUpgradeDescription",
+ "in": "body",
+ "description": "Describes the parameters for resuming a cluster upgrade.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ResumeClusterUpgradeDescription"
+ }
+ },
+ "UpdateClusterUpgradeDescriptionRequiredBodyParam": {
+ "name": "UpdateClusterUpgradeDescription",
+ "in": "body",
+ "description": "Parameters for updating a cluster upgrade.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/UpdateClusterUpgradeDescription"
+ }
+ },
+ "StartClusterUpgradeDescriptionRequiredBodyParam": {
+ "name": "StartClusterUpgradeDescription",
+ "in": "body",
+ "description": "Describes the parameters for starting a cluster upgrade.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/StartClusterUpgradeDescription"
+ }
+ },
+ "ReplicaHealthReportServiceKindRequiredQueryParam": {
+ "name": "ServiceKind",
+ "in": "query",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "description": "The kind of service replica (Stateless or Stateful) for which the health is being reported. Following are the possible values.",
+ "type": "string",
+ "enum": [
+ "Stateless",
+ "Stateful"
+ ],
+ "default": "Stateful",
+ "x-ms-enum": {
+ "name": "ReplicaHealthReportServiceKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Stateless",
+ "description": "Does not use Service Fabric to make its state highly available or reliable. The value is 1"
+ },
+ {
+ "value": "Stateful",
+ "description": "Uses Service Fabric to make its state or part of its state highly available and reliable. The value is 2."
+ }
+ ]
+ }
+ },
+ "ReplicaIdRequiredPathParam": {
+ "name": "replicaId",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "The identifier of the replica."
+ },
+ "ReplicasHealthStateFilerOptionalQueryParam": {
+ "name": "ReplicasHealthStateFilter",
+ "description": "Allows filtering the collection of ReplicaHealthState objects on the partition. The value can be obtained from members or bitwise operations on members of HealthStateFilter. Only replicas that match the filter will be returned. All replicas will be used to evaluate the aggregated health state. If not specified, all entries will be returned.The state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator. For example, If the provided value is 6 then all of the events with HealthState value of OK (2) and Warning (4) will be returned. The possible values for this parameter include integer value of one of the following health states.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false,
+ "default": 0
+ },
+ "ServiceIdRequiredPathParam": {
+ "name": "serviceId",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "The identity of the service. This ID is typically the full name of the service without the 'fabric:' URI scheme.\nStarting from version 6.0, hierarchical names are delimited with the \"~\" character.\nFor example, if the service name is \"fabric:/myapp/app1/svc1\", the service identity would be \"myapp~app1~svc1\" in 6.0+ and \"myapp/app1/svc1\" in previous versions."
+ },
+ "ServiceManifestNameOptionalQueryParam": {
+ "name": "ServiceManifestName",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The name of a service manifest registered as part of an application type in a Service Fabric cluster."
+ },
+ "ServiceManifestNameRequiredQueryParam": {
+ "name": "ServiceManifestName",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "The name of a service manifest registered as part of an application type in a Service Fabric cluster."
+ },
+ "ServicePackageNameRequiredPathParam": {
+ "name": "servicePackageName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "The name of the service package."
+ },
+ "ServicesHealthStateFilterOptionalQueryParam": {
+ "name": "ServicesHealthStateFilter",
+ "description": "Allows filtering of the services health state objects returned in the result of services health query based on their health state.\nThe possible values for this parameter include integer value of one of the following health states.\nOnly services that match the filter are returned. All services are used to evaluate the aggregated health state.\nIf not specified, all entries are returned. The state values are flag-based enumeration, so the value could be a combination of these values,\nobtained using bitwise 'OR' operator. For example, if the provided value is 6 then health state of services with HealthState value of OK (2) and Warning (4) will be returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false,
+ "default": 0
+ },
+ "CreateServiceFromTemplateRequiredBodyParam": {
+ "name": "ServiceFromTemplateDescription",
+ "in": "body",
+ "description": "Describes the service that needs to be created from the template defined in the application manifest.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ServiceFromTemplateDescription"
+ }
+ },
+ "ServiceTypeNameOptionalQueryParam": {
+ "name": "ServiceTypeName",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The service type name used to filter the services to query for."
+ },
+ "InfrastructureCommandRequiredQueryParam": {
+ "name": "Command",
+ "description": "The text of the command to be invoked. The content of the command is infrastructure-specific.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true
+ },
+ "InfrastructureServiceIdOptionalQueryParam": {
+ "name": "ServiceId",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "description": "The identity of the infrastructure service. This is the full name of the infrastructure service without the 'fabric:' URI scheme. This parameter required only for the cluster that has more than one instance of infrastructure service running.",
+ "required": false
+ },
+ "ForceRemoveOptionalQueryParam": {
+ "name": "ForceRemove",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "description": "Remove a Service Fabric application or service forcefully without going through the graceful shutdown sequence. This parameter can be used to forcefully delete an application or service for which delete is timing out due to issues in the service code that prevents graceful close of replicas."
+ },
+ "ForceRemoveReplicaOptionalQueryParam": {
+ "name": "ForceRemove",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "description": "Remove a Service Fabric application or service forcefully without going through the graceful shutdown sequence. This parameter can be used to forcefully delete an application or service for which delete is timing out due to issues in the service code that prevents graceful close of replicas."
+ },
+ "DeactivationIntentDescriptionRequiredBodyParam": {
+ "name": "DeactivationIntentDescription",
+ "in": "body",
+ "description": "Describes the intent or reason for deactivating the node.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/DeactivationIntentDescription"
+ }
+ },
+ "RestartNodeDescriptionRequiredBodyParam": {
+ "name": "RestartNodeDescription",
+ "in": "body",
+ "description": "The instance of the node to be restarted and a flag indicating the need to take dump of the fabric process.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/RestartNodeDescription"
+ }
+ },
+ "ApplicationUpgradeDescriptionRequiredBodyParam": {
+ "name": "ApplicationUpgradeDescription",
+ "in": "body",
+ "description": "Parameters for an application upgrade.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ApplicationUpgradeDescription"
+ }
+ },
+ "ComposeDeploymentUpgradeDescriptionRequiredBodyParam": {
+ "name": "ComposeDeploymentUpgradeDescription",
+ "in": "body",
+ "description": "Parameters for upgrading compose deployment.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ComposeDeploymentUpgradeDescription"
+ }
+ },
+ "ApplicationTypeImageStorePathRequiredBodyParam": {
+ "name": "ApplicationTypeImageStorePath",
+ "in": "body",
+ "description": "The relative path for the application package in the image store specified during the prior copy operation.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ApplicationTypeImageStorePath"
+ }
+ },
+ "UnprovisionApplicationTypeRequiredBodyParam": {
+ "name": "UnprovisionApplicationTypeDescriptionInfo",
+ "in": "body",
+ "description": "The relative path for the application package in the image store specified during the prior copy operation.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/UnprovisionApplicationTypeDescriptionInfo"
+ }
+ },
+ "UpgradeOrchestrationServiceStateRequiredBodyParam": {
+ "name": "UpgradeOrchestrationServiceState",
+ "in": "body",
+ "x-ms-parameter-location": "method",
+ "required": true,
+ "description": "Service state of Service Fabric Upgrade Orchestration Service.",
+ "schema": {
+ "$ref": "#/definitions/UpgradeOrchestrationServiceState"
+ }
+ },
+ "ChaosParametersRequiredBodyParam": {
+ "name": "ChaosParameters",
+ "in": "body",
+ "description": "Describes all the parameters to configure a Chaos run.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ChaosParameters"
+ }
+ },
+ "StartTimeUtcOptionalQueryParam": {
+ "name": "StartTimeUtc",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The Windows file time representing the start time of the time range for which a Chaos report is to be generated. Consult [DateTime.ToFileTimeUtc Method](https://msdn.microsoft.com/library/system.datetime.tofiletimeutc(v=vs.110).aspx) for details."
+ },
+ "EndTimeUtcOptionalQueryParam": {
+ "name": "EndTimeUtc",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The Windows file time representing the end time of the time range for which a Chaos report is to be generated. Consult [DateTime.ToFileTimeUtc Method](https://msdn.microsoft.com/library/system.datetime.tofiletimeutc(v=vs.110).aspx) for details."
+ },
+ "ApplicationNameRequiredQueryParam": {
+ "name": "ApplicationName",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "The name of application to create from compose file. This is typically the full name of the application including 'fabric:' URI scheme."
+ },
+ "CreateComposeDeploymentRequiredBodyParam": {
+ "name": "CreateComposeDeploymentDescription",
+ "in": "body",
+ "description": "Describes the compose deployment that needs to be created.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/CreateComposeDeploymentDescription"
+ }
+ },
+ "PasswordEncryptedOptionalQueryParam": {
+ "name": "PasswordEncrypted",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "description": "Indicates that supplied container repository password is encrypted."
+ },
+ "RepositoryPasswordOptionalQueryParam": {
+ "name": "RepositoryPassword",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The password for supplied username to connect to container repository."
+ },
+ "RepositoryUserNameOptionalQueryParam": {
+ "name": "RepositoryUserName",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The user name to connect to container repository."
+ },
+ "MaxResultsOptionalQueryParam": {
+ "name": "MaxResults",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "format": "int64",
+ "minimum": 0,
+ "default": 0,
+ "required": false,
+ "description": "The maximum number of results to be returned as part of the paged queries. This parameter defines the upper bound on the number of results returned. The results returned can be less than the specified maximum results if they do not fit in the message as per the max message size restrictions defined in the configuration. If this parameter is zero or not specified, the paged query includes as many results as possible that fit in the return message."
+ },
+ "ApplicationDescriptionRequiredBodyParam": {
+ "name": "ApplicationDescription",
+ "in": "body",
+ "description": "Description for creating an application.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ApplicationDescription"
+ }
+ },
+ "ServiceDescriptionRequiredBodyParam": {
+ "name": "ServiceDescription",
+ "in": "body",
+ "description": "The information necessary to create a service.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ServiceDescription"
+ }
+ },
+ "ServiceUpdateDescriptionRequiredBodyParam": {
+ "name": "ServiceUpdateDescription",
+ "in": "body",
+ "description": "The information necessary to update a service.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ServiceUpdateDescription"
+ }
+ },
+ "ImageStoreCopyDescriptionRequiredBodyParam": {
+ "name": "ImageStoreCopyDescription",
+ "in": "body",
+ "description": "Describes the copy description for the image store.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ImageStoreCopyDescription"
+ }
+ },
+ "CodePackageNameOptionalQueryParam": {
+ "name": "CodePackageName",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The name of code package specified in service manifest registered as part of an application type in a Service Fabric cluster."
+ },
+ "RestartDeployedCodePackageRequiredBodyParam": {
+ "name": "RestartDeployedCodePackageDescription",
+ "in": "body",
+ "description": "Describes the deployed code package on Service Fabric node to restart.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/RestartDeployedCodePackageDescription"
+ }
+ },
+ "PartitionsHealthStateFilterOptionalQueryParam": {
+ "name": "PartitionsHealthStateFilter",
+ "description": "Allows filtering of the partitions health state objects returned in the result of service health query based on their health state.\nThe possible values for this parameter include integer value of one of the following health states.\nOnly partitions that match the filter are returned. All partitions are used to evaluate the aggregated health state.\nIf not specified, all entries are returned. The state values are flag-based enumeration, so the value could be a combination of these value\nobtained using bitwise 'OR' operator. For example, if the provided value is 6 then health state of partitions with HealthState value of OK (2) and Warning (4) will be returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false,
+ "default": 0
+ },
+ "DeployedServiceType_ServiceManifestNameOptionalQueryParam": {
+ "name": "ServiceManifestName",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The name of the service manifest to filter the list of deployed service type information. If specified, the response will only contain the information about service types that are defined in this service manifest."
+ },
+ "ServiceTypeNameRequiredPathParam": {
+ "name": "serviceTypeName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "Specifies the name of a Service Fabric service type."
+ },
+ "ImageStoreContentPathRequiredPathParam": {
+ "name": "contentPath",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "Relative path to file or folder in the image store from its root."
+ },
+ "PartitionKeyTypeOptionalQueryParam": {
+ "name": "PartitionKeyType",
+ "description": "Key type for the partition. This parameter is required if the partition scheme for the service is Int64Range or Named. The possible values are following.\n- None (1) - Indicates that the PartitionKeyValue parameter is not specified. This is valid for the partitions with partitioning scheme as Singleton. This is the default value. The value is 1.\n- Int64Range (2) - Indicates that the PartitionKeyValue parameter is an int64 partition key. This is valid for the partitions with partitioning scheme as Int64Range. The value is 2.\n- Named (3) - Indicates that the PartitionKeyValue parameter is a name of the partition. This is valid for the partitions with partitioning scheme as Named. The value is 3.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false
+ },
+ "PartitionKeyValueOptionalQueryParam": {
+ "name": "PartitionKeyValue",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": false,
+ "description": "Partition key. This is required if the partition scheme for the service is Int64Range or Named. \nThis is not the partition ID, but rather, either the integer key value, or the name of the partition ID.\nFor example, if your service is using ranged partitions from 0 to 10, then they PartitionKeyValue would be an\ninteger in that range. Query service description to see the range or name."
+ },
+ "PreviousRspVersionOptionalQueryParam": {
+ "name": "PreviousRspVersion",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": false,
+ "description": "The value in the Version field of the response that was received previously. This is required if the user knows that the result that was gotten previously is stale."
+ },
+ "DataLossModeRequiredQueryParam": {
+ "name": "DataLossMode",
+ "description": "This enum is passed to the StartDataLoss API to indicate what type of data loss to induce.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "PartialDataLoss",
+ "FullDataLoss"
+ ],
+ "required": true,
+ "x-ms-enum": {
+ "name": "DataLossMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Reserved. Do not pass into API."
+ },
+ {
+ "value": "PartialDataLoss",
+ "description": "PartialDataLoss option will cause a quorum of replicas to go down, triggering an OnDataLoss event in the system for the given partition."
+ },
+ {
+ "value": "FullDataLoss",
+ "description": "FullDataLoss option will drop all the replicas which means that all the data will be lost."
+ }
+ ]
+ }
+ },
+ "FaultOperationIdRequiredQueryParam": {
+ "name": "OperationId",
+ "description": "A GUID that identifies a call of this API. This is passed into the corresponding GetProgress API",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "format": "uuid",
+ "required": true
+ },
+ "ForceRequiredQueryParam": {
+ "name": "Force",
+ "description": "Indicates whether to gracefully roll back and clean up internal system state modified by executing the user-induced operation.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": true,
+ "default": false
+ },
+ "NodeInstanceIdRequiredQueryParam": {
+ "name": "NodeInstanceId",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "The node instance ID of the target node. This can be determined through GetNodeInfo API."
+ },
+ "NodeTransitionTypeRequiredQueryParam": {
+ "name": "NodeTransitionType",
+ "description": "Indicates the type of transition to perform. NodeTransitionType.Start will start a stopped node. NodeTransitionType.Stop will stop a node that is up.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "Start",
+ "Stop"
+ ],
+ "required": true,
+ "x-ms-enum": {
+ "name": "NodeTransitionType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Reserved. Do not pass into API."
+ },
+ {
+ "value": "Start",
+ "description": "Transition a stopped node to up."
+ },
+ {
+ "value": "Stop",
+ "description": "Transition an up node to stopped."
+ }
+ ]
+ }
+ },
+ "QuorumLossDurationRequiredQueryParam": {
+ "name": "QuorumLossDuration",
+ "description": "The amount of time for which the partition will be kept in quorum loss. This must be specified in seconds.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": true
+ },
+ "QuorumLossModeRequiredQueryParam": {
+ "name": "QuorumLossMode",
+ "description": "This enum is passed to the StartQuorumLoss API to indicate what type of quorum loss to induce.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "QuorumReplicas",
+ "AllReplicas"
+ ],
+ "required": true,
+ "x-ms-enum": {
+ "name": "QuorumLossMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Reserved. Do not pass into API."
+ },
+ {
+ "value": "QuorumReplicas",
+ "description": "Partial Quorum loss mode : Minimum number of replicas for a partition will be down that will cause a quorum loss."
+ },
+ {
+ "value": "AllReplicas"
+ }
+ ]
+ }
+ },
+ "RestartPartitionModeRequiredQueryParam": {
+ "name": "RestartPartitionMode",
+ "description": "Describe which partitions to restart.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "AllReplicasOrInstances",
+ "OnlyActiveSecondaries"
+ ],
+ "required": true,
+ "x-ms-enum": {
+ "name": "RestartPartitionMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Reserved. Do not pass into API."
+ },
+ {
+ "value": "AllReplicasOrInstances",
+ "description": "All replicas or instances in the partition are restarted at once."
+ },
+ {
+ "value": "OnlyActiveSecondaries",
+ "description": "Only the secondary replicas are restarted."
+ }
+ ]
+ }
+ },
+ "StateFilterRequiredQueryParam": {
+ "name": "StateFilter",
+ "description": "Used to filter on OperationState's for user-induced operations.\n\n- 65535 - select All\n- 1 - select Running\n- 2 - select RollingBack\n- 8 - select Completed\n- 16 - select Faulted\n- 32 - select Cancelled\n- 64 - select ForceCancelled",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": true,
+ "default": 65535
+ },
+ "StopDurationInSecondsRequiredQueryParam": {
+ "name": "StopDurationInSeconds",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "required": true,
+ "description": "The duration, in seconds, to keep the node stopped. The minimum value is 600, the maximum is 14400. After this time expires, the node will automatically come back up."
+ },
+ "TypeFilterRequiredQueryParam": {
+ "name": "TypeFilter",
+ "description": "Used to filter on OperationType for user-induced operations.\n\n- 65535 - select all\n- 1 - select PartitionDataLoss.\n- 2 - select PartitionQuorumLoss.\n- 4 - select PartitionRestart.\n- 8 - select NodeTransition.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": true,
+ "default": 65535
+ },
+ "DeployServicePackageToNodeRequiredBodyParam": {
+ "name": "DeployServicePackageToNodeDescription",
+ "in": "body",
+ "description": "Describes information for deploying a service package to a Service Fabric node.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/DeployServicePackageToNodeDescription"
+ }
+ },
+ "ResumeApplicationUpgradeDescriptionRequiredBodyParam": {
+ "name": "ResumeApplicationUpgradeDescription",
+ "in": "body",
+ "description": "Describes the parameters for resuming an application upgrade.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ResumeApplicationUpgradeDescription"
+ }
+ },
+ "ApplicationUpgradeUpdateDescriptionRequiredBodyParam": {
+ "name": "ApplicationUpgradeUpdateDescription",
+ "in": "body",
+ "description": "Parameters for updating an existing application upgrade.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ApplicationUpgradeUpdateDescription"
+ }
+ },
+ "TimeoutOptionalQueryParam": {
+ "name": "timeout",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "format": "int64",
+ "required": false,
+ "minimum": 1,
+ "maximum": 4294967295,
+ "default": 60,
+ "description": "The server timeout for performing the operation in seconds. This timeout specifies the time duration that the client is willing to wait for the requested operation to complete. The default value for this parameter is 60 seconds."
+ },
+ "NameDescriptionRequiredBodyParam": {
+ "name": "NameDescription",
+ "in": "body",
+ "description": "Describes the Service Fabric name to be created.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/NameDescription"
+ }
+ },
+ "NameIdRequiredPathParam": {
+ "name": "nameId",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "The Service Fabric name, without the 'fabric:' URI scheme."
+ },
+ "RecursiveOptionalQueryParam": {
+ "name": "Recursive",
+ "description": "Allows specifying that the search performed should be recursive.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "default": false
+ },
+ "IncludeValuesOptionalQueryParam": {
+ "name": "IncludeValues",
+ "description": "Allows specifying whether to include the values of the properties returned. True if values should be returned with the metadata; False to return only property metadata.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "default": false
+ },
+ "PropertyDescriptionRequiredBodyParam": {
+ "name": "PropertyDescription",
+ "in": "body",
+ "description": "Describes the Service Fabric property to be created.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/PropertyDescription"
+ }
+ },
+ "PropertyNameRequiredQueryParam": {
+ "name": "PropertyName",
+ "description": "Specifies the name of the property to get.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true
+ },
+ "PropertyBatchDescriptionListRequiredBodyParam": {
+ "name": "PropertyBatchDescriptionList",
+ "in": "body",
+ "description": "Describes the property batch operations to be submitted.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/PropertyBatchDescriptionList"
+ }
+ },
+ "ImmediateOptionalQueryParam": {
+ "name": "Immediate",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "default": false,
+ "description": "A flag that indicates whether the report should be sent immediately.\nA health report is sent to a Service Fabric gateway Application, which forwards to the health store.\nIf Immediate is set to true, the report is sent immediately from HTTP Gateway to the health store, regardless of the fabric client settings that the HTTP Gateway Application is using.\nThis is useful for critical reports that should be sent as soon as possible.\nDepending on timing and other conditions, sending the report may still fail, for example if the HTTP Gateway is closed or the message doesn't reach the Gateway.\nIf Immediate is set to false, the report is sent based on the health client settings from the HTTP Gateway. Therefore, it will be batched according to the HealthReportSendInterval configuration.\nThis is the recommended setting because it allows the health client to optimize health reporting messages to health store as well as health report processing.\nBy default, reports are not sent immediately."
+ },
+ "ExcludeHealthStatisticsOptionalQueryParam": {
+ "name": "ExcludeHealthStatistics",
+ "description": "Indicates whether the health statistics should be returned as part of the query result. False by default.\nThe statistics show the number of children entities in health state Ok, Warning, and Error.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "default": false
+ },
+ "IncludeSystemApplicationHealthStatisticsOptionalQueryParam": {
+ "name": "IncludeSystemApplicationHealthStatistics",
+ "description": "Indicates whether the health statistics should include the fabric:/System application health statistics. False by default.\nIf IncludeSystemApplicationHealthStatistics is set to true, the health statistics include the entities that belong to the fabric:/System application.\nOtherwise, the query result includes health statistics only for user applications.\nThe health statistics must be included in the query result for this parameter to be applied.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "default": false
+ },
+ "IncludeHealthStateOptionalQueryParam": {
+ "name": "IncludeHealthState",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "default": false,
+ "description": "Include the health state of an entity.\nIf this parameter is false or not specified, then the health state returned is \"Unknown\".\nWhen set to true, the query goes in parallel to the node and the health system service before the results are merged.\nAs a result, the query is more expensive and may take a longer time."
+ },
+ "BackupPolicyDescriptionRequiredBodyParam": {
+ "name": "BackupPolicyDescription",
+ "in": "body",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "description": "Describes the backup policy.",
+ "schema": {
+ "$ref": "#/definitions/BackupPolicyDescription"
+ }
+ },
+ "DisableBackupDescriptionOptionalBodyParam": {
+ "name": "DisableBackupDescription",
+ "in": "body",
+ "description": "Specifies the parameters to disable backup for any backup entity.",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/DisableBackupDescription"
+ }
+ },
+ "BackupPolicyNameRequiredPathParam": {
+ "name": "backupPolicyName",
+ "in": "path",
+ "description": "The name of the backup policy.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "string"
+ },
+ "EnableBackupDescriptionRequiredBodyParam": {
+ "name": "EnableBackupDescription",
+ "in": "body",
+ "description": "Specifies the parameters for enabling backup.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/EnableBackupDescription"
+ }
+ },
+ "RestorePartitionDescriptionRequiredBodyParam": {
+ "name": "RestorePartitionDescription",
+ "in": "body",
+ "description": "Describes the parameters to restore the partition.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/RestorePartitionDescription"
+ }
+ },
+ "RestoreTimeoutOptionalQueryParam": {
+ "name": "RestoreTimeout",
+ "description": "Specifies the maximum amount of time to wait, in minutes, for the restore operation to complete. Post that, the operation returns back with timeout error. However, in certain corner cases it could be that the restore operation goes through even though it completes with timeout. In case of timeout error, its recommended to invoke this operation again with a greater timeout value. the default value for the same is 10 minutes.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false,
+ "default": 10
+ },
+ "BackupPartitionDescriptionOptionalBodyParam": {
+ "name": "BackupPartitionDescription",
+ "in": "body",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "description": "Describes the parameters to backup the partition now. If not present, backup operation uses default parameters from the backup policy current associated with this partition.",
+ "schema": {
+ "$ref": "#/definitions/BackupPartitionDescription"
+ }
+ },
+ "BackupTimeoutOptionalQueryParam": {
+ "name": "BackupTimeout",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false,
+ "description": "Specifies the maximum amount of time, in minutes, to wait for the backup operation to complete. Post that, the operation completes with timeout error. However, in certain corner cases it could be that though the operation returns back timeout, the backup actually goes through. In case of timeout error, its recommended to invoke this operation again with a greater timeout value. The default value for the same is 10 minutes.",
+ "default": 10
+ },
+ "LatestOptionalQueryParam": {
+ "name": "Latest",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "description": "Specifies whether to get only the most recent backup available for a partition for the specified time range.",
+ "required": false,
+ "default": false
+ },
+ "StartDateTimeFilterOptionalQueryParam": {
+ "name": "StartDateTimeFilter",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "format": "date-time",
+ "required": false,
+ "description": "Specify the start date time from which to enumerate backups, in datetime format. The date time must be specified in ISO8601 format. This is an optional parameter. If not specified, all backups from the beginning are enumerated."
+ },
+ "EndDateTimeFilterOptionalQueryParam": {
+ "name": "EndDateTimeFilter",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "format": "date-time",
+ "required": false,
+ "description": "Specify the end date time till which to enumerate backups, in datetime format. The date time must be specified in ISO8601 format. This is an optional parameter. If not specified, enumeration is done till the most recent backup."
+ },
+ "GetBackupByStorageQueryDescriptionRequiredBodyParam": {
+ "name": "GetBackupByStorageQueryDescription",
+ "in": "body",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "description": "Describes the filters and backup storage details to be used for enumerating backups.",
+ "schema": {
+ "$ref": "#/definitions/GetBackupByStorageQueryDescription"
+ }
+ },
+ "RepairTaskApproveDescriptionRequiredBodyParam": {
+ "name": "RepairTaskApproveDescription",
+ "in": "body",
+ "description": "Describes the repair task to be approved.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/RepairTaskApproveDescription"
+ }
+ },
+ "RepairTaskCancelDescriptionRequiredBodyParam": {
+ "name": "RepairTaskCancelDescription",
+ "in": "body",
+ "description": "Describes the repair task to be cancelled.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/RepairTaskCancelDescription"
+ }
+ },
+ "RepairTaskDeleteDescriptionRequiredBodyParam": {
+ "name": "RepairTaskDeleteDescription",
+ "in": "body",
+ "description": "Describes the repair task to be deleted.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/RepairTaskDeleteDescription"
+ }
+ },
+ "RepairTaskExecutorFilterOptionalQueryParam": {
+ "name": "ExecutorFilter",
+ "description": "The name of the repair executor whose claimed tasks should be included in the list.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false
+ },
+ "RepairTaskIdFilterOptionalQueryParam": {
+ "name": "TaskIdFilter",
+ "description": "The repair task ID prefix to be matched.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false
+ },
+ "RepairTaskRequiredBodyParam": {
+ "name": "RepairTask",
+ "in": "body",
+ "description": "Describes the repair task to be created or updated.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/RepairTask"
+ }
+ },
+ "RepairTaskStateFilterOptionalQueryParam": {
+ "name": "StateFilter",
+ "description": "A bitwise-OR of the following values, specifying which task states should be included in the result list.\n\n- 1 - Created\n- 2 - Claimed\n- 4 - Preparing\n- 8 - Approved\n- 16 - Executing\n- 32 - Restoring\n- 64 - Completed",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false
+ },
+ "RepairTaskUpdateHealthPolicyDescriptionRequiredBodyParam": {
+ "name": "RepairTaskUpdateHealthPolicyDescription",
+ "in": "body",
+ "description": "Describes the repair task healthy policy to be updated.",
+ "x-ms-parameter-location": "method",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RepairTaskUpdateHealthPolicyDescription"
+ }
+ },
+ "UploadSessionIdRequiredQueryParam": {
+ "name": "session-id",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "format": "uuid",
+ "required": true,
+ "description": "A GUID generated by the user for a file uploading. It identifies an image store upload session which keeps track of all file chunks until it is committed."
+ },
+ "UploadFileChunkContentRangeHeaderParam": {
+ "name": "Content-Range",
+ "in": "header",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "When uploading file chunks to the image store, the Content-Range header field need to be configured and sent with a request. The format should looks like \"bytes {First-Byte-Position}-{Last-Byte-Position}/{File-Length}\". For example, Content-Range:bytes 300-5000/20000 indicates that user is sending bytes 300 through 5,000 and the total file length is 20,000 bytes."
+ },
+ "ChaosScheduleRequiredBodyParam": {
+ "name": "ChaosSchedule",
+ "in": "body",
+ "description": "Describes the schedule used by Chaos.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ChaosScheduleDescription"
+ }
+ },
+ "StartTimeUtcRequiredQueryParam": {
+ "name": "StartTimeUtc",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "The start time of a lookup query in ISO UTC yyyy-MM-ddTHH:mm:ssZ."
+ },
+ "EndTimeUtcRequiredQueryParam": {
+ "name": "EndTimeUtc",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "The end time of a lookup query in ISO UTC yyyy-MM-ddTHH:mm:ssZ."
+ },
+ "EventsTypesFilterOptionalQueryParam": {
+ "name": "EventsTypesFilter",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "This is a comma separated string specifying the types of FabricEvents that should only be included in the response."
+ },
+ "ExcludeAnalysisEventsOptionalQueryParam": {
+ "name": "ExcludeAnalysisEvents",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "description": "This param disables the retrieval of AnalysisEvents if true is passed."
+ },
+ "SkipCorrelationLookupOptionalQueryParam": {
+ "name": "SkipCorrelationLookup",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "description": "This param disables the search of CorrelatedEvents information if true is passed. otherwise the CorrelationEvents get processed and HasCorrelatedEvents field in every FabricEvent gets populated."
+ },
+ "EventInstanceIdRequiredPathParam": {
+ "name": "eventInstanceId",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "The EventInstanceId."
+ },
+ "PreviousOptionalQueryParam": {
+ "name": "Previous",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "description": "Specifies whether to get container logs from exited/dead containers of the code package instance.",
+ "required": false,
+ "default": false
+ },
+ "IgnoreConstraintsOptionalParam": {
+ "name": "IgnoreConstraints",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "default": false,
+ "description": "Ignore constraints when moving a replica. If this parameter is not specified, all constraints are honored."
+ },
+ "NodeNameOptionalParam": {
+ "name": "NodeName",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The name of the node."
+ },
+ "VerboseServicePlacementHealthReportingParam": {
+ "name": "Enabled",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": true,
+ "description": "The verbosity of service placement health reporting."
+ },
+ "NewNodeNameOptionalParam": {
+ "name": "NewNodeName",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The name of the target node for secondary replica move. If not specified, replica is moved to a random node."
+ },
+ "CurrentNodeNameRequiredParam": {
+ "name": "CurrentNodeName",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "The name of the source node for secondary replica move."
+ },
+ "OnlyQueryPrimariesOptionalQueryParam": {
+ "name": "OnlyQueryPrimaries",
+ "description": "Indicates that unplaced replica information will be queries only for primary replicas.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "default": false
+ },
+ "ForceConfigurationOverrideOptionalParam": {
+ "name": "Force",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "description": "Force adding configuration overrides on specified nodes."
+ },
+ "ConfigurationOverrideListRequiredParam": {
+ "name": "ConfigParameterOverrideList",
+ "in": "body",
+ "description": "Description for adding list of configuration overrides.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ConfigParameterOverrideList"
+ }
+ },
+ "SecretResourceDescriptionRequiredBodyParam": {
+ "name": "secretResourceDescription",
+ "in": "body",
+ "description": "Description for creating a secret resource.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/SecretResourceDescription"
+ }
+ },
+ "SecretResourceNameRequiredPathParam": {
+ "name": "secretResourceName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "The name of the secret resource."
+ },
+ "SecretValueResourceDescriptionRequiredBodyParam": {
+ "name": "secretValueResourceDescription",
+ "in": "body",
+ "description": "Description for creating a value of a secret resource.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/SecretValueResourceDescription"
+ }
+ },
+ "SecretValueResourceNameRequiredPathParam": {
+ "name": "secretValueResourceName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "The name of the secret resource value which is typically the version identifier for the value."
+ },
+ "VolumeResourceDescriptionRequiredBodyParam": {
+ "name": "volumeResourceDescription",
+ "in": "body",
+ "description": "Description for creating a Volume resource.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/VolumeResourceDescription"
+ }
+ },
+ "VolumeResourceNameRequiredPathParam": {
+ "name": "volumeResourceName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "The identity of the volume."
+ },
+ "NetworkResourceDescriptionRequiredBodyParam": {
+ "name": "networkResourceDescription",
+ "in": "body",
+ "description": "Description for creating a Network resource.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/NetworkResourceDescription"
+ }
+ },
+ "NetworkResourceNameRequiredPathParam": {
+ "name": "networkResourceName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "The identity of the network."
+ },
+ "ApplicationResourceDescriptionRequiredBodyParam": {
+ "name": "applicationResourceDescription",
+ "in": "body",
+ "description": "Description for creating a Application resource.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ApplicationResourceDescription"
+ }
+ },
+ "ApplicationResourceNameRequiredPathParam": {
+ "name": "applicationResourceName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "The identity of the application."
+ },
+ "ServiceResourceNameRequiredPathParam": {
+ "name": "serviceResourceName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "The identity of the service."
+ },
+ "ReplicaNameRequiredPathParam": {
+ "name": "replicaName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "Service Fabric replica name."
+ },
+ "GatewayResourceDescriptionRequiredBodyParam": {
+ "name": "gatewayResourceDescription",
+ "in": "body",
+ "description": "Description for creating a Gateway resource.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/GatewayResourceDescription"
+ }
+ },
+ "GatewayResourceNameRequiredPathParam": {
+ "name": "gatewayResourceName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "The identity of the gateway."
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/readme.md b/specification/servicefabric/data-plane/readme.md
index 36eb6843dd17..719a8b671916 100644
--- a/specification/servicefabric/data-plane/readme.md
+++ b/specification/servicefabric/data-plane/readme.md
@@ -25,7 +25,7 @@ These are the global settings for the ServiceFabricClient API.
``` yaml
openapi-type: data-plane
-tag: '7.0'
+tag: '7.1'
```
### Suppression
@@ -115,6 +115,16 @@ input-file:
```
+### Tag: 7.1
+
+These settings apply only when `--tag=7.1` is specified on the command line.
+
+``` yaml $(tag) == '7.1'
+input-file:
+- Microsoft.ServiceFabric/stable/7.1/servicefabric.json
+
+```
+
---
# Code Generation
@@ -168,6 +178,7 @@ input-file:
- $(this-folder)/Microsoft.ServiceFabric/stable/6.4/servicefabric.json
- $(this-folder)/Microsoft.ServiceFabric/stable/6.5/servicefabric.json
- $(this-folder)/Microsoft.ServiceFabric/stable/7.0/servicefabric.json
+ - $(this-folder)/Microsoft.ServiceFabric/stable/7.1/servicefabric.json
```
diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2018-03-01-preview/examples/CreateOrUpdate.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2018-03-01-preview/examples/CreateOrUpdate.json
index 2446709ef47b..3a92226cd0a1 100644
--- a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2018-03-01-preview/examples/CreateOrUpdate.json
+++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2018-03-01-preview/examples/CreateOrUpdate.json
@@ -20,6 +20,32 @@
"resourceName": "mySignalRService"
},
"responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Standard_S1",
+ "tier": "Standard",
+ "size": "S1",
+ "capacity": 1
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "externalIP": "10.0.0.1",
+ "hostName": "myservice.service.signalr.net",
+ "publicPort": 443,
+ "serverPort": 443,
+ "version": "1.0-preview",
+ "hostNamePrefix": null
+ },
+ "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": {
diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2018-03-01-preview/signalr.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2018-03-01-preview/signalr.json
index 0a661c94b9f3..d8c5408c9640 100644
--- a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2018-03-01-preview/signalr.json
+++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2018-03-01-preview/signalr.json
@@ -308,6 +308,12 @@
}
],
"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": {
diff --git a/specification/signalr/resource-manager/readme.md b/specification/signalr/resource-manager/readme.md
index 356ff90245d8..dd35a4918a1f 100644
--- a/specification/signalr/resource-manager/readme.md
+++ b/specification/signalr/resource-manager/readme.md
@@ -40,7 +40,7 @@ directive:
- suppress: EnumInsteadOfBoolean
from: signalr.json
where: $.definitions.Dimension.properties.toBeExportedForShoebox
- reason: The boolean properties 'toBeExportedForShoebox' is defined by Geneva metrics
+ reason: The boolean properties 'toBeExportedForShoebox' is defined by Geneva metrics.
- suppress: PutRequestResponseScheme
from: signalr.json
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}"].put
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/ManagedInstanceCreateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/ManagedInstanceCreateMax.json
index 1552d4b274c1..6e307cb7fdb7 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/ManagedInstanceCreateMax.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/ManagedInstanceCreateMax.json
@@ -25,7 +25,8 @@
"publicDataEndpointEnabled": false,
"proxyOverride": "Redirect",
"timezoneId": "UTC",
- "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/pool1"
+ "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/pool1",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
}
}
},
@@ -51,7 +52,8 @@
"proxyOverride": "Redirect",
"dnsZone": "1b4e2caff2530",
"timezoneId": "UTC",
- "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/pool1"
+ "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/pool1",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
},
"location": "japaneast",
"tags": {
@@ -83,7 +85,8 @@
"proxyOverride": "Redirect",
"dnsZone": "1b4e2caff2530",
"timezoneId": "UTC",
- "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/pool1"
+ "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/pool1",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_westeurope_MI_Mon_Fri_10PM_6AM"
},
"location": "japaneast",
"tags": {
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/ManagedInstanceGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/ManagedInstanceGet.json
index d81c083a4af4..4ad01f466643 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/ManagedInstanceGet.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/ManagedInstanceGet.json
@@ -26,7 +26,8 @@
"publicDataEndpointEnabled": false,
"proxyOverride": "Default",
"dnsZone": "1b4e2caff2530",
- "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1"
+ "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
},
"location": "japaneast",
"tags": {
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/ManagedInstanceList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/ManagedInstanceList.json
index 640b037c3ba0..19bc87170b8d 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/ManagedInstanceList.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/ManagedInstanceList.json
@@ -29,7 +29,8 @@
"collation": "SQL_Latin1_General_CP1_CI_AS",
"publicDataEndpointEnabled": false,
"proxyOverride": "Default",
- "dnsZone": "1b4e2caff2530"
+ "dnsZone": "1b4e2caff2530",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
}
},
{
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/ManagedInstanceListByResourceGroup.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/ManagedInstanceListByResourceGroup.json
index a08933264aac..2123619ea897 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/ManagedInstanceListByResourceGroup.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/ManagedInstanceListByResourceGroup.json
@@ -30,7 +30,8 @@
"collation": "SQL_Latin1_General_CP1_CI_AS",
"publicDataEndpointEnabled": false,
"proxyOverride": "Default",
- "dnsZone": "1b4e2caff2530"
+ "dnsZone": "1b4e2caff2530",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
}
},
{
@@ -55,7 +56,8 @@
"collation": "SQL_Latin1_General_CP1_CI_AS",
"publicDataEndpointEnabled": false,
"proxyOverride": "Default",
- "dnsZone": "2c3d1bdae3412"
+ "dnsZone": "2c3d1bdae3412",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
}
}
]
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/ManagedInstanceUpdateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/ManagedInstanceUpdateMax.json
index f60ec5b9c93e..51268336c84e 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/ManagedInstanceUpdateMax.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/ManagedInstanceUpdateMax.json
@@ -21,7 +21,8 @@
"licenseType": "BasePrice",
"vCores": 8,
"storageSizeInGB": 448,
- "collation": "SQL_Latin1_General_CP1_CI_AS"
+ "collation": "SQL_Latin1_General_CP1_CI_AS",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
}
}
},
@@ -53,7 +54,8 @@
"publicDataEndpointEnabled": false,
"proxyOverride": "Redirect",
"dnsZone": "1b4e2caff2530",
- "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1"
+ "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
}
}
},
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/ManagedInstanceUpdateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/ManagedInstanceUpdateMin.json
index b67afb7b384f..aa87197d2540 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/ManagedInstanceUpdateMin.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/ManagedInstanceUpdateMin.json
@@ -31,7 +31,8 @@
"publicDataEndpointEnabled": false,
"proxyOverride": "Default",
"dnsZone": "1b4e2caff2530",
- "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1"
+ "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
},
"location": "japaneast",
"tags": {
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/managedInstances.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/managedInstances.json
index 0e817f870ea3..f73579be3d37 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/managedInstances.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/managedInstances.json
@@ -439,6 +439,10 @@
"description": "The Id of the instance pool this managed server belongs to.",
"type": "string"
},
+ "maintenanceConfigurationId": {
+ "description": "Specifies maintenance configuration id to apply to this managed instance.",
+ "type": "string"
+ },
"minimalTlsVersion": {
"description": "Minimal TLS version. Allowed values: 'None', '1.0', '1.1', '1.2'",
"type": "string"
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2017-10-01-preview/databases.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2017-10-01-preview/databases.json
index 08a4b9ae7774..d93a3000d8e5 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2017-10-01-preview/databases.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2017-10-01-preview/databases.json
@@ -787,7 +787,7 @@
"type": "boolean"
},
"licenseType": {
- "description": "The license type to apply for this database.",
+ "description": "The license type to apply for this database. `LicenseIncluded` if you need a license, or `BasePrice` if you have a license and are eligible for the Azure Hybrid Benefit.",
"enum": [
"LicenseIncluded",
"BasePrice"
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceCreateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceCreateMax.json
index cd3e090e3398..ed423629d53a 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceCreateMax.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceCreateMax.json
@@ -25,7 +25,8 @@
"publicDataEndpointEnabled": false,
"proxyOverride": "Redirect",
"timezoneId": "UTC",
- "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/pool1"
+ "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/pool1",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
}
}
},
@@ -51,7 +52,8 @@
"proxyOverride": "Redirect",
"dnsZone": "1b4e2caff2530",
"timezoneId": "UTC",
- "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/pool1"
+ "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/pool1",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
},
"location": "japaneast",
"tags": {
@@ -83,7 +85,8 @@
"proxyOverride": "Redirect",
"dnsZone": "1b4e2caff2530",
"timezoneId": "UTC",
- "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/pool1"
+ "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/pool1",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
},
"location": "japaneast",
"tags": {
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceGet.json
index 9da73f2a4849..b78074a7820a 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceGet.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceGet.json
@@ -26,7 +26,8 @@
"publicDataEndpointEnabled": false,
"proxyOverride": "Default",
"dnsZone": "1b4e2caff2530",
- "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1"
+ "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
},
"location": "japaneast",
"tags": {
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceList.json
index 4ff1240668ef..faf180b0c9a1 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceList.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceList.json
@@ -29,7 +29,8 @@
"collation": "SQL_Latin1_General_CP1_CI_AS",
"publicDataEndpointEnabled": false,
"proxyOverride": "Default",
- "dnsZone": "1b4e2caff2530"
+ "dnsZone": "1b4e2caff2530",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
}
},
{
@@ -54,7 +55,8 @@
"collation": "SQL_Latin1_General_CP1_CI_AS",
"publicDataEndpointEnabled": false,
"proxyOverride": "Default",
- "dnsZone": "2c3d1bdae3412"
+ "dnsZone": "2c3d1bdae3412",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
}
}
]
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceListByInstancePool.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceListByInstancePool.json
index 313ef50fc116..0eeffd79dfdd 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceListByInstancePool.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceListByInstancePool.json
@@ -32,7 +32,8 @@
"publicDataEndpointEnabled": false,
"dnsZone": "1b4e2caff2530",
"proxyOverride": "Redirect",
- "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/instancePools/pool1"
+ "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/instancePools/pool1",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
}
},
{
@@ -58,7 +59,8 @@
"publicDataEndpointEnabled": false,
"dnsZone": "2c3d1bdae3412",
"proxyOverride": "Redirect",
- "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/instancePools/pool1"
+ "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/instancePools/pool1",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
}
}
]
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceListByResourceGroup.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceListByResourceGroup.json
index 7ef8a934da16..812771b07788 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceListByResourceGroup.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceListByResourceGroup.json
@@ -30,7 +30,8 @@
"collation": "SQL_Latin1_General_CP1_CI_AS",
"publicDataEndpointEnabled": false,
"proxyOverride": "Default",
- "dnsZone": "1b4e2caff2530"
+ "dnsZone": "1b4e2caff2530",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
}
},
{
@@ -55,7 +56,8 @@
"collation": "SQL_Latin1_General_CP1_CI_AS",
"publicDataEndpointEnabled": false,
"proxyOverride": "Default",
- "dnsZone": "2c3d1bdae3412"
+ "dnsZone": "2c3d1bdae3412",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
}
}
]
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceUpdateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceUpdateMax.json
index 79d81c6aa48b..4f07238c0e25 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceUpdateMax.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceUpdateMax.json
@@ -21,7 +21,8 @@
"licenseType": "BasePrice",
"vCores": 8,
"storageSizeInGB": 448,
- "collation": "SQL_Latin1_General_CP1_CI_AS"
+ "collation": "SQL_Latin1_General_CP1_CI_AS",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
}
}
},
@@ -53,7 +54,8 @@
"publicDataEndpointEnabled": false,
"proxyOverride": "Redirect",
"dnsZone": "1b4e2caff2530",
- "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1"
+ "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
}
}
},
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceUpdateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceUpdateMin.json
index 7fa48928dee9..e2247037c5c6 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceUpdateMin.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceUpdateMin.json
@@ -31,7 +31,8 @@
"publicDataEndpointEnabled": false,
"proxyOverride": "Default",
"dnsZone": "1b4e2caff2530",
- "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1"
+ "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1",
+ "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM"
},
"location": "japaneast",
"tags": {
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/managedInstances.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/managedInstances.json
index 14afdcdb4e85..5006cad54c5f 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/managedInstances.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/managedInstances.json
@@ -485,6 +485,10 @@
"description": "The Id of the instance pool this managed server belongs to.",
"type": "string"
},
+ "maintenanceConfigurationId": {
+ "description": "Specifies maintenance configuration id to apply to this managed instance.",
+ "type": "string"
+ },
"minimalTlsVersion": {
"description": "Minimal TLS version. Allowed values: 'None', '1.0', '1.1', '1.2'",
"type": "string"
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/databases.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/databases.json
index 045b85a77c88..2e2db731b65d 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/databases.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/databases.json
@@ -885,7 +885,7 @@
"type": "boolean"
},
"licenseType": {
- "description": "The license type to apply for this database.",
+ "description": "The license type to apply for this database. `LicenseIncluded` if you need a license, or `BasePrice` if you have a license and are eligible for the Azure Hybrid Benefit.",
"enum": [
"LicenseIncluded",
"BasePrice"
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/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/readme.md b/specification/sql/resource-manager/readme.md
index 6aaa7bfd7c89..c18845faab56 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,8 @@ 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
# Needed when there is more than one input file
override-info:
@@ -189,8 +189,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 +239,8 @@ 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
# Needed when there is more than one input file
override-info:
@@ -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,8 @@ 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
# Needed when there is more than one input file
override-info:
@@ -501,6 +501,8 @@ 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
# Needed when there is more than one input file
override-info:
@@ -821,8 +823,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,6 +876,8 @@ 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
@@ -887,6 +889,8 @@ input-file:
- $(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 +905,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
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-06-01/blob.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/blob.json
index 824471ca5f73..57ebabb6a0b9 100644
--- a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/blob.json
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/blob.json
@@ -149,6 +149,9 @@
"x-ms-examples": {
"ListContainers": {
"$ref": "./examples/BlobContainersList.json"
+ },
+ "ListDeletedContainers": {
+ "$ref": "./examples/DeletedBlobContainersList.json"
}
},
"description": "Lists all containers and does not support a prefix like data plane. Also SRP today does not return continuation token.",
@@ -176,6 +179,20 @@
"in": "query",
"type": "string",
"description": "Optional. When specified, only container names starting with the filter will be listed."
+ },
+ {
+ "name": "$include",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "deleted"
+ ],
+ "x-ms-enum": {
+ "name": "ListContainersInclude",
+ "modelAsString": true
+ },
+ "description": "Optional, used to include the properties for soft deleted blob containers."
}
],
"responses": {
@@ -800,6 +817,27 @@
"definitions": {
"ContainerProperties": {
"properties": {
+ "version": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The version of the deleted blob container."
+ },
+ "deleted": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Indicates whether the blob container was deleted."
+ },
+ "deletedTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Blob container deletion time."
+ },
+ "remainingRetentionDays": {
+ "type": "integer",
+ "readOnly": true,
+ "description": "Remaining retention days for soft deleted blob container."
+ },
"defaultEncryptionScope": {
"type": "string",
"description": "Default the container to use specified encryption scope for all writes."
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/DeletedBlobContainersList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/DeletedBlobContainersList.json
new file mode 100644
index 000000000000..eefea4e85461
--- /dev/null
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/DeletedBlobContainersList.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res9290",
+ "accountName": "sto1590",
+ "$include": "deleted",
+ "api-version": "2019-06-01",
+ "monitor": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/blobServices/default/containers/container1644",
+ "name": "container1644",
+ "type": "Microsoft.Storage/storageAccounts/blobServices/containers",
+ "etag": "\"0x8D589847D51C7DE\"",
+ "properties": {
+ "publicAccess": "Container",
+ "leaseStatus": "Unlocked",
+ "leaseState": "Available",
+ "lastModifiedTime": "2018-03-14T08:20:47Z",
+ "hasImmutabilityPolicy": false,
+ "hasLegalHold": false
+ }
+ },
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/blobServices/default/containers/container4052",
+ "name": "container4052",
+ "type": "Microsoft.Storage/storageAccounts/blobServices/containers",
+ "etag": "\"0x8D589847DAB5AF9\"",
+ "properties": {
+ "publicAccess": "None",
+ "leaseStatus": "Unlocked",
+ "leaseState": "Expired",
+ "lastModifiedTime": "2018-03-14T08:20:47Z",
+ "hasImmutabilityPolicy": false,
+ "hasLegalHold": false,
+ "version": "1234567890",
+ "deleted": true,
+ "deletedTime": "2019-12-14T08:20:47Z",
+ "remainingRetentionDays": 30
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/QueueOperationDelete.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/QueueOperationDelete.json
new file mode 100644
index 000000000000..355ec2716a4a
--- /dev/null
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/QueueOperationDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res3376",
+ "accountName": "sto328",
+ "queueName": "queue6185",
+ "api-version": "2019-06-01",
+ "monitor": "true"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/QueueOperationGet.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/QueueOperationGet.json
new file mode 100644
index 000000000000..fad951eeeec4
--- /dev/null
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/QueueOperationGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res3376",
+ "accountName": "sto328",
+ "queueName": "queue6185",
+ "api-version": "2019-06-01",
+ "monitor": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues/queue6185",
+ "name": "queue6185",
+ "type": "Microsoft.Storage/storageAccounts/queueServices/queues",
+ "properties": {
+ "metadata": {
+ "sample1": "meta1",
+ "sample2": "meta2"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/QueueOperationList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/QueueOperationList.json
new file mode 100644
index 000000000000..9554cb861681
--- /dev/null
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/QueueOperationList.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res9290",
+ "accountName": "sto328",
+ "api-version": "2019-06-01",
+ "monitor": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues/queue6185",
+ "name": "queue6185",
+ "type": "Microsoft.Storage/storageAccounts/queueServices/queues",
+ "properties": {
+ "metadata": {
+ "sample1": "meta1",
+ "sample2": "meta2"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues/queue6186",
+ "name": "queue6186",
+ "type": "Microsoft.Storage/storageAccounts/queueServices/queues",
+ "properties": {
+ "metadata": {
+ "sample1": "meta1",
+ "sample2": "meta2"
+ }
+ }
+ }
+ ],
+ "nextLink": "https://sto1590endpoint/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues?api-version=2019-06-01&$maxpagesize=2&$skipToken=/sto328/queue6187"
+ }
+ }
+ }
+}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/QueueOperationPatch.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/QueueOperationPatch.json
new file mode 100644
index 000000000000..b2270a4ca9c6
--- /dev/null
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/QueueOperationPatch.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res3376",
+ "accountName": "sto328",
+ "queueName": "queue6185",
+ "api-version": "2019-06-01",
+ "monitor": "true",
+ "queue": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues/queue6185",
+ "name": "queue6185",
+ "type": "Microsoft.Storage/storageAccounts/queueServices/queues"
+ }
+ }
+ }
+}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/QueueOperationPut.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/QueueOperationPut.json
new file mode 100644
index 000000000000..b2270a4ca9c6
--- /dev/null
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/QueueOperationPut.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res3376",
+ "accountName": "sto328",
+ "queueName": "queue6185",
+ "api-version": "2019-06-01",
+ "monitor": "true",
+ "queue": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues/queue6185",
+ "name": "queue6185",
+ "type": "Microsoft.Storage/storageAccounts/queueServices/queues"
+ }
+ }
+ }
+}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/QueueOperationPutWithMetadata.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/QueueOperationPutWithMetadata.json
new file mode 100644
index 000000000000..b1a1a4776e4d
--- /dev/null
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/QueueOperationPutWithMetadata.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res3376",
+ "accountName": "sto328",
+ "queueName": "queue6185",
+ "api-version": "2019-06-01",
+ "monitor": "true",
+ "queue": {
+ "properties": {
+ "metadata": {
+ "sample1": "meta1",
+ "sample2": "meta2"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues/queue6185",
+ "name": "queue6185",
+ "type": "Microsoft.Storage/storageAccounts/queueServices/queues",
+ "properties": {
+ "metadata": {
+ "sample1": "meta1",
+ "sample2": "meta2"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/QueueServicesGet.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/QueueServicesGet.json
new file mode 100644
index 000000000000..59a9502132e4
--- /dev/null
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/QueueServicesGet.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res4410",
+ "accountName": "sto8607",
+ "queueServiceName": "default",
+ "api-version": "2019-06-01",
+ "monitor": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/queueServices/default",
+ "name": "default",
+ "type": "Microsoft.Storage/storageAccounts/queueServices",
+ "properties": {
+ "cors": {
+ "corsRules": [
+ {
+ "allowedOrigins": [
+ "http://www.contoso.com",
+ "http://www.fabrikam.com"
+ ],
+ "allowedMethods": [
+ "GET",
+ "HEAD",
+ "POST",
+ "OPTIONS",
+ "MERGE",
+ "PUT"
+ ],
+ "maxAgeInSeconds": 100,
+ "exposedHeaders": [
+ "x-ms-meta-*"
+ ],
+ "allowedHeaders": [
+ "x-ms-meta-abc",
+ "x-ms-meta-data*",
+ "x-ms-meta-target*"
+ ]
+ },
+ {
+ "allowedOrigins": [
+ "*"
+ ],
+ "allowedMethods": [
+ "GET"
+ ],
+ "maxAgeInSeconds": 2,
+ "exposedHeaders": [
+ "*"
+ ],
+ "allowedHeaders": [
+ "*"
+ ]
+ },
+ {
+ "allowedOrigins": [
+ "http://www.abc23.com",
+ "https://www.fabrikam.com/*"
+ ],
+ "allowedMethods": [
+ "GET",
+ "PUT"
+ ],
+ "maxAgeInSeconds": 2000,
+ "exposedHeaders": [
+ "x-ms-meta-abc",
+ "x-ms-meta-data*",
+ "x-ms-meta-target*"
+ ],
+ "allowedHeaders": [
+ "x-ms-meta-12345675754564*"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/QueueServicesList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/QueueServicesList.json
new file mode 100644
index 000000000000..e797fa2e065f
--- /dev/null
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/QueueServicesList.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res9290",
+ "accountName": "sto1590",
+ "api-version": "2019-06-01",
+ "monitor": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/queueServices/default",
+ "name": "default",
+ "type": "Microsoft.Storage/storageAccounts/queueServices",
+ "properties": {
+ "cors": {
+ "corsRules": [
+ {
+ "allowedOrigins": [
+ "http://www.contoso.com",
+ "http://www.fabrikam.com"
+ ],
+ "allowedMethods": [
+ "GET",
+ "HEAD",
+ "POST",
+ "OPTIONS",
+ "MERGE",
+ "PUT"
+ ],
+ "maxAgeInSeconds": 100,
+ "exposedHeaders": [
+ "x-ms-meta-*"
+ ],
+ "allowedHeaders": [
+ "x-ms-meta-abc",
+ "x-ms-meta-data*",
+ "x-ms-meta-target*"
+ ]
+ },
+ {
+ "allowedOrigins": [
+ "*"
+ ],
+ "allowedMethods": [
+ "GET"
+ ],
+ "maxAgeInSeconds": 2,
+ "exposedHeaders": [
+ "*"
+ ],
+ "allowedHeaders": [
+ "*"
+ ]
+ },
+ {
+ "allowedOrigins": [
+ "http://www.abc23.com",
+ "https://www.fabrikam.com/*"
+ ],
+ "allowedMethods": [
+ "GET",
+ "PUT"
+ ],
+ "maxAgeInSeconds": 2000,
+ "exposedHeaders": [
+ "x-ms-meta-abc",
+ "x-ms-meta-data*",
+ "x-ms-meta-target*"
+ ],
+ "allowedHeaders": [
+ "x-ms-meta-12345675754564*"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/QueueServicesPut.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/QueueServicesPut.json
new file mode 100644
index 000000000000..141c1417a860
--- /dev/null
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/QueueServicesPut.json
@@ -0,0 +1,147 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res4410",
+ "accountName": "sto8607",
+ "queueServiceName": "default",
+ "api-version": "2019-06-01",
+ "monitor": "true",
+ "parameters": {
+ "properties": {
+ "cors": {
+ "corsRules": [
+ {
+ "allowedOrigins": [
+ "http://www.contoso.com",
+ "http://www.fabrikam.com"
+ ],
+ "allowedMethods": [
+ "GET",
+ "HEAD",
+ "POST",
+ "OPTIONS",
+ "MERGE",
+ "PUT"
+ ],
+ "maxAgeInSeconds": 100,
+ "exposedHeaders": [
+ "x-ms-meta-*"
+ ],
+ "allowedHeaders": [
+ "x-ms-meta-abc",
+ "x-ms-meta-data*",
+ "x-ms-meta-target*"
+ ]
+ },
+ {
+ "allowedOrigins": [
+ "*"
+ ],
+ "allowedMethods": [
+ "GET"
+ ],
+ "maxAgeInSeconds": 2,
+ "exposedHeaders": [
+ "*"
+ ],
+ "allowedHeaders": [
+ "*"
+ ]
+ },
+ {
+ "allowedOrigins": [
+ "http://www.abc23.com",
+ "https://www.fabrikam.com/*"
+ ],
+ "allowedMethods": [
+ "GET",
+ "PUT"
+ ],
+ "maxAgeInSeconds": 2000,
+ "exposedHeaders": [
+ "x-ms-meta-abc",
+ "x-ms-meta-data*",
+ "x-ms-meta-target*"
+ ],
+ "allowedHeaders": [
+ "x-ms-meta-12345675754564*"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/queueServices/default",
+ "name": "default",
+ "type": "Microsoft.Storage/storageAccounts/queueServices",
+ "properties": {
+ "cors": {
+ "corsRules": [
+ {
+ "allowedOrigins": [
+ "http://www.contoso.com",
+ "http://www.fabrikam.com"
+ ],
+ "allowedMethods": [
+ "GET",
+ "HEAD",
+ "POST",
+ "OPTIONS",
+ "MERGE",
+ "PUT"
+ ],
+ "maxAgeInSeconds": 100,
+ "exposedHeaders": [
+ "x-ms-meta-*"
+ ],
+ "allowedHeaders": [
+ "x-ms-meta-abc",
+ "x-ms-meta-data*",
+ "x-ms-meta-target*"
+ ]
+ },
+ {
+ "allowedOrigins": [
+ "*"
+ ],
+ "allowedMethods": [
+ "GET"
+ ],
+ "maxAgeInSeconds": 2,
+ "exposedHeaders": [
+ "*"
+ ],
+ "allowedHeaders": [
+ "*"
+ ]
+ },
+ {
+ "allowedOrigins": [
+ "http://www.abc23.com",
+ "https://www.fabrikam.com/*"
+ ],
+ "allowedMethods": [
+ "GET",
+ "PUT"
+ ],
+ "maxAgeInSeconds": 2000,
+ "exposedHeaders": [
+ "x-ms-meta-abc",
+ "x-ms-meta-data*",
+ "x-ms-meta-target*"
+ ],
+ "allowedHeaders": [
+ "x-ms-meta-12345675754564*"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountCreate.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountCreate.json
index 6b81e637edb1..13f6c5388b0b 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
@@ -28,6 +28,7 @@
"enabled": true
}
},
+ "requireInfrastructureEncryption": false,
"keySource": "Microsoft.Storage"
}
},
@@ -89,6 +90,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/TableOperationDelete.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/TableOperationDelete.json
new file mode 100644
index 000000000000..b50907bcf6ba
--- /dev/null
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/TableOperationDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res3376",
+ "accountName": "sto328",
+ "tableName": "table6185",
+ "api-version": "2019-06-01",
+ "monitor": "true"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/TableOperationGet.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/TableOperationGet.json
new file mode 100644
index 000000000000..ad61ecff6513
--- /dev/null
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/TableOperationGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res3376",
+ "accountName": "sto328",
+ "tableName": "table6185",
+ "api-version": "2019-06-01",
+ "monitor": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/tableServices/default/tables/table6185",
+ "name": "table6185",
+ "type": "Microsoft.Storage/storageAccounts/tableServices/tables",
+ "properties": {
+ "tableName": "table6185"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/TableOperationList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/TableOperationList.json
new file mode 100644
index 000000000000..c239b4e52023
--- /dev/null
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/TableOperationList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res9290",
+ "accountName": "sto328",
+ "api-version": "2019-06-01",
+ "monitor": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/tableServices/default/tables/table6185",
+ "name": "table6185",
+ "type": "Microsoft.Storage/storageAccounts/tableServices/tables",
+ "properties": {
+ "tableName": "table6185"
+ }
+ },
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/tableServices/default/tables/table6186",
+ "name": "table6186",
+ "type": "Microsoft.Storage/storageAccounts/tableServices/tables",
+ "properties": {
+ "tableName": "table6186"
+ }
+ }
+ ],
+ "nextLink": "https://sto1590endpoint/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto328/tableServices/default/tables?api-version=2019-06-01&NextTableName=1!40!bXl0YWJsZXNoYzU0OAEwMWQ2MTI5ZTJmYjVmODFh"
+ }
+ }
+ }
+}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/TableOperationPatch.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/TableOperationPatch.json
new file mode 100644
index 000000000000..ad61ecff6513
--- /dev/null
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/TableOperationPatch.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res3376",
+ "accountName": "sto328",
+ "tableName": "table6185",
+ "api-version": "2019-06-01",
+ "monitor": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/tableServices/default/tables/table6185",
+ "name": "table6185",
+ "type": "Microsoft.Storage/storageAccounts/tableServices/tables",
+ "properties": {
+ "tableName": "table6185"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/TableOperationPut.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/TableOperationPut.json
new file mode 100644
index 000000000000..ad61ecff6513
--- /dev/null
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/TableOperationPut.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res3376",
+ "accountName": "sto328",
+ "tableName": "table6185",
+ "api-version": "2019-06-01",
+ "monitor": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/tableServices/default/tables/table6185",
+ "name": "table6185",
+ "type": "Microsoft.Storage/storageAccounts/tableServices/tables",
+ "properties": {
+ "tableName": "table6185"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/TableServicesGet.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/TableServicesGet.json
new file mode 100644
index 000000000000..53b11ad310d2
--- /dev/null
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/TableServicesGet.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res4410",
+ "accountName": "sto8607",
+ "tableServiceName": "default",
+ "api-version": "2019-06-01",
+ "monitor": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/tableServices/default",
+ "name": "default",
+ "type": "Microsoft.Storage/storageAccounts/tableServices",
+ "properties": {
+ "cors": {
+ "corsRules": [
+ {
+ "allowedOrigins": [
+ "http://www.contoso.com",
+ "http://www.fabrikam.com"
+ ],
+ "allowedMethods": [
+ "GET",
+ "HEAD",
+ "POST",
+ "OPTIONS",
+ "MERGE",
+ "PUT"
+ ],
+ "maxAgeInSeconds": 100,
+ "exposedHeaders": [
+ "x-ms-meta-*"
+ ],
+ "allowedHeaders": [
+ "x-ms-meta-abc",
+ "x-ms-meta-data*",
+ "x-ms-meta-target*"
+ ]
+ },
+ {
+ "allowedOrigins": [
+ "*"
+ ],
+ "allowedMethods": [
+ "GET"
+ ],
+ "maxAgeInSeconds": 2,
+ "exposedHeaders": [
+ "*"
+ ],
+ "allowedHeaders": [
+ "*"
+ ]
+ },
+ {
+ "allowedOrigins": [
+ "http://www.abc23.com",
+ "https://www.fabrikam.com/*"
+ ],
+ "allowedMethods": [
+ "GET",
+ "PUT"
+ ],
+ "maxAgeInSeconds": 2000,
+ "exposedHeaders": [
+ "x-ms-meta-abc",
+ "x-ms-meta-data*",
+ "x-ms-meta-target*"
+ ],
+ "allowedHeaders": [
+ "x-ms-meta-12345675754564*"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/TableServicesList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/TableServicesList.json
new file mode 100644
index 000000000000..9fc35a182c54
--- /dev/null
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/TableServicesList.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res9290",
+ "accountName": "sto1590",
+ "api-version": "2019-06-01",
+ "monitor": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/tableServices/default",
+ "name": "default",
+ "type": "Microsoft.Storage/storageAccounts/tableServices",
+ "properties": {
+ "cors": {
+ "corsRules": [
+ {
+ "allowedOrigins": [
+ "http://www.contoso.com",
+ "http://www.fabrikam.com"
+ ],
+ "allowedMethods": [
+ "GET",
+ "HEAD",
+ "POST",
+ "OPTIONS",
+ "MERGE",
+ "PUT"
+ ],
+ "maxAgeInSeconds": 100,
+ "exposedHeaders": [
+ "x-ms-meta-*"
+ ],
+ "allowedHeaders": [
+ "x-ms-meta-abc",
+ "x-ms-meta-data*",
+ "x-ms-meta-target*"
+ ]
+ },
+ {
+ "allowedOrigins": [
+ "*"
+ ],
+ "allowedMethods": [
+ "GET"
+ ],
+ "maxAgeInSeconds": 2,
+ "exposedHeaders": [
+ "*"
+ ],
+ "allowedHeaders": [
+ "*"
+ ]
+ },
+ {
+ "allowedOrigins": [
+ "http://www.abc23.com",
+ "https://www.fabrikam.com/*"
+ ],
+ "allowedMethods": [
+ "GET",
+ "PUT"
+ ],
+ "maxAgeInSeconds": 2000,
+ "exposedHeaders": [
+ "x-ms-meta-abc",
+ "x-ms-meta-data*",
+ "x-ms-meta-target*"
+ ],
+ "allowedHeaders": [
+ "x-ms-meta-12345675754564*"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/TableServicesPut.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/TableServicesPut.json
new file mode 100644
index 000000000000..e66436e66d07
--- /dev/null
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/TableServicesPut.json
@@ -0,0 +1,147 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res4410",
+ "accountName": "sto8607",
+ "tableServiceName": "default",
+ "api-version": "2019-06-01",
+ "monitor": "true",
+ "parameters": {
+ "properties": {
+ "cors": {
+ "corsRules": [
+ {
+ "allowedOrigins": [
+ "http://www.contoso.com",
+ "http://www.fabrikam.com"
+ ],
+ "allowedMethods": [
+ "GET",
+ "HEAD",
+ "POST",
+ "OPTIONS",
+ "MERGE",
+ "PUT"
+ ],
+ "maxAgeInSeconds": 100,
+ "exposedHeaders": [
+ "x-ms-meta-*"
+ ],
+ "allowedHeaders": [
+ "x-ms-meta-abc",
+ "x-ms-meta-data*",
+ "x-ms-meta-target*"
+ ]
+ },
+ {
+ "allowedOrigins": [
+ "*"
+ ],
+ "allowedMethods": [
+ "GET"
+ ],
+ "maxAgeInSeconds": 2,
+ "exposedHeaders": [
+ "*"
+ ],
+ "allowedHeaders": [
+ "*"
+ ]
+ },
+ {
+ "allowedOrigins": [
+ "http://www.abc23.com",
+ "https://www.fabrikam.com/*"
+ ],
+ "allowedMethods": [
+ "GET",
+ "PUT"
+ ],
+ "maxAgeInSeconds": 2000,
+ "exposedHeaders": [
+ "x-ms-meta-abc",
+ "x-ms-meta-data*",
+ "x-ms-meta-target*"
+ ],
+ "allowedHeaders": [
+ "x-ms-meta-12345675754564*"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/tableServices/default",
+ "name": "default",
+ "type": "Microsoft.Storage/storageAccounts/tableServices",
+ "properties": {
+ "cors": {
+ "corsRules": [
+ {
+ "allowedOrigins": [
+ "http://www.contoso.com",
+ "http://www.fabrikam.com"
+ ],
+ "allowedMethods": [
+ "GET",
+ "HEAD",
+ "POST",
+ "OPTIONS",
+ "MERGE",
+ "PUT"
+ ],
+ "maxAgeInSeconds": 100,
+ "exposedHeaders": [
+ "x-ms-meta-*"
+ ],
+ "allowedHeaders": [
+ "x-ms-meta-abc",
+ "x-ms-meta-data*",
+ "x-ms-meta-target*"
+ ]
+ },
+ {
+ "allowedOrigins": [
+ "*"
+ ],
+ "allowedMethods": [
+ "GET"
+ ],
+ "maxAgeInSeconds": 2,
+ "exposedHeaders": [
+ "*"
+ ],
+ "allowedHeaders": [
+ "*"
+ ]
+ },
+ {
+ "allowedOrigins": [
+ "http://www.abc23.com",
+ "https://www.fabrikam.com/*"
+ ],
+ "allowedMethods": [
+ "GET",
+ "PUT"
+ ],
+ "maxAgeInSeconds": 2000,
+ "exposedHeaders": [
+ "x-ms-meta-abc",
+ "x-ms-meta-data*",
+ "x-ms-meta-target*"
+ ],
+ "allowedHeaders": [
+ "x-ms-meta-12345675754564*"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/file.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/file.json
index bba100994b25..9e603d1881fa 100644
--- a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/file.json
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/file.json
@@ -709,6 +709,7 @@
},
"shareUsageBytes": {
"type": "integer",
+ "format": "int64",
"readOnly": true,
"description": "The approximate size of the data stored on the share. Note that this value may not include all recently created or recently resized files."
}
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
new file mode 100644
index 000000000000..d7cf16d5a438
--- /dev/null
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/queue.json
@@ -0,0 +1,560 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-06-01",
+ "title": "StorageManagementClient",
+ "description": "The Azure Storage Management API."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices": {
+ "get": {
+ "tags": [
+ "QueueServiceProperties"
+ ],
+ "operationId": "QueueServices_List",
+ "x-ms-examples": {
+ "QueueServicesList": {
+ "$ref": "./examples/QueueServicesList.json"
+ }
+ },
+ "description": "List all queue services for the storage account",
+ "parameters": [
+ {
+ "$ref": "./storage.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "./storage.json#/parameters/StorageAccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- returned the properties of a storage account’s Queue service.",
+ "schema": {
+ "$ref": "#/definitions/ListQueueServices"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./file.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/{queueServiceName}": {
+ "put": {
+ "tags": [
+ "QueueServiceProperties"
+ ],
+ "operationId": "QueueServices_SetServiceProperties",
+ "x-ms-examples": {
+ "QueueServicesPut": {
+ "$ref": "./examples/QueueServicesPut.json"
+ }
+ },
+ "description": "Sets the properties of a storage account’s Queue service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules. ",
+ "parameters": [
+ {
+ "$ref": "./storage.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "./storage.json#/parameters/StorageAccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/QueueServiceName"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/QueueServiceProperties"
+ },
+ "description": "The properties of a storage account’s Queue service, only properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules can be specified."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Sets The properties of a storage account’s Queue service successfully.",
+ "schema": {
+ "$ref": "#/definitions/QueueServiceProperties"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./file.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "QueueServiceProperties"
+ ],
+ "operationId": "QueueServices_GetServiceProperties",
+ "x-ms-examples": {
+ "QueueServicesGet": {
+ "$ref": "./examples/QueueServicesGet.json"
+ }
+ },
+ "description": "Gets the properties of a storage account’s Queue service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.",
+ "parameters": [
+ {
+ "$ref": "./storage.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "./storage.json#/parameters/StorageAccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/QueueServiceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- returned the properties of a storage account’s Queue service.",
+ "schema": {
+ "$ref": "#/definitions/QueueServiceProperties"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./file.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName}": {
+ "put": {
+ "tags": [
+ "QueueService"
+ ],
+ "operationId": "Queue_Create",
+ "x-ms-examples": {
+ "QueueOperationPut": {
+ "$ref": "./examples/QueueOperationPut.json"
+ },
+ "QueueOperationPutWithMetadata": {
+ "$ref": "./examples/QueueOperationPutWithMetadata.json"
+ }
+ },
+ "description": "Creates a new queue with the specified queue name, under the specified account.",
+ "parameters": [
+ {
+ "$ref": "./storage.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "./storage.json#/parameters/StorageAccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/QueueName"
+ },
+ {
+ "name": "queue",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/StorageQueue"
+ },
+ "description": "Queue properties and metadata to be created with"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Creates a queue with the given queue name successfully.",
+ "schema": {
+ "$ref": "#/definitions/StorageQueue"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./file.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "QueueService"
+ ],
+ "operationId": "Queue_Update",
+ "x-ms-examples": {
+ "QueueOperationPatch": {
+ "$ref": "./examples/QueueOperationPatch.json"
+ }
+ },
+ "description": "Creates a new queue with the specified queue name, under the specified account.",
+ "parameters": [
+ {
+ "$ref": "./storage.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "./storage.json#/parameters/StorageAccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/QueueName"
+ },
+ {
+ "name": "queue",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/StorageQueue"
+ },
+ "description": "Queue properties and metadata to be created with"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Creates a queue with the given queue name successfully.",
+ "schema": {
+ "$ref": "#/definitions/StorageQueue"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./file.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "QueueService"
+ ],
+ "operationId": "Queue_Get",
+ "x-ms-examples": {
+ "QueueOperationGet": {
+ "$ref": "./examples/QueueOperationGet.json"
+ }
+ },
+ "description": "Gets the queue with the specified queue name, under the specified account if it exists.",
+ "parameters": [
+ {
+ "$ref": "./storage.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "./storage.json#/parameters/StorageAccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/QueueName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- returned table with the specified table name successfully.",
+ "schema": {
+ "$ref": "#/definitions/StorageQueue"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./file.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "QueueService"
+ ],
+ "operationId": "Queue_Delete",
+ "x-ms-examples": {
+ "QueueOperationDelete": {
+ "$ref": "./examples/QueueOperationDelete.json"
+ }
+ },
+ "description": "Deletes the queue with the specified queue name, under the specified account if it exists.",
+ "parameters": [
+ {
+ "$ref": "./storage.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "./storage.json#/parameters/StorageAccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/QueueName"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content - Successfully deleted the queue with the specified queue name"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./file.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues": {
+ "get": {
+ "tags": [
+ "QueueService"
+ ],
+ "operationId": "Queue_List",
+ "x-ms-examples": {
+ "QueueOperationList": {
+ "$ref": "./examples/QueueOperationList.json"
+ }
+ },
+ "description": "Gets a list of all the queues under the specified storage account",
+ "parameters": [
+ {
+ "$ref": "./storage.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "./storage.json#/parameters/StorageAccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$maxpagesize",
+ "in": "query",
+ "type": "string",
+ "description": "Optional, a maximum number of queues that should be included in a list queue response"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "type": "string",
+ "description": "Optional, When specified, only the queues with a name starting with the given filter will be listed."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- returned a list of queues successfully.",
+ "schema": {
+ "$ref": "#/definitions/ListQueueResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./file.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ListQueueServices": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/QueueServiceProperties"
+ },
+ "description": "List of queue services returned.",
+ "readOnly": true
+ }
+ }
+ },
+ "QueueServiceProperties": {
+ "properties": {
+ "properties": {
+ "properties": {
+ "cors": {
+ "$ref": "./common.json#/definitions/CorsRules",
+ "description": "Specifies CORS rules for the Queue service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Queue service."
+ }
+ },
+ "x-ms-client-flatten": true,
+ "x-ms-client-name": "QueueServiceProperties",
+ "description": "The properties of a storage account’s Queue service."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "The properties of a storage account’s Queue service."
+ },
+ "StorageQueue": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/QueueProperties",
+ "x-ms-client-flatten": true,
+ "x-ms-client-name": "QueueProperties",
+ "description": "Queue resource properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ]
+ },
+ "QueueProperties": {
+ "properties": {
+ "metadata": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "A name-value pair that represents queue metadata."
+ },
+ "approximateMessageCount": {
+ "type": "integer",
+ "readOnly": true,
+ "description": "Integer indicating an approximate number of messages in the queue. This number is not lower than the actual number of messages in the queue, but could be higher."
+ }
+ }
+ },
+ "ListQueue": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ListQueueProperties",
+ "x-ms-client-flatten": true,
+ "x-ms-client-name": "QueueProperties",
+ "description": "List Queue resource properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ]
+ },
+ "ListQueueProperties": {
+ "properties": {
+ "metadata": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "A name-value pair that represents queue metadata."
+ }
+ }
+ },
+ "ListQueueResource": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ListQueue"
+ },
+ "description": "List of queues returned.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Request URL that can be used to list next page of queues",
+ "readOnly": true
+ }
+ },
+ "description": "Response schema. Contains list of queues returned"
+ }
+ },
+ "parameters": {
+ "QueueServiceName": {
+ "name": "queueServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Queue Service within the specified storage account. Queue Service Name must be 'default'",
+ "enum": [
+ "default"
+ ],
+ "x-ms-parameter-location": "method"
+ },
+ "QueueName": {
+ "name": "queueName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A queue name must be unique within a storage account and must be between 3 and 63 characters.The name must comprise of lowercase alphanumeric and dash(-) characters only, it should begin and end with an alphanumeric character and it cannot have two consecutive dash(-) characters.",
+ "maxLength": 63,
+ "minLength": 3,
+ "pattern": "^[a-z0-9]([a-z0-9]|(-(?!-))){1,61}[a-z0-9]$",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/storage.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/storage.json
index 44ff7c9b50eb..9416555d58d2 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": "#/definitions/PrivateEndpointConnectionListResult"
+ "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnectionListResult"
}
}
},
@@ -880,14 +880,14 @@
"$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "#/parameters/PrivateEndpointConnectionName"
+ "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName"
}
],
"responses": {
"200": {
"description": "OK -- Get the private endpoint connection properties successfully.",
"schema": {
- "$ref": "#/definitions/PrivateEndpointConnection"
+ "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection"
}
},
"default": {
@@ -923,14 +923,14 @@
"$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "#/parameters/PrivateEndpointConnectionName"
+ "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName"
},
{
"name": "properties",
"in": "body",
"required": true,
"schema": {
- "$ref": "#/definitions/PrivateEndpointConnection"
+ "$ref": "../../../../../common-types/resource-management/v1/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": "#/definitions/PrivateEndpointConnection"
+ "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection"
}
},
"default": {
@@ -975,7 +975,7 @@
"$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "#/parameters/PrivateEndpointConnectionName"
+ "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName"
}
],
"responses": {
@@ -1024,7 +1024,7 @@
"200": {
"description": "Successfully retrieved private link resources.",
"schema": {
- "$ref": "#/definitions/PrivateLinkResourceListResult"
+ "$ref": "../../../../../common-types/resource-management/v1/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",
@@ -2547,7 +2552,7 @@
"readOnly": true,
"type": "array",
"items": {
- "$ref": "#/definitions/PrivateEndpointConnection"
+ "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection"
},
"description": "List of private endpoint connection associated with the specified storage account"
},
@@ -3339,160 +3344,6 @@
],
"description": "Object to define the number of days after creation."
},
- "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."
- },
- "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."
- },
- "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
- }
- },
- "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"
- },
- "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."
- },
"EncryptionScope": {
"properties": {
"properties": {
@@ -3735,14 +3586,6 @@
},
"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 Storage Account",
- "x-ms-parameter-location": "method"
- },
"EncryptionScopeName": {
"name": "encryptionScopeName",
"in": "path",
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
new file mode 100644
index 000000000000..3d99550ab402
--- /dev/null
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/table.json
@@ -0,0 +1,495 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-06-01",
+ "title": "StorageManagementClient",
+ "description": "The Azure Storage Management API."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices": {
+ "get": {
+ "tags": [
+ "TableServiceProperties"
+ ],
+ "operationId": "TableServices_List",
+ "x-ms-examples": {
+ "TableServicesList": {
+ "$ref": "./examples/TableServicesList.json"
+ }
+ },
+ "description": "List all table services for the storage account.",
+ "parameters": [
+ {
+ "$ref": "./storage.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "./storage.json#/parameters/StorageAccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- returned the properties of a storage account’s Table service.",
+ "schema": {
+ "$ref": "#/definitions/ListTableServices"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./file.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/{tableServiceName}": {
+ "put": {
+ "tags": [
+ "TableServiceProperties"
+ ],
+ "operationId": "TableServices_SetServiceProperties",
+ "x-ms-examples": {
+ "TableServicesPut": {
+ "$ref": "./examples/TableServicesPut.json"
+ }
+ },
+ "description": "Sets the properties of a storage account’s Table service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules. ",
+ "parameters": [
+ {
+ "$ref": "./storage.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "./storage.json#/parameters/StorageAccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TableServiceName"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TableServiceProperties"
+ },
+ "description": "The properties of a storage account’s Table service, only properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules can be specified."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Sets The properties of a storage account’s Table service successfully.",
+ "schema": {
+ "$ref": "#/definitions/TableServiceProperties"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./file.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "TableServiceProperties"
+ ],
+ "operationId": "TableServices_GetServiceProperties",
+ "x-ms-examples": {
+ "TableServicesGet": {
+ "$ref": "./examples/TableServicesGet.json"
+ }
+ },
+ "description": "Gets the properties of a storage account’s Table service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.",
+ "parameters": [
+ {
+ "$ref": "./storage.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "./storage.json#/parameters/StorageAccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TableServiceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- returned the properties of a storage account’s Table service.",
+ "schema": {
+ "$ref": "#/definitions/TableServiceProperties"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./file.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName}": {
+ "put": {
+ "tags": [
+ "TableService"
+ ],
+ "operationId": "Table_Create",
+ "x-ms-examples": {
+ "TableOperationPut": {
+ "$ref": "./examples/TableOperationPut.json"
+ }
+ },
+ "description": "Creates a new table with the specified table name, under the specified account.",
+ "parameters": [
+ {
+ "$ref": "./storage.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "./storage.json#/parameters/StorageAccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TableName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Creates a table with the given table name successfully.",
+ "schema": {
+ "$ref": "#/definitions/Table"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./file.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "TableService"
+ ],
+ "operationId": "Table_Update",
+ "x-ms-examples": {
+ "TableOperationPatch": {
+ "$ref": "./examples/TableOperationPatch.json"
+ }
+ },
+ "description": "Creates a new table with the specified table name, under the specified account.",
+ "parameters": [
+ {
+ "$ref": "./storage.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "./storage.json#/parameters/StorageAccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TableName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Creates a table with the given table name successfully.",
+ "schema": {
+ "$ref": "#/definitions/Table"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./file.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "TableService"
+ ],
+ "operationId": "Table_Get",
+ "x-ms-examples": {
+ "TableOperationGet": {
+ "$ref": "./examples/TableOperationGet.json"
+ }
+ },
+ "description": "Gets the table with the specified table name, under the specified account if it exists.",
+ "parameters": [
+ {
+ "$ref": "./storage.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "./storage.json#/parameters/StorageAccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TableName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- returned table with the specified table name successfully.",
+ "schema": {
+ "$ref": "#/definitions/Table"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./file.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "TableService"
+ ],
+ "operationId": "Table_Delete",
+ "x-ms-examples": {
+ "TableOperationDelete": {
+ "$ref": "./examples/TableOperationDelete.json"
+ }
+ },
+ "description": "Deletes the table with the specified table name, under the specified account if it exists.",
+ "parameters": [
+ {
+ "$ref": "./storage.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "./storage.json#/parameters/StorageAccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TableName"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content - Successfully deleted the table with the specified table name"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./file.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables": {
+ "get": {
+ "tags": [
+ "TableService"
+ ],
+ "operationId": "Table_List",
+ "x-ms-examples": {
+ "TableOperationList": {
+ "$ref": "./examples/TableOperationList.json"
+ }
+ },
+ "description": "Gets a list of all the tables under the specified storage account",
+ "parameters": [
+ {
+ "$ref": "./storage.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "./storage.json#/parameters/StorageAccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- returned a list of tables successfully.",
+ "schema": {
+ "$ref": "#/definitions/ListTableResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./file.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ListTableServices": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TableServiceProperties"
+ },
+ "description": "List of table services returned.",
+ "readOnly": true
+ }
+ }
+ },
+ "TableServiceProperties": {
+ "properties": {
+ "properties": {
+ "properties": {
+ "cors": {
+ "$ref": "./common.json#/definitions/CorsRules",
+ "description": "Specifies CORS rules for the Table service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Table service."
+ }
+ },
+ "x-ms-client-flatten": true,
+ "x-ms-client-name": "TableServiceProperties",
+ "description": "The properties of a storage account’s Table service."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "The properties of a storage account’s Table service."
+ },
+ "Table": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TableProperties",
+ "x-ms-client-flatten": true,
+ "x-ms-client-name": "TableProperties",
+ "description": "Table resource properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Properties of the table, including Id, resource name, resource type."
+ },
+ "TableProperties": {
+ "properties": {
+ "tableName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Table name under the specified account"
+ }
+ }
+ },
+ "ListTableResource": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Table"
+ },
+ "description": "List of tables returned.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Request URL that can be used to query next page of tables",
+ "readOnly": true
+ }
+ },
+ "description": "Response schema. Contains list of tables returned"
+ }
+ },
+ "parameters": {
+ "TableServiceName": {
+ "name": "tableServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Table Service within the specified storage account. Table Service Name must be 'default'",
+ "enum": [
+ "default"
+ ],
+ "x-ms-parameter-location": "method"
+ },
+ "TableName": {
+ "name": "tableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A table name must be unique within a storage account and must be between 3 and 63 characters.The name must comprise of only alphanumeric characters and it cannot begin with a numeric character.",
+ "maxLength": 63,
+ "minLength": 3,
+ "pattern": "^[A-Za-z][A-Za-z0-9]{2,62}$",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/storage/resource-manager/readme.md b/specification/storage/resource-manager/readme.md
index a13e1dafd348..27132c56a3d2 100644
--- a/specification/storage/resource-manager/readme.md
+++ b/specification/storage/resource-manager/readme.md
@@ -38,6 +38,8 @@ input-file:
- Microsoft.Storage/stable/2019-06-01/storage.json
- Microsoft.Storage/stable/2019-06-01/blob.json
- Microsoft.Storage/stable/2019-06-01/file.json
+- Microsoft.Storage/stable/2019-06-01/queue.json
+- Microsoft.Storage/stable/2019-06-01/table.json
directive:
- suppress: R3018
@@ -297,6 +299,8 @@ input-file:
- $(this-folder)/Microsoft.Storage/stable/2019-06-01/storage.json
- $(this-folder)/Microsoft.Storage/stable/2019-06-01/blob.json
- $(this-folder)/Microsoft.Storage/stable/2019-06-01/file.json
+ - $(this-folder)/Microsoft.Storage/stable/2019-06-01/queue.json
+ - $(this-folder)/Microsoft.Storage/stable/2019-06-01/table.json
- $(this-folder)/Microsoft.Storage/stable/2019-04-01/storage.json
- $(this-folder)/Microsoft.Storage/stable/2019-04-01/blob.json
- $(this-folder)/Microsoft.Storage/stable/2019-04-01/file.json
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/subscription/resource-manager/Microsoft.Subscription/stable/2016-06-01/examples/getSubscription.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2016-06-01/examples/getSubscription.json
new file mode 100644
index 000000000000..bbc99e2a75fd
--- /dev/null
+++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2016-06-01/examples/getSubscription.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "83aa47df-e3e9-49ff-877b-94304bf3d3ad",
+ "api-version": "2016-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/83aa47df-e3e9-49ff-877b-94304bf3d3ad",
+ "authorizationSource": "Legacy",
+ "subscriptionId": "83aa47df-e3e9-49ff-877b-94304bf3d3ad",
+ "displayName": "Subscription2",
+ "state": "Enabled",
+ "subscriptionPolicies": {
+ "locationPlacementId": "Internal_2014-09-01",
+ "quotaId": "Internal_2014-09-01",
+ "spendingLimit": "Off"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2016-06-01/examples/listLocations.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2016-06-01/examples/listLocations.json
new file mode 100644
index 000000000000..7c44bf0f50b9
--- /dev/null
+++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2016-06-01/examples/listLocations.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "83aa47df-e3e9-49ff-877b-94304bf3d3ad",
+ "api-version": "2016-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/83aa47df-e3e9-49ff-877b-94304bf3d3ad/locations/eastasia",
+ "name": "eastasia",
+ "displayName": "East Asia",
+ "longitude": "114.188",
+ "latitude": "22.267"
+ },
+ {
+ "id": "/subscriptions/83aa47df-e3e9-49ff-877b-94304bf3d3ad/locations/southeastasia",
+ "name": "southeastasia",
+ "displayName": "Southeast Asia",
+ "longitude": "103.833",
+ "latitude": "1.283"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2016-06-01/examples/listSubscriptions.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2016-06-01/examples/listSubscriptions.json
new file mode 100644
index 000000000000..5a6caa076237
--- /dev/null
+++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2016-06-01/examples/listSubscriptions.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2016-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "string",
+ "value": [
+ {
+ "id": "/subscriptions/83aa47df-e3e9-49ff-877b-94304bf3d3ad",
+ "authorizationSource": "Legacy",
+ "subscriptionId": "83aa47df-e3e9-49ff-877b-94304bf3d3ad",
+ "displayName": "SubscriptionName",
+ "state": "Enabled",
+ "subscriptionPolicies": {
+ "locationPlacementId": "Internal_2014-09-01",
+ "quotaId": "Internal_2014-09-01",
+ "spendingLimit": "Off"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2016-06-01/examples/listTenants.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2016-06-01/examples/listTenants.json
new file mode 100644
index 000000000000..0b5ecbff5055
--- /dev/null
+++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2016-06-01/examples/listTenants.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2016-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "string",
+ "value": [
+ {
+ "id": "/tenants/72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ {
+ "id": "/tenants/33e01921-4d64-4f8c-a055-5bdaffd5e33d",
+ "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2016-06-01/subscriptions.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2016-06-01/subscriptions.json
index 020fda6e55cb..60771a02d266 100644
--- a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2016-06-01/subscriptions.json
+++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2016-06-01/subscriptions.json
@@ -42,6 +42,11 @@
"operationId": "Subscriptions_ListLocations",
"summary": "Gets all available geo-locations.",
"description": "This operation provides all the locations that are available for resource providers; however, each resource provider may support a subset of this list.",
+ "x-ms-examples": {
+ "listLocations": {
+ "$ref": "./examples/listLocations.json"
+ }
+ },
"parameters": [
{
"$ref": "#/parameters/SubscriptionIdParameter"
@@ -70,6 +75,11 @@
],
"operationId": "Subscriptions_Get",
"description": "Gets details about a specified subscription.",
+ "x-ms-examples": {
+ "getSubscription": {
+ "$ref": "./examples/getSubscription.json"
+ }
+ },
"parameters": [
{
"$ref": "#/parameters/SubscriptionIdParameter"
@@ -95,6 +105,11 @@
],
"operationId": "Subscriptions_List",
"description": "Gets all subscriptions for a tenant.",
+ "x-ms-examples": {
+ "listSubscriptions": {
+ "$ref": "./examples/listSubscriptions.json"
+ }
+ },
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -120,6 +135,11 @@
],
"operationId": "Tenants_List",
"description": "Gets the tenants for your account.",
+ "x-ms-examples": {
+ "listTenants": {
+ "$ref": "./examples/listTenants.json"
+ }
+ },
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
diff --git a/specification/subscription/resource-manager/readme.go.md b/specification/subscription/resource-manager/readme.go.md
index df396b0b4fb0..b52d772b3e18 100644
--- a/specification/subscription/resource-manager/readme.go.md
+++ b/specification/subscription/resource-manager/readme.go.md
@@ -13,10 +13,20 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2019-10-preview
- tag: package-2018-03-preview
- tag: package-2017-11-preview
```
+### Tag: package-2019-10-preview and go
+
+These settings apply only when `--tag=package-2019-10-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2019-10-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-10-01-preview/$(namespace)
+```
+
### Tag: package-2018-03-preview and go
These settings apply only when `--tag=package-2018-03-preview --go` is specified on the command line.
diff --git a/specification/subscription/resource-manager/readme.md b/specification/subscription/resource-manager/readme.md
index 8aeaf4c34934..214a5e7d5dec 100644
--- a/specification/subscription/resource-manager/readme.md
+++ b/specification/subscription/resource-manager/readme.md
@@ -51,6 +51,7 @@ These settings apply only when `--tag=package-2019-10-preview` is specified on t
``` yaml $(tag) == 'package-2019-10-preview'
input-file:
+- Microsoft.Subscription/stable/2016-06-01/subscriptions.json
- Microsoft.Subscription/preview/2019-10-01-preview/subscriptions.json
title: SubscriptionClient
description: The subscription client
@@ -146,9 +147,23 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-subscription
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2019-10-preview
- tag: package-2017-11-preview
```
+### Tag: package-2019-10-preview and java
+
+These settings apply only when `--tag=package-2019-10-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2019-10-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.subscription.v2019_10_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/subscription/mgmt-v2019_10_01_preview
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-2017-11-preview and java
These settings apply only when `--tag=package-2017-11-preview --java` is specified on the command line.
@@ -187,12 +202,12 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
- $(this-folder)/Microsoft.Subscription/stable/2020-01-01/subscriptions.json
+ - $(this-folder)/Microsoft.Subscription/stable/2016-06-01/subscriptions.json
- $(this-folder)/Microsoft.Subscription/preview/2019-10-01-preview/subscriptions.json
- $(this-folder)/Microsoft.Subscription/preview/2019-03-01-preview/subscriptions.json
- $(this-folder)/Microsoft.Subscription/preview/2018-11-01-preview/subscriptions.json
- $(this-folder)/Microsoft.Subscription/preview/2018-03-01-preview/subscriptions.json
- $(this-folder)/Microsoft.Subscription/preview/2018-03-01-preview/operations.json
- - $(this-folder)/Microsoft.Subscription/stable/2016-06-01/subscriptions.json
- $(this-folder)/Microsoft.Subscription/preview/2017-11-01-preview/subscriptionDefinitions.json
```
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-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-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-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/readme.md b/specification/synapse/data-plane/readme.md
index f2f3be08766f..52fa367be5eb 100644
--- a/specification/synapse/data-plane/readme.md
+++ b/specification/synapse/data-plane/readme.md
@@ -27,9 +27,16 @@ These are the global settings for the Azure Synapse Analytics API.
``` yaml
openapi-type: data-plane
+```
+
+``` yaml $(package-others)
tag: package-2019-11-01-preview
```
+``` yaml $(package-vnet)
+tag: package-vnet-2019-06-01-preview
+```
+
## Suppression
``` yaml
directive:
@@ -66,10 +73,18 @@ input-file:
- Microsoft.Synapse/preview/2019-11-01-preview/adf/datafactory.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
+```
+
---
# Code Generation
-
## Swagger to SDK
Swagger to SDK has been intentionally disabled for this spec.
@@ -86,6 +101,9 @@ csharp:
namespace: Microsoft.Azure.Synapse
output-folder: $(csharp-sdks-folder)/synapse/Microsoft.Azure.Synapse/src/Generated
clear-output-folder: true
+batch:
+- package-others: true
+- package-vnet: true
```
## TypeScript
@@ -108,6 +126,7 @@ input-file:
- $(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/2019-06-01-preview/managedPrivateEndpoints.json
```
diff --git a/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/Clusters_CreateOrUpdate.json b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/Clusters_CreateOrUpdate.json
new file mode 100644
index 000000000000..fbaacdf0ff15
--- /dev/null
+++ b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/Clusters_CreateOrUpdate.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2019-08-09-preview",
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "group1",
+ "privateCloudName": "cloud1",
+ "clusterName": "cluster1",
+ "cluster": {
+ "properties": {
+ "clusterSize": 3
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1",
+ "name": "cluster1",
+ "properties": {
+ "clusterSize": 3,
+ "hosts": [
+ "fakehost22.nyc1.kubernetes.center",
+ "fakehost23.nyc1.kubernetes.center",
+ "fakehost24.nyc1.kubernetes.center"
+ ],
+ "provisioningState": "Updating"
+ },
+ "type": "Microsoft.AVS/privateClouds/clusters"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1",
+ "name": "cluster1",
+ "properties": {
+ "clusterSize": 3,
+ "hosts": [
+ "fakehost22.nyc1.kubernetes.center",
+ "fakehost23.nyc1.kubernetes.center",
+ "fakehost24.nyc1.kubernetes.center"
+ ],
+ "provisioningState": "Updating"
+ },
+ "type": "Microsoft.AVS/privateClouds/clusters"
+ }
+ }
+ }
+}
diff --git a/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/Clusters_Delete.json b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/Clusters_Delete.json
new file mode 100644
index 000000000000..7f0b6d61ed68
--- /dev/null
+++ b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/Clusters_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-08-09-preview",
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "group1",
+ "privateCloudName": "cloud1",
+ "clusterName": "cluster1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/Clusters_Get.json b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/Clusters_Get.json
new file mode 100644
index 000000000000..d12bd070def8
--- /dev/null
+++ b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/Clusters_Get.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-08-09-preview",
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "group1",
+ "privateCloudName": "cloud1",
+ "clusterName": "cluster1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1",
+ "name": "cluster1",
+ "properties": {
+ "clusterSize": 4,
+ "hosts": [
+ "fakehost22.nyc1.kubernetes.center",
+ "fakehost23.nyc1.kubernetes.center",
+ "fakehost24.nyc1.kubernetes.center",
+ "fakehost25.nyc1.kubernetes.center"
+ ],
+ "provisioningState": "Updating"
+ },
+ "type": "Microsoft.AVS/privateClouds/clusters"
+ }
+ }
+ }
+}
diff --git a/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/Clusters_List.json b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/Clusters_List.json
new file mode 100644
index 000000000000..b2a9e83c4337
--- /dev/null
+++ b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/Clusters_List.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2019-08-09-preview",
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "group1",
+ "privateCloudName": "cloud1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1",
+ "name": "cluster1",
+ "properties": {
+ "clusterSize": 3,
+ "hosts": [
+ "fakehost22.nyc1.kubernetes.center",
+ "fakehost23.nyc1.kubernetes.center",
+ "fakehost24.nyc1.kubernetes.center"
+ ],
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.AVS/privateClouds/clusters"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/Clusters_Update.json b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/Clusters_Update.json
new file mode 100644
index 000000000000..d2d2976f6b6f
--- /dev/null
+++ b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/Clusters_Update.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2019-08-09-preview",
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "group1",
+ "privateCloudName": "cloud1",
+ "clusterName": "cluster1",
+ "cluster": {
+ "properties": {
+ "clusterSize": 4
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1",
+ "name": "cluster1",
+ "properties": {
+ "clusterSize": 4,
+ "hosts": [
+ "fakehost22.nyc1.kubernetes.center",
+ "fakehost23.nyc1.kubernetes.center",
+ "fakehost24.nyc1.kubernetes.center",
+ "fakehost25.nyc1.kubernetes.center"
+ ],
+ "provisioningState": "Updating"
+ },
+ "type": "Microsoft.AVS/privateClouds/clusters"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1",
+ "name": "cluster1",
+ "properties": {
+ "clusterSize": 4,
+ "hosts": [
+ "fakehost22.nyc1.kubernetes.center",
+ "fakehost23.nyc1.kubernetes.center",
+ "fakehost24.nyc1.kubernetes.center",
+ "fakehost25.nyc1.kubernetes.center"
+ ],
+ "provisioningState": "Updating"
+ },
+ "type": "Microsoft.AVS/privateClouds/clusters"
+ }
+ }
+ }
+}
diff --git a/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/Locations_CheckQuotaAvailability.json b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/Locations_CheckQuotaAvailability.json
new file mode 100644
index 000000000000..98a126c10073
--- /dev/null
+++ b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/Locations_CheckQuotaAvailability.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2019-08-09-preview",
+ "location": "eastus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "hostsRemaining": {
+ "gp": 0,
+ "he": 999
+ },
+ "quotaEnabled": "Enabled"
+ }
+ }
+ }
+}
diff --git a/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/Operations_List.json b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/Operations_List.json
new file mode 100644
index 000000000000..be04943780f8
--- /dev/null
+++ b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/Operations_List.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-08-09-preview"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "display": {
+ "description": "Creates a private cloud",
+ "operation": "Create Private Cloud",
+ "provider": "Azure VMware Solution",
+ "resource": "Private Cloud"
+ },
+ "name": "Microsoft.AVS/privateClouds/create",
+ "origin": "user,system"
+ }
+ ],
+ "nextLink": "string"
+ }
+ }
+}
diff --git a/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/PrivateClouds_CreateOrUpdate.json b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/PrivateClouds_CreateOrUpdate.json
new file mode 100644
index 000000000000..130202d95bfe
--- /dev/null
+++ b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/PrivateClouds_CreateOrUpdate.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "api-version": "2019-08-09-preview",
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "group1",
+ "privateCloudName": "cloud1",
+ "privateCloud": {
+ "location": "eastus2",
+ "properties": {
+ "cluster": {
+ "clusterSize": 4
+ }
+ },
+ "tags": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1",
+ "location": "eastus2",
+ "name": "cloud1",
+ "properties": {
+ "circuit": {
+ "authorizations": [],
+ "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect",
+ "primarySubnet": "192.168.53.0/30",
+ "secondarySubnet": "192.168.53.4/30"
+ },
+ "cluster": {
+ "clusterId": 1,
+ "clusterSize": 4,
+ "hosts": [
+ "fakehost18.nyc1.kubernetes.center",
+ "fakehost19.nyc1.kubernetes.center",
+ "fakehost20.nyc1.kubernetes.center",
+ "fakehost21.nyc1.kubernetes.center"
+ ]
+ },
+ "clusters": [],
+ "endpoints": {
+ "nsxtManager": "https://192.168.50.3/",
+ "vcsa": "https://192.168.50.2/"
+ },
+ "identitySources": [
+ {
+ "alias": "groupAlias",
+ "baseGroupDN": "ou=baseGroup",
+ "baseUserDN": "ou=baseUser",
+ "domain": "domain1",
+ "name": "group1",
+ "primaryServer": "ldaps://1.1.1.1:636/",
+ "secondaryServer": "ldaps://1.1.1.2:636/",
+ "ssl": "Enabled"
+ }
+ ],
+ "internet": "Disabled",
+ "provisioningState": "Updating"
+ },
+ "tags": {},
+ "type": "Microsoft.AVS/privateClouds"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1",
+ "location": "eastus2",
+ "name": "cloud1",
+ "properties": {
+ "circuit": {
+ "authorizations": [],
+ "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect",
+ "primarySubnet": "192.168.53.0/30",
+ "secondarySubnet": "192.168.53.4/30",
+ "expressRoutePrivatePeeringID": "/subscriptions/{subscription-id}/resourceGroups/tnt42-cust-p01-dmo01/providers/Microsoft.Network/expressroutecircuits/tnt42-cust-p01-dmo01-er/peerings/AzurePrivatePeering"
+ },
+ "cluster": {
+ "clusterId": 1,
+ "clusterSize": 4,
+ "hosts": [
+ "fakehost18.nyc1.kubernetes.center",
+ "fakehost19.nyc1.kubernetes.center",
+ "fakehost20.nyc1.kubernetes.center",
+ "fakehost21.nyc1.kubernetes.center"
+ ]
+ },
+ "clusters": [],
+ "endpoints": {
+ "nsxtManager": "https://192.168.50.3/",
+ "vcsa": "https://192.168.50.2/"
+ },
+ "identitySources": [
+ {
+ "alias": "groupAlias",
+ "baseGroupDN": "ou=baseGroup",
+ "baseUserDN": "ou=baseUser",
+ "domain": "domain1",
+ "name": "group1",
+ "primaryServer": "ldaps://1.1.1.1:636/",
+ "secondaryServer": "ldaps://1.1.1.2:636/",
+ "ssl": "Enabled"
+ }
+ ],
+ "internet": "Disabled",
+ "provisioningState": "Updating"
+ },
+ "tags": {},
+ "type": "Microsoft.AVS/privateClouds"
+ }
+ }
+ }
+}
diff --git a/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/PrivateClouds_Delete.json b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/PrivateClouds_Delete.json
new file mode 100644
index 000000000000..cbadcd2a5823
--- /dev/null
+++ b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/PrivateClouds_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2019-08-09-preview",
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "group1",
+ "privateCloudName": "cloud1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/PrivateClouds_Get.json b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/PrivateClouds_Get.json
new file mode 100644
index 000000000000..c6abf5fe6603
--- /dev/null
+++ b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/PrivateClouds_Get.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2019-08-09-preview",
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "group1",
+ "privateCloudName": "cloud1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1",
+ "location": "eastus2",
+ "name": "cloud1",
+ "properties": {
+ "circuit": {
+ "authorizations": [],
+ "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect",
+ "primarySubnet": "192.168.53.0/30",
+ "secondarySubnet": "192.168.53.4/30",
+ "expressRoutePrivatePeeringID": "/subscriptions/{subscription-id}/resourceGroups/tnt42-cust-p01-dmo01/providers/Microsoft.Network/expressroutecircuits/tnt42-cust-p01-dmo01-er/peerings/AzurePrivatePeering"
+ },
+ "cluster": {
+ "clusterId": 1,
+ "clusterSize": 4,
+ "hosts": [
+ "fakehost18.nyc1.kubernetes.center",
+ "fakehost19.nyc1.kubernetes.center",
+ "fakehost20.nyc1.kubernetes.center",
+ "fakehost21.nyc1.kubernetes.center"
+ ]
+ },
+ "clusters": [],
+ "endpoints": {
+ "nsxtManager": "https://192.168.50.3/",
+ "vcsa": "https://192.168.50.2/"
+ },
+ "identitySources": [
+ {
+ "alias": "groupAlias",
+ "baseGroupDN": "ou=baseGroup",
+ "baseUserDN": "ou=baseUser",
+ "domain": "domain1",
+ "name": "group1",
+ "primaryServer": "ldaps://1.1.1.1:636/",
+ "secondaryServer": "ldaps://1.1.1.2:636/",
+ "ssl": "Enabled"
+ }
+ ],
+ "internet": "Disabled",
+ "provisioningState": "Updating"
+ },
+ "tags": {},
+ "type": "Microsoft.AVS/privateClouds"
+ }
+ }
+ }
+}
diff --git a/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/PrivateClouds_List.json b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/PrivateClouds_List.json
new file mode 100644
index 000000000000..09f460f35848
--- /dev/null
+++ b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/PrivateClouds_List.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-08-09-preview",
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "group1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1",
+ "location": "eastus2",
+ "name": "cloud1",
+ "properties": {
+ "circuit": {
+ "authorizations": [],
+ "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect",
+ "primarySubnet": "192.168.53.0/30",
+ "secondarySubnet": "192.168.53.4/30",
+ "expressRoutePrivatePeeringID": "/subscriptions/{subscription-id}/resourceGroups/tnt42-cust-p01-dmo01/providers/Microsoft.Network/expressroutecircuits/tnt42-cust-p01-dmo01-er/peerings/AzurePrivatePeering"
+ },
+ "cluster": {
+ "clusterId": 1,
+ "clusterSize": 4,
+ "hosts": [
+ "fakehost18.nyc1.kubernetes.center",
+ "fakehost19.nyc1.kubernetes.center",
+ "fakehost20.nyc1.kubernetes.center",
+ "fakehost21.nyc1.kubernetes.center"
+ ]
+ },
+ "clusters": [],
+ "endpoints": {
+ "nsxtManager": "https://192.168.50.3/",
+ "vcsa": "https://192.168.50.2/"
+ },
+ "identitySources": [
+ {
+ "alias": "groupAlias",
+ "baseGroupDN": "ou=baseGroup",
+ "baseUserDN": "ou=baseUser",
+ "domain": "domain1",
+ "name": "group1",
+ "primaryServer": "ldaps://1.1.1.1:636/",
+ "secondaryServer": "ldaps://1.1.1.2:636/",
+ "ssl": "Enabled"
+ }
+ ],
+ "internet": "Disabled",
+ "provisioningState": "Updating"
+ },
+ "tags": {},
+ "type": "Microsoft.AVS/privateClouds"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/PrivateClouds_ListAdminCredentials.json b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/PrivateClouds_ListAdminCredentials.json
new file mode 100644
index 000000000000..7284be8ebf79
--- /dev/null
+++ b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/PrivateClouds_ListAdminCredentials.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2019-08-09-preview",
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "group1",
+ "privateCloudName": "cloud1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nsxtPassword": "$(1X4Dkk",
+ "nsxtUsername": "admin",
+ "vcenterPassword": "iG17wC^-",
+ "vcenterUsername": "cloudadmin@vmcp.local"
+ }
+ }
+ }
+}
diff --git a/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/PrivateClouds_ListInSubscription.json b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/PrivateClouds_ListInSubscription.json
new file mode 100644
index 000000000000..a6fbca74b84c
--- /dev/null
+++ b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/PrivateClouds_ListInSubscription.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2019-08-09-preview",
+ "subscriptionId": "{subscription-id}"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1",
+ "location": "eastus2",
+ "name": "cloud1",
+ "properties": {
+ "circuit": {
+ "authorizations": [],
+ "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect",
+ "primarySubnet": "192.168.53.0/30",
+ "secondarySubnet": "192.168.53.4/30",
+ "expressRoutePrivatePeeringID": "/subscriptions/{subscription-id}/resourceGroups/tnt42-cust-p01-dmo01/providers/Microsoft.Network/expressroutecircuits/tnt42-cust-p01-dmo01-er/peerings/AzurePrivatePeering"
+ },
+ "cluster": {
+ "clusterId": 1,
+ "clusterSize": 4,
+ "hosts": [
+ "fakehost18.nyc1.kubernetes.center",
+ "fakehost19.nyc1.kubernetes.center",
+ "fakehost20.nyc1.kubernetes.center",
+ "fakehost21.nyc1.kubernetes.center"
+ ]
+ },
+ "clusters": [],
+ "endpoints": {
+ "nsxtManager": "https://192.168.50.3/",
+ "vcsa": "https://192.168.50.2/"
+ },
+ "identitySources": [
+ {
+ "alias": "groupAlias",
+ "baseGroupDN": "ou=baseGroup",
+ "baseUserDN": "ou=baseUser",
+ "domain": "domain1",
+ "name": "group1",
+ "primaryServer": "ldaps://1.1.1.1:636/",
+ "secondaryServer": "ldaps://1.1.1.2:636/",
+ "ssl": "Enabled"
+ }
+ ],
+ "internet": "Disabled",
+ "provisioningState": "Updating"
+ },
+ "tags": {},
+ "type": "Microsoft.AVS/privateClouds"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/PrivateClouds_Update.json b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/PrivateClouds_Update.json
new file mode 100644
index 000000000000..88a118a0f19a
--- /dev/null
+++ b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/PrivateClouds_Update.json
@@ -0,0 +1,113 @@
+{
+ "parameters": {
+ "api-version": "2019-08-09-preview",
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "group1",
+ "privateCloudName": "cloud1",
+ "privateCloud": {
+ "location": "eastus2",
+ "properties": {
+ "cluster": {
+ "clusterSize": 4
+ }
+ },
+ "tags": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1",
+ "location": "eastus2",
+ "name": "cloud1",
+ "properties": {
+ "circuit": {
+ "authorizations": [],
+ "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect",
+ "primarySubnet": "192.168.53.0/30",
+ "secondarySubnet": "192.168.53.4/30",
+ "expressRoutePrivatePeeringID": "/subscriptions/{subscription-id}/resourceGroups/tnt42-cust-p01-dmo01/providers/Microsoft.Network/expressroutecircuits/tnt42-cust-p01-dmo01-er/peerings/AzurePrivatePeering"
+ },
+ "cluster": {
+ "clusterId": 1,
+ "clusterSize": 4,
+ "hosts": [
+ "fakehost18.nyc1.kubernetes.center",
+ "fakehost19.nyc1.kubernetes.center",
+ "fakehost20.nyc1.kubernetes.center",
+ "fakehost21.nyc1.kubernetes.center"
+ ]
+ },
+ "clusters": [],
+ "endpoints": {
+ "nsxtManager": "https://192.168.50.3/",
+ "vcsa": "https://192.168.50.2/"
+ },
+ "identitySources": [
+ {
+ "alias": "groupAlias",
+ "baseGroupDN": "ou=baseGroup",
+ "baseUserDN": "ou=baseUser",
+ "domain": "domain1",
+ "name": "group1",
+ "primaryServer": "ldaps://1.1.1.1:636/",
+ "secondaryServer": "ldaps://1.1.1.2:636/",
+ "ssl": "Enabled"
+ }
+ ],
+ "internet": "Disabled",
+ "provisioningState": "Updating"
+ },
+ "tags": {},
+ "type": "Microsoft.AVS/privateClouds"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1",
+ "location": "eastus2",
+ "name": "cloud1",
+ "properties": {
+ "circuit": {
+ "authorizations": [],
+ "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect",
+ "primarySubnet": "192.168.53.0/30",
+ "secondarySubnet": "192.168.53.4/30",
+ "expressRoutePrivatePeeringID": "/subscriptions/{subscription-id}/resourceGroups/tnt42-cust-p01-dmo01/providers/Microsoft.Network/expressroutecircuits/tnt42-cust-p01-dmo01-er/peerings/AzurePrivatePeering"
+ },
+ "cluster": {
+ "clusterId": 1,
+ "clusterSize": 4,
+ "hosts": [
+ "fakehost18.nyc1.kubernetes.center",
+ "fakehost19.nyc1.kubernetes.center",
+ "fakehost20.nyc1.kubernetes.center",
+ "fakehost21.nyc1.kubernetes.center"
+ ]
+ },
+ "clusters": [],
+ "endpoints": {
+ "nsxtManager": "https://192.168.50.3/",
+ "vcsa": "https://192.168.50.2/"
+ },
+ "identitySources": [
+ {
+ "alias": "groupAlias",
+ "baseGroupDN": "ou=baseGroup",
+ "baseUserDN": "ou=baseUser",
+ "domain": "domain1",
+ "name": "group1",
+ "primaryServer": "ldaps://1.1.1.1:636/",
+ "secondaryServer": "ldaps://1.1.1.2:636/",
+ "ssl": "Enabled"
+ }
+ ],
+ "internet": "Disabled",
+ "provisioningState": "Updating"
+ },
+ "tags": {},
+ "type": "Microsoft.AVS/privateClouds"
+ }
+ }
+ }
+}
diff --git a/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/vmware.json b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/vmware.json
new file mode 100644
index 000000000000..2a5f491f4e2f
--- /dev/null
+++ b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/vmware.json
@@ -0,0 +1,1277 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure VMware Solution API",
+ "description": "Azure VMware Solution API",
+ "version": "2019-08-09-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "tags": [
+ {
+ "name": "PrivateClouds",
+ "description": ""
+ },
+ {
+ "name": "Clusters",
+ "description": ""
+ },
+ {
+ "name": "Operations",
+ "description": ""
+ },
+ {
+ "name": "Locations",
+ "description": ""
+ }
+ ],
+ "parameters": {
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Unique identifier for the Azure subscription"
+ },
+ "resourceGroupName": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the resource group within the Azure subscription",
+ "x-ms-parameter-location": "method"
+ },
+ "apiVersion": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of Azure VMware Solution API to be used with the client request"
+ },
+ "privateCloudName": {
+ "name": "privateCloudName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the private cloud",
+ "x-ms-parameter-location": "method"
+ },
+ "clusterName": {
+ "name": "clusterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the cluster in the private cloud",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.AVS/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available operations",
+ "operationId": "Operations_List",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request has succeeded",
+ "schema": {
+ "$ref": "#/definitions/OperationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Operations_List": {
+ "$ref": "./examples/Operations_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AVS/locations/{location}/checkQuotaAvailability": {
+ "post": {
+ "tags": [
+ "Locations"
+ ],
+ "description": "Return quota for subscription by region",
+ "operationId": "Locations_CheckQuotaAvailability",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Azure region"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request has succeeded",
+ "schema": {
+ "$ref": "#/definitions/Quota"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CheckQuotaAvailability": {
+ "$ref": "./examples/Locations_CheckQuotaAvailability.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds": {
+ "get": {
+ "operationId": "PrivateClouds_List",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "tags": [
+ "PrivateClouds"
+ ],
+ "summary": "List private clouds in a resource group",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/PrivateCloudList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateClouds_List": {
+ "$ref": "./examples/PrivateClouds_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AVS/privateClouds": {
+ "get": {
+ "operationId": "PrivateClouds_ListInSubscription",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "tags": [
+ "PrivateClouds"
+ ],
+ "summary": "List private clouds in a subscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/PrivateCloudList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateClouds_List": {
+ "$ref": "./examples/PrivateClouds_ListInSubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}": {
+ "get": {
+ "operationId": "PrivateClouds_Get",
+ "tags": [
+ "PrivateClouds"
+ ],
+ "summary": "Get a private cloud",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/privateCloudName"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/PrivateCloud"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateClouds_Get": {
+ "$ref": "./examples/PrivateClouds_Get.json"
+ }
+ }
+ },
+ "put": {
+ "operationId": "PrivateClouds_CreateOrUpdate",
+ "x-ms-long-running-operation": true,
+ "tags": [
+ "PrivateClouds"
+ ],
+ "summary": "Create or update a private cloud",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/privateCloudName"
+ },
+ {
+ "name": "privateCloud",
+ "description": "The private cloud",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateCloud"
+ }
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/PrivateCloud"
+ }
+ },
+ "201": {
+ "description": "accepted operation",
+ "schema": {
+ "$ref": "#/definitions/PrivateCloud"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateClouds_CreateOrUpdate": {
+ "$ref": "./examples/PrivateClouds_CreateOrUpdate.json"
+ }
+ }
+ },
+ "patch": {
+ "operationId": "PrivateClouds_Update",
+ "x-ms-long-running-operation": true,
+ "tags": [
+ "PrivateClouds"
+ ],
+ "summary": "Update a private cloud",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/privateCloudName"
+ },
+ {
+ "name": "privateCloud",
+ "description": "The private cloud",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateCloud"
+ }
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/PrivateCloud"
+ }
+ },
+ "201": {
+ "description": "accepted operation",
+ "schema": {
+ "$ref": "#/definitions/PrivateCloud"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateClouds_Update": {
+ "$ref": "./examples/PrivateClouds_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "operationId": "PrivateClouds_Delete",
+ "x-ms-long-running-operation": true,
+ "tags": [
+ "PrivateClouds"
+ ],
+ "summary": "Delete a private cloud",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/privateCloudName"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The delete has succeeded"
+ },
+ "202": {
+ "description": "Accepted. The delete will complete asynchronously"
+ },
+ "204": {
+ "description": "No Content. No private cloud to delete"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateClouds_Delete": {
+ "$ref": "./examples/PrivateClouds_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/clusters": {
+ "get": {
+ "operationId": "Clusters_List",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "tags": [
+ "Clusters"
+ ],
+ "summary": "List clusters in a private cloud",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/privateCloudName"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/ClusterList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Clusters_List": {
+ "$ref": "./examples/Clusters_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/clusters/{clusterName}": {
+ "get": {
+ "operationId": "Clusters_Get",
+ "tags": [
+ "Clusters"
+ ],
+ "summary": "Get a cluster by name in a private cloud",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/privateCloudName"
+ },
+ {
+ "$ref": "#/parameters/clusterName"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Clusters_Get": {
+ "$ref": "./examples/Clusters_Get.json"
+ }
+ }
+ },
+ "put": {
+ "operationId": "Clusters_CreateOrUpdate",
+ "x-ms-long-running-operation": true,
+ "tags": [
+ "Clusters"
+ ],
+ "summary": "Create or update a cluster in a private cloud",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "privateCloudName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private cloud."
+ },
+ {
+ "$ref": "#/parameters/clusterName"
+ },
+ {
+ "name": "cluster",
+ "description": "A cluster in the private cloud",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "201": {
+ "description": "accepted operation",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Clusters_CreateOrUpdate": {
+ "$ref": "./examples/Clusters_CreateOrUpdate.json"
+ }
+ }
+ },
+ "patch": {
+ "operationId": "Clusters_Update",
+ "x-ms-long-running-operation": true,
+ "tags": [
+ "Clusters"
+ ],
+ "summary": "Update a cluster in a private cloud",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/privateCloudName"
+ },
+ {
+ "$ref": "#/parameters/clusterName"
+ },
+ {
+ "name": "cluster",
+ "description": "A cluster in a private cloud",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "201": {
+ "description": "accepted operation",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Clusters_Update": {
+ "$ref": "./examples/Clusters_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "operationId": "Clusters_Delete",
+ "x-ms-long-running-operation": true,
+ "tags": [
+ "Clusters"
+ ],
+ "summary": "Delete a cluster in a private cloud",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/privateCloudName"
+ },
+ {
+ "$ref": "#/parameters/clusterName"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The delete has succeeded"
+ },
+ "202": {
+ "description": "Accepted. The delete will complete asynchronously"
+ },
+ "204": {
+ "description": "No Content. No cluster to delete"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Clusters_Delete": {
+ "$ref": "./examples/Clusters_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/listAdminCredentials": {
+ "post": {
+ "operationId": "PrivateClouds_ListAdminCredentials",
+ "tags": [
+ "PrivateClouds"
+ ],
+ "summary": "List the admin credentials for the private cloud",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/privateCloudName"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "successful operation",
+ "schema": {
+ "$ref": "#/definitions/AdminCredentials"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateClouds_ListAdminCredentials": {
+ "$ref": "./examples/PrivateClouds_ListAdminCredentials.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Quota": {
+ "description": "Subscription quotas",
+ "properties": {
+ "hostsRemaining": {
+ "description": "Remaining hosts quota by sku type",
+ "type": "object",
+ "readOnly": true,
+ "additionalProperties": {
+ "type": "integer",
+ "readOnly": true
+ }
+ },
+ "quotaEnabled": {
+ "description": "Host quota is active for current subscription",
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "QuotaEnabled",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Resource": {
+ "description": "The core properties of ARM resources",
+ "properties": {
+ "id": {
+ "description": "Resource ID.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "name": {
+ "description": "Resource name.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "type": {
+ "description": "Resource type.",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "TrackedResource": {
+ "description": "The resource model definition for a ARM tracked top level resource",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Resource tags"
+ }
+ }
+ },
+ "ApiError": {
+ "properties": {
+ "error": {
+ "description": "An error returned by the API",
+ "$ref": "#/definitions/ApiErrorBase"
+ }
+ },
+ "description": "API error response"
+ },
+ "ApiErrorBase": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code"
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message"
+ }
+ },
+ "description": "Api error."
+ },
+ "OperationList": {
+ "description": "Pageable list of operations",
+ "properties": {
+ "value": {
+ "description": "List of operations",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next page if any",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Operation": {
+ "description": "A REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation being performed on this object",
+ "type": "string",
+ "readOnly": true
+ },
+ "display": {
+ "description": "Contains the localized display information for this operation",
+ "readOnly": true,
+ "properties": {
+ "provider": {
+ "description": "Localized friendly form of the resource provider name",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "Localized friendly form of the resource type related to this operation",
+ "type": "string",
+ "readOnly": true
+ },
+ "operation": {
+ "description": "Localized friendly name for the operation",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "Localized friendly description for the operation",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ }
+ },
+ "ExpressRouteAuthorization": {
+ "description": "Authorization for an ExpressRoute",
+ "properties": {
+ "name": {
+ "description": "The name of the ExpressRoute",
+ "type": "string"
+ },
+ "id": {
+ "description": "The ID of the ExpressRoute",
+ "type": "string",
+ "readOnly": true
+ },
+ "key": {
+ "description": "The key of the ExpressRoute",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Circuit": {
+ "description": "An ExpressRoute Circuit",
+ "properties": {
+ "primarySubnet": {
+ "type": "string",
+ "readOnly": true,
+ "description": "CIDR of primary subnet"
+ },
+ "secondarySubnet": {
+ "type": "string",
+ "readOnly": true,
+ "description": "CIDR of secondary subnet"
+ },
+ "expressRouteID": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Identifier of the ExpressRoute (Microsoft Colo only)"
+ },
+ "authorizations": {
+ "type": "array",
+ "description": "Authorizations for the ExpressRoute (Microsoft Colo only)",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteAuthorization"
+ }
+ },
+ "expressRoutePrivatePeeringID": {
+ "type": "string",
+ "readOnly": true,
+ "description": "ExpressRoute private peering identifier"
+ }
+ }
+ },
+ "Endpoints": {
+ "description": "Endpoint addresses",
+ "properties": {
+ "nsxtManager": {
+ "description": "Endpoint for the NSX-T Data Center manager",
+ "type": "string",
+ "readOnly": true
+ },
+ "vcsa": {
+ "description": "Endpoint for Virtual Center Server Appliance",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IdentitySource": {
+ "description": "vCenter Single Sign On Identity Source",
+ "properties": {
+ "name": {
+ "description": "The name of the identity source",
+ "type": "string"
+ },
+ "alias": {
+ "description": "The domain's NetBIOS name",
+ "type": "string"
+ },
+ "domain": {
+ "description": "The domain's dns name",
+ "type": "string"
+ },
+ "baseUserDN": {
+ "description": "The base distinguished name for users",
+ "type": "string"
+ },
+ "baseGroupDN": {
+ "description": "The base distinguished name for groups",
+ "type": "string"
+ },
+ "primaryServer": {
+ "description": "Primary server URL",
+ "type": "string"
+ },
+ "secondaryServer": {
+ "description": "Secondary server URL",
+ "type": "string"
+ },
+ "ssl": {
+ "description": "Protect LDAP communication using SSL certificate (LDAPS)",
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "SslEnum",
+ "modelAsString": true
+ }
+ },
+ "username": {
+ "description": "The ID of an Active Directory user with a minimum of read-only access to Base DN for users and group",
+ "type": "string"
+ },
+ "password": {
+ "description": "The password of the Active Directory user with a minimum of read-only access to Base DN for users and groups.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateCloud": {
+ "description": "A private cloud resource",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "sku": {
+ "description": "The private cloud SKU",
+ "$ref": "#/definitions/Sku"
+ },
+ "properties": {
+ "description": "The properties of a private cloud resource",
+ "$ref": "#/definitions/PrivateCloudProperties"
+ }
+ }
+ },
+ "PrivateCloudProperties": {
+ "description": "The properties of a private cloud resource",
+ "properties": {
+ "provisioningState": {
+ "description": "The provisioning state",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Cancelled",
+ "Pending",
+ "Building",
+ "Updating"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateCloudProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "circuit": {
+ "description": "An ExpressRoute Circuit",
+ "$ref": "#/definitions/Circuit"
+ },
+ "cluster": {
+ "description": "The default cluster used for management",
+ "$ref": "#/definitions/DefaultClusterProperties"
+ },
+ "clusters": {
+ "description": "The clusters",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "endpoints": {
+ "description": "The endpoints",
+ "readOnly": true,
+ "$ref": "#/definitions/Endpoints"
+ },
+ "internet": {
+ "description": "Connectivity to internet is enabled or disabled",
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "InternetEnum",
+ "modelAsString": true
+ }
+ },
+ "identitySources": {
+ "description": "vCenter Single Sign On Identity Sources",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IdentitySource"
+ }
+ },
+ "networkBlock": {
+ "description": "The block of addresses should be unique across VNet in your subscription as well as on-premise. Make sure the CIDR format is conformed to (A.B.C.D/X) where A,B,C,D are between 0 and 255, and X is between 0 and 22",
+ "type": "string"
+ },
+ "managementNetwork": {
+ "description": "Network used to access vCenter Server and NSX-T Manager",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningNetwork": {
+ "description": "Used for virtual machine cold migration, cloning, and snapshot migration",
+ "type": "string",
+ "readOnly": true
+ },
+ "vmotionNetwork": {
+ "description": "Used for live migration of virtual machines",
+ "type": "string",
+ "readOnly": true
+ },
+ "vcenterPassword": {
+ "description": "Optionally, set the vCenter admin password when the private cloud is created",
+ "type": "string"
+ },
+ "nsxtPassword": {
+ "description": "Optionally, set the NSX-T Manager password when the private cloud is created",
+ "type": "string"
+ },
+ "vcenterCertificateThumbprint": {
+ "description": "Thumbprint of the vCenter Server SSL certificate",
+ "type": "string",
+ "readOnly": true
+ },
+ "nsxtCertificateThumbprint": {
+ "description": "Thumbprint of the NSX-T Manager SSL certificate",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Cluster": {
+ "description": "A cluster resource",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "The properties of a cluster resource",
+ "$ref": "#/definitions/ClusterProperties"
+ }
+ }
+ },
+ "DefaultClusterProperties": {
+ "description": "The properties of a default cluster",
+ "properties": {
+ "clusterId": {
+ "description": "The identity",
+ "type": "integer",
+ "readOnly": true
+ },
+ "clusterSize": {
+ "description": "The cluster size",
+ "type": "integer"
+ },
+ "hosts": {
+ "description": "The hosts",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ClusterProperties": {
+ "description": "The properties of a cluster",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DefaultClusterProperties"
+ }
+ ],
+ "properties": {
+ "provisioningState": {
+ "description": "The state of the cluster provisioning",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Cancelled",
+ "Updating"
+ ],
+ "x-ms-enum": {
+ "name": "ClusterProvisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PrivateCloudList": {
+ "description": "A paged list of private clouds",
+ "properties": {
+ "value": {
+ "description": "The items on the page",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/PrivateCloud"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next page if any",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ClusterList": {
+ "description": "A paged list of clusters",
+ "properties": {
+ "value": {
+ "description": "The items on a page",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next page if any",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AdminCredentials": {
+ "description": "Administrative credentials for accessing vCenter and NSX-T",
+ "properties": {
+ "nsxtUsername": {
+ "description": "NSX-T Manager username",
+ "type": "string",
+ "readOnly": true
+ },
+ "nsxtPassword": {
+ "description": "NSX-T Manager password",
+ "type": "string",
+ "readOnly": true
+ },
+ "vcenterUsername": {
+ "description": "vCenter admin username",
+ "type": "string",
+ "readOnly": true
+ },
+ "vcenterPassword": {
+ "description": "vCenter admin password",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Sku": {
+ "description": "The resource model definition representing SKU",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the SKU."
+ }
+ },
+ "required": [
+ "name"
+ ]
+ }
+ }
+}
diff --git a/specification/vmware/resource-manager/readme.csharp.md b/specification/vmware/resource-manager/readme.csharp.md
new file mode 100644
index 000000000000..77d4211ccfba
--- /dev/null
+++ b/specification/vmware/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:
+ package-version: 0.3.0
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ clear-output-folder: true
+ namespace: Microsoft.Azure.Management.VMware
+ output-folder: $(csharp-sdks-folder)/VMware/Management.VMware/Generated
+```
\ No newline at end of file
diff --git a/specification/vmware/resource-manager/readme.md b/specification/vmware/resource-manager/readme.md
new file mode 100644
index 000000000000..a2a404bfe4b6
--- /dev/null
+++ b/specification/vmware/resource-manager/readme.md
@@ -0,0 +1,96 @@
+# VMware Solution
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for VMware Solution.
+
+## Getting Started
+To build the SDK for VMware Solution, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
+
+> `autorest`
+
+To see additional help and options, run:
+
+> `autorest --help`
+---
+
+## Configuration
+
+### Basic Information
+These are the global settings for the VMware Solution API.
+
+``` yaml
+openapi-type: arm
+tag: package-2019-08-09-preview
+```
+
+### Tag: package-2019-08-09-preview
+
+These settings apply only when `--tag=package-2019-08-09-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-08-09-preview'
+input-file:
+- Microsoft.AVS/preview/2019-08-09-preview/vmware.json
+directive:
+ - suppress: R3020
+ from: vmware.json
+ reason: Microsoft.AVS was chosen over Microsoft.AzureVMwareSolution
+ - suppress: R3010
+ from: vmware.json
+ reason: list by immediate parent operations are defined
+ - suppress: R2001
+ from: vmware.json
+ reason: x-ms-client-flatten will be used in next API version
+```
+
+---
+# Code Generation
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+``` yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-sdk-for-js
+ - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-net
+```
+
+## TypeScript
+
+See configuration in [readme.typescript.md](./readme.typescript.md)
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+## C#
+
+See configuration in [readme.csharp.md](./readme.csharp.md)
+
+## Multi-API/Profile support for AutoRest v3 generators
+
+AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
+
+This block is updated by an automatic script. Edits may be lost!
+
+``` yaml $(tag) == 'all-api-versions' /* autogenerated */
+# include the azure profile definitions from the standard location
+require: $(this-folder)/../../../profiles/readme.md
+
+# all the input files across all versions
+input-file:
+ - $(this-folder)/Microsoft.AVS/preview/2019-08-09-preview/vmware.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/vmware/resource-manager/readme.python.md b/specification/vmware/resource-manager/readme.python.md
new file mode 100644
index 000000000000..ab4c07555c3b
--- /dev/null
+++ b/specification/vmware/resource-manager/readme.python.md
@@ -0,0 +1,27 @@
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
+
+```yaml $(python)
+python-mode: create
+python:
+ package-version: 0.3.0
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ namespace: azure.mgmt.vmware
+ package-name: azure-mgmt-vmware
+ 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
+```
+``` 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
diff --git a/specification/vmware/resource-manager/readme.typescript.md b/specification/vmware/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..97824659f448
--- /dev/null
+++ b/specification/vmware/resource-manager/readme.typescript.md
@@ -0,0 +1,14 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+```yaml $(typescript)
+typescript:
+ package-version: 0.3.0
+ azure-arm: true
+ package-name: "@azure/arm-vmware"
+ output-folder: "$(typescript-sdks-folder)/sdk/vmware/arm-vmware"
+ payload-flattening-threshold: 1
+ generate-metadata: true
+```
\ No newline at end of file
diff --git a/specificationRepositoryConfiguration.json b/specificationRepositoryConfiguration.json
index 84b1131de2e0..7bcfe9c0e212 100644
--- a/specificationRepositoryConfiguration.json
+++ b/specificationRepositoryConfiguration.json
@@ -33,8 +33,10 @@
"mainRepository": "Azure/azure-sdk-for-ruby"
},
"azure-sdk-for-trenton": {
- "integrationRepository": "test-repo-billy/azure-sdk-for-trenton",
- "mainRepository": "Azure/azure-sdk-for-trenton"
+ "integrationRepository": "Azure/azure-sdk-for-trenton",
+ "mainRepository": "Azure/azure-sdk-for-trenton",
+ "secondaryRepository": "Azure/azure-sdk-for-trenton",
+ "secondaryBranch": "secondary"
}
}
}